diff --git a/BUILD.gn b/BUILD.gn
index 2d6f331..a7ef976 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1011,6 +1011,7 @@
       "//services/device/public/mojom:mojom_js_data_deps",
       "//services/device/public/mojom:generic_sensor_js_data_deps",
       "//skia/public/interfaces:interfaces_js_data_deps",
+      "//testing/buildbot/filters:blink_web_tests_filter",
       "//third_party/blink/public:blink_devtools_frontend_resources_files",
       "//third_party/blink/public:mojo_bindings_js_data_deps",
       "//third_party/mesa_headers",
diff --git a/DEPS b/DEPS
index 29e3750d..cb30c66 100644
--- a/DEPS
+++ b/DEPS
@@ -133,7 +133,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': '33a2e1abff72ef2a7955b2ee942286901c638544',
+  'v8_revision': 'a8603a711413b4d7228ed60e53ac5b26db32eb3c',
   # 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.
@@ -141,11 +141,11 @@
   # 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': 'cff6f150eae166d0b3aefb11dba11947a6d12a3d',
+  'angle_revision': '62e274e86c7eeedeb764ed58e14911e75b852d84',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
-  'swiftshader_revision': '652edcc30204cf9edc770a43f865f873015c5a0b',
+  'swiftshader_revision': 'ed46cde6ee671297e5b56de68307b9b8286517fd',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
@@ -168,7 +168,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling googletest
   # and whatever else without interference from each other.
-  'googletest_revision': '9f893b99598b1f0725dc8b92037f0d9f53095b90',
+  'googletest_revision': 'a53e931dcd00c2556ee181d832e699c9f3c29036',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling lighttpd
   # and whatever else without interference from each other.
@@ -196,7 +196,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling catapult
   # and whatever else without interference from each other.
-  'catapult_revision': '0c3de1750970ae5b2578a1fdd4b27703e5802236',
+  'catapult_revision': '429d9b410d9caa64ee9c1e69c1e0a0ee089f5a5b',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -212,7 +212,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'feed_revision': '7b04f569093e15ecc39b818a89101269ef8d76b5',
+  'feed_revision': 'fc251ed7fc1b6b1f86570a61f8b0b0e1970418a0',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling android_sdk_build-tools_version
   # and whatever else without interference from each other.
@@ -805,7 +805,7 @@
 
   # Build tools for Chrome OS. Note: This depends on third_party/pyelftools.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '18d98f00a12ce2e5659f8da9a401e74547376395',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '34fa2d0df828258a29a31211d1ae2285f89019b3',
       'condition': 'checkout_linux',
   },
 
@@ -830,7 +830,7 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '6d9913ab18938caf69a995c2653d92005393c4f1',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '0d8271895be710d8d04130b5dfa96c002cada6c2',
 
   'src/third_party/devtools-node-modules':
     Var('chromium_git') + '/external/github.com/ChromeDevTools/devtools-node-modules' + '@' + Var('devtools_node_modules_revision'),
@@ -1027,7 +1027,7 @@
   },
 
   'src/third_party/leveldatabase/src':
-    Var('chromium_git') + '/external/leveldb.git' + '@' + 'ffabb1ae86cc4eb4516a7c0824c878c3b2d19e5d',
+    Var('chromium_git') + '/external/leveldb.git' + '@' + '3dc9202f78a3eb30ee8c0267e4e4be2e3f986e45',
 
   'src/third_party/libFuzzer/src':
     Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' +  Var('libfuzzer_revision'),
@@ -1183,7 +1183,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' +  '5929b0ffd0d5efbbc4f7ee19c717145ba94368d5',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' +  'd63e3ca06b1e4ce812ea6a60def1b06048019655',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + 'ac0d98b5cee6c024b0cffeb4f8f45b6fc5ccdb78',
@@ -1395,7 +1395,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@643152926e8678fb4fd1d9fed31900e6b3d1c208',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@819eccad594dbf00e629489604adf4375a4f7f63',
     'condition': 'checkout_src_internal',
   },
 
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/PostMessageTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/PostMessageTest.java
index 9ba057ac..01cef896 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/PostMessageTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/PostMessageTest.java
@@ -22,7 +22,6 @@
 
 import org.chromium.android_webview.AwContents;
 import org.chromium.android_webview.test.util.CommonResources;
-import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.RetryOnFailure;
 import org.chromium.content_public.browser.MessagePort;
@@ -551,45 +550,6 @@
         }
     }
 
-    // Verify that messages from JS can be waited on a UI thread.
-    // TODO(sgurun) this test turned out to be flaky. When it fails, it always fails in IPC.
-    // When a postmessage is received, an IPC message is sent from browser to renderer
-    // to convert the postmessage from WebSerializedScriptValue to a string. The IPC is sent
-    // and seems to be received by IPC in renderer, but then nothing else seems to happen.
-    // The issue seems like blocking the UI thread causes a racing SYNC ipc from renderer
-    // to browser to block waiting for UI thread, and this would in turn block renderer
-    // doing the conversion.
-    @Test
-    @DisabledTest
-    @Feature({"AndroidWebView", "Android-PostMessage"})
-    public void testReceiveMessageInBackgroundThread() throws Throwable {
-        loadPage(TEST_PAGE);
-        final ChannelContainer channelContainer = new ChannelContainer();
-        InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
-            MessagePort[] channel = mAwContents.createMessageChannel();
-            // verify communication from JS to Java.
-            channelContainer.set(channel);
-            channel[0].setMessageCallback(
-                    (message, sentPorts) -> channelContainer.setMessage(message), null);
-            mAwContents.postMessageToFrame(
-                    null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(), new MessagePort[] {channel[1]});
-        });
-        mMessageObject.waitForMessage();
-        Assert.assertEquals(WEBVIEW_MESSAGE, mMessageObject.getData());
-        Assert.assertEquals(SOURCE_ORIGIN, mMessageObject.getOrigin());
-        // verify that one message port is received at the js side
-        Assert.assertEquals(1, mMessageObject.getPorts().length);
-        // wait until we receive a message from JS
-        InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
-            try {
-                channelContainer.waitForMessage();
-            } catch (InterruptedException e) {
-                // ignore.
-            }
-        });
-        Assert.assertEquals(JS_MESSAGE, channelContainer.getMessage());
-    }
-
     private static final String ECHO_PAGE =
             "<!DOCTYPE html><html><body>"
             + "    <script>"
diff --git a/ash/app_list/views/assistant/assistant_page_view.cc b/ash/app_list/views/assistant/assistant_page_view.cc
index 1adcb820..2ef84ac 100644
--- a/ash/app_list/views/assistant/assistant_page_view.cc
+++ b/ash/app_list/views/assistant/assistant_page_view.cc
@@ -147,16 +147,9 @@
 
 gfx::Rect AssistantPageView::GetPageBoundsForState(
     ash::AppListState state) const {
-  gfx::Rect bounds;
-  if (state != ash::AppListState::kStateEmbeddedAssistant) {
-    // Hides this view behind the search box by using the same bounds.
-    bounds = AppListPage::contents_view()->GetSearchBoxBoundsForState(state);
-  } else {
-    bounds = AppListPage::GetSearchBoxBounds();
-    bounds.Offset((bounds.width() - ash::kPreferredWidthDip) / 2, 0);
-    bounds.set_size(GetPreferredSize());
-  }
-
+  gfx::Rect bounds = AppListPage::GetSearchBoxBounds();
+  bounds.Offset((bounds.width() - ash::kPreferredWidthDip) / 2, 0);
+  bounds.set_size(GetPreferredSize());
   return AddShadowBorderToBounds(bounds);
 }
 
diff --git a/ash/strings/ash_strings_am.xtb b/ash/strings/ash_strings_am.xtb
index 3f184e8..185ba1e 100644
--- a/ash/strings/ash_strings_am.xtb
+++ b/ash/strings/ash_strings_am.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">ብሉቱዝን አብራ ወይም አጥፋ። <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">በዚህ ክፍለ-ጊዜ ውስጥ ያለው ሁሉንም እንቅስቃሴዎን ይድረሱ</translation>
 <translation id="1608626060424371292">ይህን ተጠቃሚ አስወግድ</translation>
-<translation id="1621499497873603021">ባትሪ ባዶ እስኪሆን ድረስ የቀረው ጊዜ፣ <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">የድምጽ መጠይቅ ይጀምሩ</translation>
 <translation id="1658406695958299976">ይቅርታ፣ የይለፍ ቃልዎ አሁንም ሊረጋገጥ አልቻለም። ማሳሰቢያ፦ የይለፍ ቃልዎን በቅርብ ጊዜ ቀይረው ከሆነ አዲስ የይለፍ ቃልዎ የሚተገበረው ሲወጡ ነው፣ እባክዎ የድሮውን ይለፍ ቃል እዚህ ይጠቀሙ።</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> ቀርቷል</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">የተተከለ ማጉያ ነቅቷል። እንደገና እንዲጠፋ አድርጎ ለመቀያየር Ctrl+ፍለጋ+D ይጫኑ።</translation>
 <translation id="3000461861112256445">ሞኖ ኦዲዮ</translation>
 <translation id="3009178788565917040">ውጽዓት</translation>
-<translation id="3019353588588144572">ባትሪ ሙሉ ኃይል እስኪኖረው ድረስ የሚቀረው ጊዜ፣ <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">የእርስዎ ክትትል የሚደረግበት የተጠቃሚ መገለጫ በቅርቡ ይወገዳል። ተጨማሪ ለማወቅ በመለያ ይግቡ።</translation>
 <translation id="3055162170959710888">ይህን መሣሪያ ዛሬ ለ<ph name="USED_TIME" /> ተጠቅመውበታል</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">ምንም ተንቀሳቃሽ መሣሪያዎች አልተገኙም።</translation>
 <translation id="6723839937902243910">ኃይል</translation>
 <translation id="6751826523481687655">የአፈጻጸም ክትትል በርቷል</translation>
-<translation id="6785414152754474415">ባትሪው <ph name="PERCENTAGE" />% ሙሉ ሆኖ በተጨማሪም ኃይል እየሞላ ነው።</translation>
 <translation id="6790428901817661496">አጫውት</translation>
 <translation id="6803622936009808957">ምንም የሚደገፉ ጥራቶች ስላልተገኙ ማሳያዎችን ማሳየት አልተቻለም። ይልቁንስ ወደ የተስፋፋ ዴስክቶፕ ሁነታ ተገብቷል።</translation>
 <translation id="6820676911989879663">እረፍት ይውሰዱ!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">ይህ ባህሪ የይለፍ ቃል ሳያስፈልገዎት ማንኛውም ወደ መለያ የገባ ተጠቃሚን በፍጥነት እንዲደርሱ ያስችልዎታል። ይህን ባህሪ በሚያምኗቸው መለያዎች ላይ ብቻ ይጠቀሙበት።</translation>
 <translation id="9193626018745640770">በማይታወቅ ተቀባይ ላይ Cast በማድረግ ላይ</translation>
 <translation id="9194617393863864469">ሌላ ተጠቃሚ በመለያ አስገባ...</translation>
-<translation id="9201131092683066720">ባትሪው <ph name="PERCENTAGE" />% ሙሉ ነው።</translation>
 <translation id="9210037371811586452">ከተዋሃደ የዴስክቶፕ ሁነታ በመውጣት ላይ</translation>
 <translation id="9215934040295798075">ልጣፍ ያዘጋጁ</translation>
 <translation id="921989828232331238">የእርስዎ ወላጅ ለቀኑ መሣሪያውን ቆልፈውታል</translation>
diff --git a/ash/strings/ash_strings_ar.xtb b/ash/strings/ash_strings_ar.xtb
index 924d237..8be7269 100644
--- a/ash/strings/ash_strings_ar.xtb
+++ b/ash/strings/ash_strings_ar.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">تبديل البلوتوث. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">الوصول إلى جميع أنشطتك في جلسة واحدة</translation>
 <translation id="1608626060424371292">إزالة هذا المستخدم</translation>
-<translation id="1621499497873603021">الوقت المتبقي حتى تصبح البطارية فارغة <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">بدء طلب بحث صوتي</translation>
 <translation id="1658406695958299976">عذرًا، لا يمكن التحقق من كلمة المرور حتى الآن. ملاحظة: في حال تغيير كلمة المرور مؤخرًا، سيتم تطبيق كلمة المرور الجديدة بعد تسجيل الخروج، يُرجى استخدام كلمة المرور القديمة هنا.</translation>
 <translation id="1677472565718498478">الوقت المتبقي <ph name="TIME" /></translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">جارٍ البحث عن أجهزة...</translation>
 <translation id="2268130516524549846">تم إيقاف البلوتوث</translation>
 <translation id="2268813581635650749">خروج من كل الحسابات</translation>
+<translation id="2277103315734023688">الانتقال للأمام</translation>
 <translation id="2292698582925480719">مقياس العرض</translation>
 <translation id="2302092602801625023">‏تتم إدارة هذا الحساب من خلال Family Link</translation>
 <translation id="2303600792989757991">نظرة عامة لنافذة التبديل</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">‏تم تفعيل المكبّر. يمكنك إيقافه بالضغط على Ctrl+Search+D مرة أخرى.</translation>
 <translation id="3000461861112256445">صوت أحادي</translation>
 <translation id="3009178788565917040">الإخراج</translation>
-<translation id="3019353588588144572">الوقت المتبقي حتى يتم شحن البطارية بالكامل <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">ستتم إزالة الملف الشخصي للمستخدم تحت الإشراف قريبًا. يمكنك تسجيل الدخول  للتعرُّف على مزيد من المعلومات.</translation>
 <translation id="3055162170959710888">استخدمت هذا الجهاز لمدة <ph name="USED_TIME" /> اليوم</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">‏جهاز USB-C (المنفذ الأمامي الأيمن)</translation>
 <translation id="3400357268283240774">إعدادات إضافية</translation>
 <translation id="3413817803639110246">ليس لديك شيء للمشاهدة حتى الآن</translation>
+<translation id="343571671045587506">تعديل التذكير</translation>
 <translation id="3445925074670675829">‏جهاز USB-C</translation>
 <translation id="3454224730401036106">تم تبديل الاتصال إلى شبكة أكثر أمانًا.</translation>
 <translation id="3465223694362104965">تم ربط لوحة مفاتيح أخرى بهذا الجهاز منذ آخر مرة سجَّلت الدخول فيها. يُرجى التأكُّد من أن لوحة المفاتيح هذه موثوقة قبل استخدامها.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">ستنتهي جلستك في غضون <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">جارٍ الاتصال بـ <ph name="NAME" /></translation>
 <translation id="394485226368336402">إعدادات الصوت</translation>
+<translation id="3962859241508114581">المقطع الصوتي السابق</translation>
 <translation id="397105322502079400">جارٍ الحساب...</translation>
 <translation id="3995138139523574647">‏جهاز USB-C (المنفذ الخلفي الأيمن)</translation>
 <translation id="4017989525502048489">مؤشر الليزر</translation>
 <translation id="4042660782729322247">أنت تشارك الشاشة</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{الإشعارات متوقفة لتطبيق واحد}zero{الإشعارات متوقفة لـ # تطبيق}two{الإشعارات متوقفة لتطبيقَين (#)}few{الإشعارات متوقفة لـ # تطبيقات}many{الإشعارات متوقفة لـ # تطبيقًا}other{الإشعارات متوقفة لـ # تطبيق}}</translation>
 <translation id="4072264167173457037">إشارة متوسطة</translation>
+<translation id="4112140312785995938">التمرير للخلف</translation>
 <translation id="4129129681837227511">للاطِّلاع على الإشعارات على شاشة التأمين، يمكنك فتح القفل لتغيير الإعداد</translation>
 <translation id="4146833061457621061">تشغيل الموسيقى</translation>
 <translation id="4181841719683918333">اللغات</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">مشاركة التحكم في شاشتك مع <ph name="HELPER_NAME" /> عن طريق المساعدة عن بُعد.</translation>
 <translation id="4430019312045809116">مستوى الصوت</translation>
 <translation id="4450893287417543264">عدم الإظهار مرة أخرى</translation>
+<translation id="4477350412780666475">المقطع الصوتي التالي</translation>
 <translation id="4479639480957787382">إيثرنت</translation>
 <translation id="4481530544597605423">الأجهزة التي تم إلغاء إقرانها</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: جارٍ الاتصال...</translation>
@@ -365,7 +368,6 @@
 <translation id="6715542151869432661">لم يتم العثور على أي أجهزة جوّال.</translation>
 <translation id="6723839937902243910">الطاقة</translation>
 <translation id="6751826523481687655">تتبّع الأداء قيْد التفعيل</translation>
-<translation id="6785414152754474415">اكتمل شحن <ph name="PERCENTAGE" />% من البطارية ويجري شحنها.</translation>
 <translation id="6790428901817661496">التشغيل</translation>
 <translation id="6803622936009808957">تعذر إجراء النسخ المطابق للعروض نظرًا لعدم العثور على درجات دقة متوافقة. تم الدخول إلى سطح المكتب الممتد بدلاً من ذلك.</translation>
 <translation id="6820676911989879663">حان وقت الاستراحة</translation>
@@ -393,6 +395,7 @@
 <translation id="7222902781030499995">إيقاف الموقّت</translation>
 <translation id="7256634071279256947">الميكروفون الخلفي</translation>
 <translation id="726276584504105859">السحب هنا لاستخدام وضع تقسيم الشاشة</translation>
+<translation id="7262906531272962081">إنشاء تذكير</translation>
 <translation id="7303365578352795231">جارٍ الرد على جهاز آخر.</translation>
 <translation id="7305884605064981971">‏شبكة EDGE</translation>
 <translation id="7348093485538360975">لوحة المفاتيح على الشاشة</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">تسمح لك هذه الميزة بالوصول بسرعة إلى أي مستخدم سجّل دخوله بدون طلب كلمة مرور. لا تستخدم هذه الميزة إلا مع الحسابات التي تثق بها.</translation>
 <translation id="9193626018745640770">إرسال إلى مستلم غير معروف</translation>
 <translation id="9194617393863864469">تسجيل دخول مستخدم آخر...</translation>
-<translation id="9201131092683066720">اكتمل شحن <ph name="PERCENTAGE" />% من البطارية.</translation>
 <translation id="9210037371811586452">جارٍ الخروج من وضع سطح المكتب الموحد</translation>
 <translation id="9215934040295798075">تعيين خلفية</translation>
 <translation id="921989828232331238">قفّل أحد الوالدين جهازك لليوم</translation>
diff --git a/ash/strings/ash_strings_bg.xtb b/ash/strings/ash_strings_bg.xtb
index fe882e5..65755f8 100644
--- a/ash/strings/ash_strings_bg.xtb
+++ b/ash/strings/ash_strings_bg.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Превключване на Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">да осъществява достъп до цялата ви активност в тази сесия;</translation>
 <translation id="1608626060424371292">Премахване на този потребител</translation>
-<translation id="1621499497873603021">Оставащо време до изразходването на батерията: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Стартиране на гласова заявка</translation>
 <translation id="1658406695958299976">За съжаление, паролата ви пак не можа да бъде потвърдена. Забележка: Ако наскоро сте я променили, новата ще влезе в сила, след като излезете от профила си. Моля, използвайте старата парола тук.</translation>
 <translation id="1677472565718498478">Оставащо време: <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Лупата в прикрепен режим е активирана. За да я изключите, натиснете отново Ctrl + клавиш „Търсене“ + D.</translation>
 <translation id="3000461861112256445">Монозвук</translation>
 <translation id="3009178788565917040">Изход</translation>
-<translation id="3019353588588144572">Оставащо време до пълното зареждане на батерията: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Профилът ви на контролиран потребител скоро ще бъде премахнат. Влезте в профила си, за да научите повече.</translation>
 <translation id="3055162170959710888">Днес използвахте това устройство <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">Няма намерени мобилни устройства.</translation>
 <translation id="6723839937902243910">Захранване</translation>
 <translation id="6751826523481687655">Проследяването на ефективността е включено</translation>
-<translation id="6785414152754474415">Батерията е <ph name="PERCENTAGE" />% пълна и се зарежда.</translation>
 <translation id="6790428901817661496">Пускане</translation>
 <translation id="6803622936009808957">Дисплеите не можаха да се дублират, тъй като не бяха намерени поддържани разделителни способности. Вместо това влязохте в режима за разширен работен плот.</translation>
 <translation id="6820676911989879663">Време е за почивка!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">С тази функция получавате бърз достъп без парола до всеки влязъл потребител. Използвайте я само с надеждни профили.</translation>
 <translation id="9193626018745640770">Предава се към неизвестен приемник</translation>
 <translation id="9194617393863864469">Влизане в профила на друг потребител...</translation>
-<translation id="9201131092683066720">Батерията е <ph name="PERCENTAGE" />% пълна.</translation>
 <translation id="9210037371811586452">Излиза се от режима на обединен работен плот</translation>
 <translation id="9215934040295798075">Задаване на тапета</translation>
 <translation id="921989828232331238">Родителят ви заключи устройството ви за деня</translation>
diff --git a/ash/strings/ash_strings_bn.xtb b/ash/strings/ash_strings_bn.xtb
index 9631110..872b13de 100644
--- a/ash/strings/ash_strings_bn.xtb
+++ b/ash/strings/ash_strings_bn.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">ব্লুটুথ টগল করুন। <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">এই সেশনে আপনার সব অ্যাক্টিভিটি অ্যাক্সেস করুন</translation>
 <translation id="1608626060424371292">এই ব্যবহারকারীকে সরান</translation>
-<translation id="1621499497873603021">ব্যাটারি শেষ হতে <ph name="TIME_LEFT" /> সময় বাকি আছে</translation>
 <translation id="1654477262762802994">ভয়েস কোয়েরি শুরু করুন</translation>
 <translation id="1658406695958299976">দুঃখিত, আপনার পাসওয়ার্ড এখনও পর্যন্ত যাচাই করা যায়নি। দ্রষ্টব্য: আপনি যদি সম্প্রতি আপনার পাসওয়ার্ড পরিবর্তন করে থাকেন, তাহলে আপনি সাইন-আউট করার পর আপনার নতুন পাসওয়ার্ড প্রয়োগ করা হবে, অনুগ্রহ করে এখানে পুরানো পাসওয়ার্ড ব্যবহার করুন।</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> বাকি আছে</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">ডিভাইসগুলির জন্য স্ক্যান করা হচ্ছে...</translation>
 <translation id="2268130516524549846">ব্লুটুথ অক্ষমিত</translation>
 <translation id="2268813581635650749">সবগুলি প্রস্থান করুন</translation>
+<translation id="2277103315734023688">এগিয়ে যান</translation>
 <translation id="2292698582925480719">স্কেল প্রদর্শন করুন</translation>
 <translation id="2302092602801625023">এই অ্যাকাউন্টটি Family Link দ্বারা ম্যানেজ করা</translation>
 <translation id="2303600792989757991">উইন্ডোর ওভারভিউ টগল করুন</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">ডক করা ম্যাগনিফায়ার চালু আছে। আবার Ctrl+Search+D প্রেস করে সেটিকে বন্ধ করুন।</translation>
 <translation id="3000461861112256445">মোনো অডিও</translation>
 <translation id="3009178788565917040">আউটপুট</translation>
-<translation id="3019353588588144572">ব্যাটারি পরিপূর্ণ চার্জ হতে, <ph name="TIME_REMAINING" /> সময় বাকি আছে</translation>
 <translation id="3051128274746680507">আপনার তত্ত্বাবধানে থাকা ব্যবহারকারীর প্রোফাইল শীঘ্রই সরিয়ে দেওয়া হবে। আরও জানতে সাইন-ইন করুন।</translation>
 <translation id="3055162170959710888">এই ডিভাইসটি আজ আপনি <ph name="USED_TIME" /> ব্যবহার করেছেন</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">USB-C ডিভাইস (ডান দিকের সামনের পোর্ট)</translation>
 <translation id="3400357268283240774">আরও সেটিংস</translation>
 <translation id="3413817803639110246">এখনও পর্যন্ত কিছু দেখার নেই</translation>
+<translation id="343571671045587506">রিমাইন্ডার এডিট করুন</translation>
 <translation id="3445925074670675829">USB-C ডিভাইস</translation>
 <translation id="3454224730401036106">আপনার নেটওয়ার্ক সংযোগটি আরও সুরক্ষিত নেটওয়ার্কে পরিবর্তিত হয়েছে</translation>
 <translation id="3465223694362104965">আপনি শেষবার সাইন-ইন করার পরে আরেকটি কীবোর্ড এই ডিভাইসে কানেক্ট করা হয়েছে। এটি ব্যবহার করার আগে কীবোর্ডটিকে আপনি নিরাপদ বলে মনে করেন কিনা তা দেখে নিন।</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">আপনার সেশনটি <ph name="SESSION_TIME_REMAINING" /> এ শেষ হবে</translation>
 <translation id="3901991538546252627"><ph name="NAME" />-এ সংযোগ করা হচ্ছে</translation>
 <translation id="394485226368336402">অডিও সেটিংস</translation>
+<translation id="3962859241508114581">আগের ট্র্যাক চালান</translation>
 <translation id="397105322502079400">গণনা করা হচ্ছে...</translation>
 <translation id="3995138139523574647">USB-C ডিভাইস (ডান দিকের পিছনের পোর্ট)</translation>
 <translation id="4017989525502048489">লেজার পয়েন্টার</translation>
 <translation id="4042660782729322247">আপনার স্ক্রিন শেয়ার করছেন</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{একটি অ্যাপের জন্য বন্ধ আছে}one{#টি অ্যাপের জন্য বন্ধ আছে}other{#টি অ্যাপের জন্য বন্ধ আছে}}</translation>
 <translation id="4072264167173457037">মাঝারি সিগন্যাল</translation>
+<translation id="4112140312785995938">পিছিয়ে যান</translation>
 <translation id="4129129681837227511">আপনার লক স্ক্রিনে বিজ্ঞপ্তি দেখার জন্য সেটিংস পরিবর্তন করতে আনলক করুন</translation>
 <translation id="4146833061457621061">মিউজিক চালান</translation>
 <translation id="4181841719683918333">ভাষাসমূহ</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">রিমোট সহায়কের মাধ্যমে <ph name="HELPER_NAME" />-এর সাথে আপনার স্ক্রিন নিয়ন্ত্রন ভাগ করুন৷</translation>
 <translation id="4430019312045809116">ভলিউম</translation>
 <translation id="4450893287417543264">আর দেখতে চাই না</translation>
+<translation id="4477350412780666475">পরের ট্র্যাক চালান</translation>
 <translation id="4479639480957787382">ইথারনেট</translation>
 <translation id="4481530544597605423">বিযুক্ত করা ডিভাইসগুলি</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: সংযুক্ত হচ্ছে...</translation>
@@ -365,7 +368,6 @@
 <translation id="6715542151869432661">কোনও মোবাইল ডিভাইস খুঁজে পাওয়া যায়নি।</translation>
 <translation id="6723839937902243910">পাওয়ার</translation>
 <translation id="6751826523481687655">পারফরম্যান্স ট্রেস করার বিকল্প চালু আছে</translation>
-<translation id="6785414152754474415">ব্যাটারি <ph name="PERCENTAGE" />% পূর্ণ এবং চার্জ হচ্ছে৷</translation>
 <translation id="6790428901817661496">চালু করুন</translation>
 <translation id="6803622936009808957">সমর্থিত রেসুলিউশানগুলি খুঁজে না পাওয়ায় প্রদর্শনগুলি মিরর মানে প্রতিবিম্বিত করতে পারেনি। এর পরিবর্তে প্রসারিত ডেস্কটপে প্রবেশ করেছে।</translation>
 <translation id="6820676911989879663">বিরতি নিন!</translation>
@@ -393,6 +395,7 @@
 <translation id="7222902781030499995">টাইমার বন্ধ করুন</translation>
 <translation id="7256634071279256947">পেছনের মাইক্রোফোন</translation>
 <translation id="726276584504105859">বিভক্ত স্ক্রিন ব্যবহার করতে এখানে টেনে আনুন</translation>
+<translation id="7262906531272962081">রিমাইন্ডার তৈরি করুন</translation>
 <translation id="7303365578352795231">অন্য ডিভাইসে উত্তর দেওয়া হচ্ছে।</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">অন-স্ক্রীণ কীবোর্ড</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">এই বৈশিষ্ট্যের মাধ্যমে আপনি কোনও পাসওয়ার্ড ছাড়াই সাইন-ইন করা যেকোনও ব্যবহারকারীকে দ্রুত অ্যাক্সেস করতে পারেন। এটি শুধুমাত্র বিশ্বস্ত অ্যাকাউন্টেই ব্যবহার করুন।</translation>
 <translation id="9193626018745640770">অজানা ডিভাইসে কাস্ট করা হচ্ছে</translation>
 <translation id="9194617393863864469">অন্য ব্যবহারকারীকে প্রবেশ করান...</translation>
-<translation id="9201131092683066720">ব্যাটারি <ph name="PERCENTAGE" />% পূর্ণ৷</translation>
 <translation id="9210037371811586452">সমন্বিত ডেস্কটপ মোড থেকে প্রস্থান করছে</translation>
 <translation id="9215934040295798075">ওয়ালপেপার সেট করুন</translation>
 <translation id="921989828232331238">আপনার অভিভাবক এই ডিভাইসটি আজকের জন্য লক করে দিয়েছেন</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb
index 232be278..c728dda 100644
--- a/ash/strings/ash_strings_ca.xtb
+++ b/ash/strings/ash_strings_ca.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Activa o desactiva el Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Accedir a tota la teva activitat d'aquesta sessió.</translation>
 <translation id="1608626060424371292">Suprimeix aquest usuari</translation>
-<translation id="1621499497873603021">Temps que queda fins que no s'esgoti la bateria: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Inicia una consulta per veu</translation>
 <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>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">La lupa acoblada està activada. Torna a prémer Ctrl+Cerca+D per desactivar-la.</translation>
 <translation id="3000461861112256445">Àudio mono</translation>
 <translation id="3009178788565917040">Sortida</translation>
-<translation id="3019353588588144572">Temps restant fins que la bateria no estigui totalment carregada: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">El perfil del teu usuari supervisat se suprimirà aviat. Inicia la sessió per obtenir més informació.</translation>
 <translation id="3055162170959710888">Avui has fet servir aquest dispositiu durant <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">maj</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">No s'ha trobat cap dispositiu mòbil.</translation>
 <translation id="6723839937902243910">Bateria</translation>
 <translation id="6751826523481687655">La traça del rendiment està activada</translation>
-<translation id="6785414152754474415">La bateria està carregada fins al <ph name="PERCENTAGE" />% i s'està carregant.</translation>
 <translation id="6790428901817661496">Reprodueix</translation>
 <translation id="6803622936009808957">No s'ha pogut fer la rèplica de les pantalles, perquè no s'ha trobat cap resolució compatible. S'està entrant al mode d'escriptori ampliat.</translation>
 <translation id="6820676911989879663">Fes una pausa</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">Aquesta funció et permet accedir ràpidament als usuaris que han iniciat la sessió sense haver d'introduir la contrasenya. Utilitza aquesta funció només amb comptes de confiança.</translation>
 <translation id="9193626018745640770">S'està emetent contingut en un receptor desconegut</translation>
 <translation id="9194617393863864469">Inicia la sessió amb un altre usuari...</translation>
-<translation id="9201131092683066720">La bateria està carregada fins al <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">S'està sortint del mode d'escriptori unificat</translation>
 <translation id="9215934040295798075">Estableix fons de pantalla</translation>
 <translation id="921989828232331238">El teu pare o la teva mare han bloquejat el dispositiu per a tot el dia</translation>
diff --git a/ash/strings/ash_strings_cs.xtb b/ash/strings/ash_strings_cs.xtb
index 5ca50e08..da9edabe 100644
--- a/ash/strings/ash_strings_cs.xtb
+++ b/ash/strings/ash_strings_cs.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Přepnout Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Získat přístup k veškeré vaší aktivitě v této relaci</translation>
 <translation id="1608626060424371292">Odebrat tohoto uživatele</translation>
-<translation id="1621499497873603021">Čas zbývající do vybití baterie: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Zahájit hlasový dotaz</translation>
 <translation id="1658406695958299976">Je nám líto, vaše heslo se stále nedaří ověřit. Poznámka: Pokud jste heslo nedávno změnili, bude nové heslo možné použít až po odhlášení. Zde použijte staré heslo.</translation>
 <translation id="1677472565718498478">zbývající čas: <ph name="TIME" /></translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Vyhledávání zařízení…</translation>
 <translation id="2268130516524549846">Rozhraní Bluetooth deaktivováno</translation>
 <translation id="2268813581635650749">Odhlásit vše</translation>
+<translation id="2277103315734023688">Přetočit dopředu</translation>
 <translation id="2292698582925480719">Měřítko displeje</translation>
 <translation id="2302092602801625023">Tento účet spravuje služba Family Link</translation>
 <translation id="2303600792989757991">Přepnutí přehledu okna</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Zadokovaná lupa je zapnutá. Vypnete ji opětovným stisknutím kombinace kláves Ctrl+Hledat+D.</translation>
 <translation id="3000461861112256445">Zvuk mono</translation>
 <translation id="3009178788565917040">Výstup</translation>
-<translation id="3019353588588144572">Čas zbývající do úplného nabití baterie: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Váš dozorovaný uživatelský profil bude brzy odstraněn. Chcete-li se dozvědět více, přihlaste se.</translation>
 <translation id="3055162170959710888">Toto zařízení jsi dnes používal(a) <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">Zařízení USB Type-C (pravý přední port)</translation>
 <translation id="3400357268283240774">Další nastavení</translation>
 <translation id="3413817803639110246">Zatím tu není nic k vidění</translation>
+<translation id="343571671045587506">Upravit připomenutí</translation>
 <translation id="3445925074670675829">Zařízení USB Type-C</translation>
 <translation id="3454224730401036106">Vaše připojení se přepnulo na bezpečnější síť</translation>
 <translation id="3465223694362104965">K tomuto zařízení je připojena jiná klávesnice než při vašem posledním přihlášení. Před použitím této klávesnice se ujistěte, že jí můžete důvěřovat.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Relace skončí za <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Připojování k síti <ph name="NAME" /></translation>
 <translation id="394485226368336402">Nastavení zvuku</translation>
+<translation id="3962859241508114581">Předchozí skladba</translation>
 <translation id="397105322502079400">Probíhá výpočet…</translation>
 <translation id="3995138139523574647">Zařízení USB Type-C (pravý zadní port)</translation>
 <translation id="4017989525502048489">Laserové ukazovátko</translation>
 <translation id="4042660782729322247">Sdílíte svou obrazovku</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Vypnuto pro aplikaci}few{Vypnuto pro # aplikace}many{Vypnuto pro # aplikace}other{Vypnuto pro # aplikací}}</translation>
 <translation id="4072264167173457037">Střední signál</translation>
+<translation id="4112140312785995938">Přetočit dozadu</translation>
 <translation id="4129129681837227511">Chcete-li zobrazovat oznámení na obrazovce uzamčení, odemkněte zařízení a změňte příslušné nastavení.</translation>
 <translation id="4146833061457621061">Přehrát hudbu</translation>
 <translation id="4181841719683918333">Jazyky</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">Ovládání obrazovky je prostřednictvím Vzdálené pomoci sdíleno s uživatelem <ph name="HELPER_NAME" />.</translation>
 <translation id="4430019312045809116">Hlasitost</translation>
 <translation id="4450893287417543264">Tuto zprávu již nezobrazovat</translation>
+<translation id="4477350412780666475">Další skladba</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Nespárovaná zařízení</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: Připojování...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">Nebyla nalezena žádná mobilní zařízení.</translation>
 <translation id="6723839937902243910">Napájení</translation>
 <translation id="6751826523481687655">Trasování výkonu je zapnuté</translation>
-<translation id="6785414152754474415">Baterie je nabita na <ph name="PERCENTAGE" /> % a nabíjí se.</translation>
 <translation id="6790428901817661496">Přehrát</translation>
 <translation id="6803622936009808957">Zobrazení nelze zrcadlit, protože nebyla nalezena podporovaná rozlišení. Místo toho se spustil režim rozšířené pracovní plochy.</translation>
 <translation id="6820676911989879663">Dejte si pauzu.</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">Zastavit časovač</translation>
 <translation id="7256634071279256947">Zadní mikrofon</translation>
 <translation id="726276584504105859">Chcete-li použít rozdělenou obrazovku, přetáhněte okno sem</translation>
+<translation id="7262906531272962081">Vytvořit připomenutí</translation>
 <translation id="7303365578352795231">Odpověď dostanete v jiném zařízení.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Softwarová klávesnice</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">Tato funkce umožňuje rychle získat přístup ke kterémukoliv přihlášenému uživateli, aniž by bylo potřeba zadávat heslo. Tuto funkci používejte pouze s účty, kterým důvěřujete.</translation>
 <translation id="9193626018745640770">Odesílání do neznámého přijímače</translation>
 <translation id="9194617393863864469">Přihlásit dalšího uživatele...</translation>
-<translation id="9201131092683066720">Baterie je nabita na <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Ukončování režimu jednotné plochy</translation>
 <translation id="9215934040295798075">Nastavit tapetu</translation>
 <translation id="921989828232331238">Rodič zařízení na celý den uzamkl</translation>
diff --git a/ash/strings/ash_strings_da.xtb b/ash/strings/ash_strings_da.xtb
index 5f80fd8..075fc3c 100644
--- a/ash/strings/ash_strings_da.xtb
+++ b/ash/strings/ash_strings_da.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Slå Bluetooth til eller fra. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Få adgang til al din aktivitet i denne session</translation>
 <translation id="1608626060424371292">Fjern denne bruger</translation>
-<translation id="1621499497873603021">Tid tilbage, indtil batteriet er tomt, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Start en stemmeforespørgsel</translation>
 <translation id="1658406695958299976">Din adgangskode kunne stadig ikke bekræftes. Bemærk! Hvis du har ændret din adgangskode for nylig, anvendes din nye adgangskode først, når du har logget ud. Du skal bruge den gamle adgangskode her.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> tilbage</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Søger efter enheder...</translation>
 <translation id="2268130516524549846">Bluetooth er deaktiveret</translation>
 <translation id="2268813581635650749">Log alle ud</translation>
+<translation id="2277103315734023688">Spol frem</translation>
 <translation id="2292698582925480719">Visningsskala</translation>
 <translation id="2302092602801625023">Denne konto administreres af Family Link</translation>
 <translation id="2303600792989757991">Skift vinduesoversigt</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Fastgjort lupvindue er aktiveret. Tryk på Ctrl+Søg+D igen for at deaktivere tilstanden.</translation>
 <translation id="3000461861112256445">Monolyd</translation>
 <translation id="3009178788565917040">Output</translation>
-<translation id="3019353588588144572">Resterende tid, indtil batteriet er fuldt opladet, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Din administrerede brugerprofil fjernes snart. Log ind for at få flere oplysninger.</translation>
 <translation id="3055162170959710888">Du har brugt denne enhed i <ph name="USED_TIME" /> i dag</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">USB-C-enhed (porten foran i højre side)</translation>
 <translation id="3400357268283240774">Yderligere indstillinger</translation>
 <translation id="3413817803639110246">Der er intet at se endnu</translation>
+<translation id="343571671045587506">Rediger påmindelse</translation>
 <translation id="3445925074670675829">USB-C-enhed</translation>
 <translation id="3454224730401036106">Din forbindelse er skiftet til et mere sikkert netværk</translation>
 <translation id="3465223694362104965">Et andet tastatur er blevet tilsluttet denne enhed, siden du sidst loggede ind. Tjek, at du har tillid til dette tastatur, før du bruger det.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Din session slutter om <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Opretter forbindelse til <ph name="NAME" /></translation>
 <translation id="394485226368336402">Lydindstillinger</translation>
+<translation id="3962859241508114581">Forrige nummer</translation>
 <translation id="397105322502079400">Beregner...</translation>
 <translation id="3995138139523574647">USB-C-enhed (porten bagpå i højre side)</translation>
 <translation id="4017989525502048489">Laserpegepind</translation>
 <translation id="4042660782729322247">Du deler din skærm</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Deaktiveret for én app}one{Deaktiveret for # app}other{Deaktiveret for # apps}}</translation>
 <translation id="4072264167173457037">Middel signal</translation>
+<translation id="4112140312785995938">Spol tilbage</translation>
 <translation id="4129129681837227511">Du kan se notifikationer på din låseskærm ved at låse skærmen op og ændre indstillingen</translation>
 <translation id="4146833061457621061">Spil musik</translation>
 <translation id="4181841719683918333">Sprog</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">Skærmdeling med <ph name="HELPER_NAME" /> via Fjernsupport.</translation>
 <translation id="4430019312045809116">Lydstyrke</translation>
 <translation id="4450893287417543264">Vis ikke igen</translation>
+<translation id="4477350412780666475">Næste nummer</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Ikke-parrede enheder</translation>
 <translation id="4508225577814909926"><ph name="NAME" /> : Opretter forbindelse...</translation>
@@ -365,7 +368,6 @@
 <translation id="6715542151869432661">Der blev ikke fundet nogen mobilenheder.</translation>
 <translation id="6723839937902243910">Strøm</translation>
 <translation id="6751826523481687655">Sporing af effektivitet er slået til</translation>
-<translation id="6785414152754474415">Batteriet er <ph name="PERCENTAGE" /> % opladet og oplades nu.</translation>
 <translation id="6790428901817661496">Afspil</translation>
 <translation id="6803622936009808957">Skærmene kunne ikke spejles, da der ikke fandtes en understøttet opløsning. I stedet anvendes Udvidet skrivebord.</translation>
 <translation id="6820676911989879663">Hold en pause</translation>
@@ -393,6 +395,7 @@
 <translation id="7222902781030499995">Stop timeren</translation>
 <translation id="7256634071279256947">Mikrofon på bagsiden</translation>
 <translation id="726276584504105859">Træk hertil for at bruge opdelt skærm</translation>
+<translation id="7262906531272962081">Opret påmindelse</translation>
 <translation id="7303365578352795231">Besvares på en anden enhed</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Skærmtastatur</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">Denne funktion giver dig hurtig adgang til alle brugere, der er logget ind, uden at du behøver at angive en adgangskode. Brug kun denne funktion til konti, du har tillid til.</translation>
 <translation id="9193626018745640770">Caster på en ukendt modtager</translation>
 <translation id="9194617393863864469">Log ind med en anden bruger...</translation>
-<translation id="9201131092683066720">Batteriet er <ph name="PERCENTAGE" /> % opladet.</translation>
 <translation id="9210037371811586452">Lukker tilstanden Kombineret skrivebord</translation>
 <translation id="9215934040295798075">Vælg baggrund</translation>
 <translation id="921989828232331238">Din forælder har låst din enhed resten af dagen</translation>
diff --git a/ash/strings/ash_strings_de.xtb b/ash/strings/ash_strings_de.xtb
index 231e31e..a19217c 100644
--- a/ash/strings/ash_strings_de.xtb
+++ b/ash/strings/ash_strings_de.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Bluetooth aktivieren/deaktivieren. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Auf alle Ihre Aktivitäten in dieser Sitzung zugreifen</translation>
 <translation id="1608626060424371292">Diesen Nutzer entfernen</translation>
-<translation id="1621499497873603021">Verbleibende Akku-Laufzeit: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Gesprochene Anfrage starten</translation>
 <translation id="1658406695958299976">Ihr Passwort konnte immer noch nicht bestätigt werden. Hinweis: Falls Sie Ihr Passwort kürzlich geändert haben, wird Ihr neues Passwort übernommen, sobald Sie sich abmelden. Bitte verwenden Sie hier das alte Passwort.</translation>
 <translation id="1677472565718498478">Verbleibende Zeit: <ph name="TIME" /> h</translation>
@@ -139,7 +138,6 @@
 <translation id="2996462380875591307">Angedockte Lupe aktiviert. Drücken Sie Strg + Suchtaste + D, um sie zu deaktivieren.</translation>
 <translation id="3000461861112256445">Mono-Audio</translation>
 <translation id="3009178788565917040">Ausgang</translation>
-<translation id="3019353588588144572">Verbleibende Zeit, bis der Akku vollständig geladen ist: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Ihr Profil für betreute Nutzer wird bald entfernt. Melden Sie sich an, um mehr zu erfahren.</translation>
 <translation id="3055162170959710888">Du hast das Gerät heute <ph name="USED_TIME" /> verwendet</translation>
 <translation id="3077734595579995578">Umschalttaste</translation>
@@ -369,7 +367,6 @@
 <translation id="6715542151869432661">Keine Mobilgeräte gefunden.</translation>
 <translation id="6723839937902243910">Akkuleistung</translation>
 <translation id="6751826523481687655">Leistungsverfolgung ist aktiviert</translation>
-<translation id="6785414152754474415">Akku ist zu <ph name="PERCENTAGE" /> % geladen und wird geladen.</translation>
 <translation id="6790428901817661496">Wiedergabe</translation>
 <translation id="6803622936009808957">Der Bildschirm konnte nicht gespiegelt werden, da die Auflösung nicht unterstützt wird. Stattdessen wurde der Modus für den erweiterten Desktop gestartet.</translation>
 <translation id="6820676911989879663">Zeit für eine Pause.</translation>
@@ -525,7 +522,6 @@
 <translation id="9179259655489829027">Dank dieser Funktion können Sie schnell auf alle angemeldeten Nutzerkonten zugreifen, ohne ein Passwort eingeben zu müssen. Verwenden Sie diese Funktion nur bei Konten, denen Sie vertrauen.</translation>
 <translation id="9193626018745640770">Streaming an unbekannten Empfänger</translation>
 <translation id="9194617393863864469">Anderen Nutzer anmelden...</translation>
-<translation id="9201131092683066720">Akku ist zu <ph name="PERCENTAGE" /> % geladen.</translation>
 <translation id="9210037371811586452">Unified Desktop-Modus wird beendet</translation>
 <translation id="9215934040295798075">Hintergrund festlegen</translation>
 <translation id="921989828232331238">Deine Eltern haben dein Gerät für heute gesperrt</translation>
diff --git a/ash/strings/ash_strings_el.xtb b/ash/strings/ash_strings_el.xtb
index 22406bf..c54f26d 100644
--- a/ash/strings/ash_strings_el.xtb
+++ b/ash/strings/ash_strings_el.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Εναλλαγή Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Αποκτήσει πρόσβαση σε όλη τη δραστηριότητά σας από αυτήν την περίοδο λειτουργίας</translation>
 <translation id="1608626060424371292">Κατάργηση αυτού του χρήστη</translation>
-<translation id="1621499497873603021">Χρόνος που απομένει μέχρι να αδειάσει η μπαταρία, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Έναρξη φωνητικού ερωτήματος</translation>
 <translation id="1658406695958299976">Λυπούμαστε, η επαλήθευση του κωδικού πρόσβασης εξακολουθεί να μην είναι δυνατή. Σημείωση: Εάν έχετε αλλάξει πρόσφατα τον κωδικό πρόσβασης, ο νέος κωδικός πρόσβασης θα τεθεί σε ισχύ αφού αποσυνδεθείτε. Χρησιμοποιήστε εδώ τον παλιό κωδικό πρόσβασης.</translation>
 <translation id="1677472565718498478">Απομένουν <ph name="TIME" /></translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Σάρωση για συσκευές…</translation>
 <translation id="2268130516524549846">Το Bluetooth έχει απενεργοποιηθεί</translation>
 <translation id="2268813581635650749">Αποσύνδεση όλων</translation>
+<translation id="2277103315734023688">Αναζήτηση προς τα εμπρός</translation>
 <translation id="2292698582925480719">Κλίμακα προβολής</translation>
 <translation id="2302092602801625023">Αυτός ο λογαριασμός είναι διαχειριζόμενος από το Family Link</translation>
 <translation id="2303600792989757991">Επισκόπηση εναλλαγής παραθύρων</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Ο Μεγεθυντικός φακός σε παράθυρο ενεργοποιήθηκε. Πατήστε Ctrl+Αναζήτηση+D ξανά για να τον απενεργοποιήσετε.</translation>
 <translation id="3000461861112256445">Μονοφωνικός ήχος</translation>
 <translation id="3009178788565917040">Έξοδος</translation>
-<translation id="3019353588588144572">Χρόνος που απομένει μέχρι να φορτιστεί πλήρως η μπαταρία, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Το προφίλ εποπτευόμενου χρήστη θα καταργηθεί σύντομα. Συνδεθείτε για να μάθετε περισσότερα.</translation>
 <translation id="3055162170959710888">Χρησιμοποιήσατε αυτήν τη συσκευή για <ph name="USED_TIME" /> σήμερα</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">Συσκευή USB-C (δεξιά μπροστινή θύρα)</translation>
 <translation id="3400357268283240774">Πρόσθετες ρυθμίσεις</translation>
 <translation id="3413817803639110246">Δεν υπάρχει ακόμη περιεχόμενο για εμφάνιση</translation>
+<translation id="343571671045587506">Επεξεργασία υπενθύμισης</translation>
 <translation id="3445925074670675829">Συσκευή USB-C</translation>
 <translation id="3454224730401036106">Έγινε εναλλαγή της σύνδεσής σας σε ένα πιο ασφαλές δίκτυο</translation>
 <translation id="3465223694362104965">Ένα άλλο πληκτρολόγιο έχει συνδεθεί με αυτήν τη συσκευή από την τελευταία σύνδεσή σας. Βεβαιωθείτε ότι εμπιστεύεστε αυτό το πληκτρολόγιο πριν το χρησιμοποιήσετε.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Η περίοδος λειτουργίας θα λήξει σε <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Σύνδεση με <ph name="NAME" /></translation>
 <translation id="394485226368336402">Ρυθμίσεις ήχου</translation>
+<translation id="3962859241508114581">Προηγούμενο κομμάτι</translation>
 <translation id="397105322502079400">Υπολογισμός…</translation>
 <translation id="3995138139523574647">Συσκευή USB-C (πίσω δεξιά θύρα)</translation>
 <translation id="4017989525502048489">Δείκτης λέιζερ</translation>
 <translation id="4042660782729322247">Μοιράζεστε την οθόνη σας</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Απενεργοποιημένες για κάποια εφαρμογή}other{Απενεργοποιημένες για # εφαρμογές}}</translation>
 <translation id="4072264167173457037">Μεσαίο σήμα</translation>
+<translation id="4112140312785995938">Αναζήτηση προς τα πίσω</translation>
 <translation id="4129129681837227511">Για να βλέπετε ειδοποιήσεις στην οθόνη κλειδώματος, ξεκλειδώστε τη συσκευή για να αλλάξετε τη ρύθμιση</translation>
 <translation id="4146833061457621061">Αναπαραγωγή μουσικής</translation>
 <translation id="4181841719683918333">Γλώσσες</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">Κοινόχρηστος έλεγχος της οθόνης σας με το χρήστη <ph name="HELPER_NAME" /> μέσω της απομακρυσμένης βοήθειας.</translation>
 <translation id="4430019312045809116">Ένταση</translation>
 <translation id="4450893287417543264">Να μην εμφανιστεί ξανά</translation>
+<translation id="4477350412780666475">Επόμενο κομμάτι</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Συσκευές στις οποίες διακόπηκε η σύζευξη</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: Σύνδεση…</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">Δεν βρέθηκαν κινητές συσκευές.</translation>
 <translation id="6723839937902243910">Ενεργοποίηση</translation>
 <translation id="6751826523481687655">Η παρακολούθηση απόδοσης έχει ενεργοποιηθεί</translation>
-<translation id="6785414152754474415">Η μπαταρία είναι πλήρης <ph name="PERCENTAGE" />% και φορτίζει.</translation>
 <translation id="6790428901817661496">Αναπαραγωγή</translation>
 <translation id="6803622936009808957">Δεν ήταν δυνατός ο αντικατοπτρισμός των οθονών καθώς δεν βρέθηκαν υποστηριζόμενες αναλύσεις. Έχει ενεργοποιηθεί εναλλακτικά η εκτεταμένη επιφάνεια εργασίας.</translation>
 <translation id="6820676911989879663">Κάντε ένα διάλειμμα!</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">Διακοπή χρονομέτρου</translation>
 <translation id="7256634071279256947">Πίσω μικρόφωνο</translation>
 <translation id="726276584504105859">Σύρετε εδώ για να χρησιμοποιήσετε τον διαχωρισμό οθόνης</translation>
+<translation id="7262906531272962081">Δημιουργία υπενθύμισης</translation>
 <translation id="7303365578352795231">Απάντηση σε άλλη συσκευή.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Πληκτρολόγιο οθόνης</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">Αυτή η λειτουργία σάς επιτρέπει να έχετε γρήγορη πρόσβαση σε οποιονδήποτε συνδεδεμένο χρήστη, χωρίς να απαιτείται κωδικός πρόσβασης. Χρησιμοποιήστε αυτήν τη λειτουργία μόνο με λογαριασμούς που εμπιστεύεστε.</translation>
 <translation id="9193626018745640770">Μετάδοση σε άγνωστο δέκτη</translation>
 <translation id="9194617393863864469">Σύνδεση με άλλον χρήστη...</translation>
-<translation id="9201131092683066720">Η μπαταρία είναι πλήρης <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Έξοδος από λειτουργία ενοποιημένης επιφάνειας εργασίας</translation>
 <translation id="9215934040295798075">Ορισμός ταπετσαρίας</translation>
 <translation id="921989828232331238">Ο γονέας σας κλείδωσε τη συσκευή σας για σήμερα</translation>
diff --git a/ash/strings/ash_strings_en-GB.xtb b/ash/strings/ash_strings_en-GB.xtb
index 350e910..bddf7df8 100644
--- a/ash/strings/ash_strings_en-GB.xtb
+++ b/ash/strings/ash_strings_en-GB.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Toggle Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Access all your activity in this session</translation>
 <translation id="1608626060424371292">Remove this user</translation>
-<translation id="1621499497873603021">Time left until battery is empty, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Start a voice query</translation>
 <translation id="1658406695958299976">Sorry, your password still couldn't be verified. Note: If you changed your password recently, your new password will be applied once you sign out. Please use the old password here.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> left</translation>
@@ -139,7 +138,6 @@
 <translation id="2996462380875591307">Docked Magnifier enabled. Press Ctrl+Search+D again to toggle it off.</translation>
 <translation id="3000461861112256445">Mono audio</translation>
 <translation id="3009178788565917040">Output</translation>
-<translation id="3019353588588144572">Time remaining until battery is fully charged, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Your supervised user profile will be removed soon. Sign in to find out more.</translation>
 <translation id="3055162170959710888">You used this device for <ph name="USED_TIME" /> today</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -369,7 +367,6 @@
 <translation id="6715542151869432661">No mobile devices found.</translation>
 <translation id="6723839937902243910">Power</translation>
 <translation id="6751826523481687655">Performance tracing is turned on</translation>
-<translation id="6785414152754474415">Battery is <ph name="PERCENTAGE" />% full and charging.</translation>
 <translation id="6790428901817661496">Play</translation>
 <translation id="6803622936009808957">Could not mirror displays since no supported resolutions found. Entered extended desktop instead.</translation>
 <translation id="6820676911989879663">Take a break!</translation>
@@ -525,7 +522,6 @@
 <translation id="9179259655489829027">This feature allows you to quickly access any signed-in user without requiring a password. Only use this feature with accounts that you trust.</translation>
 <translation id="9193626018745640770">Casting on an unknown receiver</translation>
 <translation id="9194617393863864469">Sign in another user...</translation>
-<translation id="9201131092683066720">Battery is <ph name="PERCENTAGE" />% full.</translation>
 <translation id="9210037371811586452">Exiting unified desktop mode</translation>
 <translation id="9215934040295798075">Set wallpaper</translation>
 <translation id="921989828232331238">Your parent locked your device for the day</translation>
diff --git a/ash/strings/ash_strings_es-419.xtb b/ash/strings/ash_strings_es-419.xtb
index 7ab797a3..d4d4156 100644
--- a/ash/strings/ash_strings_es-419.xtb
+++ b/ash/strings/ash_strings_es-419.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Activar o desactivar Bluetooth: <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Accede a toda tu actividad en esta sesión</translation>
 <translation id="1608626060424371292">Eliminar este usuario</translation>
-<translation id="1621499497873603021">Tiempo restante hasta que se agote la batería: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Iniciar una búsqueda por voz</translation>
 <translation id="1658406695958299976">Todavía no se pudo verificar tu contraseña. Ten en cuenta que, si cambiaste tu contraseña recientemente, podrás usar la nueva cuando salgas. Aquí deberás usar la contraseña anterior.</translation>
 <translation id="1677472565718498478">Tiempo restante <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Se habilitó la lupa con vista acoplada. Presiona Ctrl+Buscar+D de nuevo para desactivarla.</translation>
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Salida</translation>
-<translation id="3019353588588144572">Tiempo restante hasta que la batería esté completamente cargada: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Pronto se quitará el perfil de tu usuario supervisado. Accede para obtener más información.</translation>
 <translation id="3055162170959710888">Hoy usaste este dispositivo durante <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">No se encontraron dispositivos móviles.</translation>
 <translation id="6723839937902243910">Alimentación</translation>
 <translation id="6751826523481687655">Se activó el registro del rendimiento</translation>
-<translation id="6785414152754474415">La batería tiene un <ph name="PERCENTAGE" /> % de carga y se está cargando.</translation>
 <translation id="6790428901817661496">Reproducir</translation>
 <translation id="6803622936009808957">No se pudieron reflejar las pantallas porque no se encontraron resoluciones compatibles. En su lugar, se activó el escritorio extendido.</translation>
 <translation id="6820676911989879663">Toma un descanso</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">Esta función te permite alternar de forma rápida entre los usuarios que hayan accedido a su cuenta, sin necesidad de escribir la contraseña. Usa esta función solo con cuentas de confianza.</translation>
 <translation id="9193626018745640770">Transmitiendo en un receptor desconocido</translation>
 <translation id="9194617393863864469">Acceder con otro usuario…</translation>
-<translation id="9201131092683066720">La batería tiene un <ph name="PERCENTAGE" /> % de carga.</translation>
 <translation id="9210037371811586452">Saliendo del modo de escritorio unificado</translation>
 <translation id="9215934040295798075">Establecer fondo de pantalla</translation>
 <translation id="921989828232331238">Tus padres bloquearon el dispositivo por el día</translation>
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb
index 7c21be8..f04353a 100644
--- a/ash/strings/ash_strings_es.xtb
+++ b/ash/strings/ash_strings_es.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Activa o desactiva el Bluetooth. <ph name="STATE_TEXT" />.</translation>
 <translation id="1589090746204042747">Acceder a toda tu actividad de esta sesión</translation>
 <translation id="1608626060424371292">Eliminar este usuario</translation>
-<translation id="1621499497873603021">Tiempo restante hasta que se agote la batería: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Iniciar una consulta por voz</translation>
 <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>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Se ha habilitado la lupa fijada. Pulsa Ctrl + tecla de búsqueda + D de nuevo para desactivarla.</translation>
 <translation id="3000461861112256445">Audio en mono</translation>
 <translation id="3009178788565917040">Salida</translation>
-<translation id="3019353588588144572">Tiempo restante hasta que se cargue la batería por completo: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Tu perfil de usuario supervisado se eliminará pronto. Inicia sesión para obtener más información.</translation>
 <translation id="3055162170959710888">Hoy has utilizado este dispositivo durante <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">mayús</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">No se han encontrado dispositivos móviles.</translation>
 <translation id="6723839937902243910">Batería</translation>
 <translation id="6751826523481687655">El control del rendimiento está activado</translation>
-<translation id="6785414152754474415">La batería se está cargando y está al <ph name="PERCENTAGE" />%.</translation>
 <translation id="6790428901817661496">Reproducir</translation>
 <translation id="6803622936009808957">No se han podido duplicar las pantallas porque no se han encontrado resoluciones compatibles. Se ha utilizado el modo de escritorio ampliado en su lugar.</translation>
 <translation id="6820676911989879663">Haz una pausa</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">Esta función te permite acceder rápidamente a cualquier usuario que haya iniciado sesión sin tener que introducir una contraseña. Solo debes usar esta función con las cuentas de confianza.</translation>
 <translation id="9193626018745640770">Se está enviando contenido a un receptor desconocido</translation>
 <translation id="9194617393863864469">Iniciar sesión de otro usuario...</translation>
-<translation id="9201131092683066720">La batería está al <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Saliendo del modo de escritorio unificado</translation>
 <translation id="9215934040295798075">Establecer fondo de pantalla</translation>
 <translation id="921989828232331238">Tu padre, madre o tutor han bloqueado tu dispositivo todo el día</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb
index 42db42a..3d78d11 100644
--- a/ash/strings/ash_strings_et.xtb
+++ b/ash/strings/ash_strings_et.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Lülitab Bluetoothi sisse või välja. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Juurdepääs kõigile teie tegevustele selle seansi ajal</translation>
 <translation id="1608626060424371292">Eemalda see kasutaja</translation>
-<translation id="1621499497873603021">Aku tühjenemiseni on aega <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Häälpäringu alustamine</translation>
 <translation id="1658406695958299976">Kahjuks ei saanud teie parooli kinnitada. Märkus: kui muutsite parooli hiljuti, rakendub uus parool pärast väljalogimist. Kasutage siin vana parooli.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> tühjenemiseni</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Seadmete skannimine ...</translation>
 <translation id="2268130516524549846">Bluetooth on keelatud</translation>
 <translation id="2268813581635650749">Logi kõik kasutajad välja</translation>
+<translation id="2277103315734023688">Keri edasi</translation>
 <translation id="2292698582925480719">Ekraani skaala</translation>
 <translation id="2302092602801625023">Kontot haldab Family Link</translation>
 <translation id="2303600792989757991">Akna ülevaate sisse- ja väljalülitamine</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Dokitud luup on lubatud. Vajutage selle väljalülitamiseks klahvikombinatsiooni Ctrl + otsinguklahv + D.</translation>
 <translation id="3000461861112256445">Monoheli</translation>
 <translation id="3009178788565917040">Väljund</translation>
-<translation id="3019353588588144572">Aku täitumiseni on aega <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Teie jälgitava kasutaja profiil eemaldatakse peagi. Lisateabe saamiseks logige sisse.</translation>
 <translation id="3055162170959710888">Kasutasite seda seadet täna <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">tõstuklahv</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">C-tüüpi USB-seade (eesmine parempoolne port)</translation>
 <translation id="3400357268283240774">Lisaseaded</translation>
 <translation id="3413817803639110246">Veel ei ole midagi kuvada</translation>
+<translation id="343571671045587506">Meeldetuletuse muutmine</translation>
 <translation id="3445925074670675829">C-tüüpi USB-seade</translation>
 <translation id="3454224730401036106">Teie ühendus on lülitatud turvalisemale võrgule</translation>
 <translation id="3465223694362104965">Pärast teie viimast sisselogimist lõi muu klaviatuur seadmega ühenduse. Enne klaviatuuri kasutamist veenduge, et see oleks usaldusväärne.</translation>
@@ -199,12 +199,14 @@
 <translation id="3900355044994618856">Teie seanss lõpeb <ph name="SESSION_TIME_REMAINING" /> pärast</translation>
 <translation id="3901991538546252627">Võrguga <ph name="NAME" /> ühenduse loomine</translation>
 <translation id="394485226368336402">Heliseaded</translation>
+<translation id="3962859241508114581">Eelmine lugu</translation>
 <translation id="397105322502079400">Arvutamine ...</translation>
 <translation id="3995138139523574647">C-tüüpi USB-seade (tagumine parempoolne port)</translation>
 <translation id="4017989525502048489">Laserkursor</translation>
 <translation id="4042660782729322247">Jagate oma ekraanikuva</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Rakenduse puhul välja lülitatud}other{# rakenduse puhul välja lülitatud}}</translation>
 <translation id="4072264167173457037">Keskmine signaal</translation>
+<translation id="4112140312785995938">Keri tagasi</translation>
 <translation id="4129129681837227511">Lukustuskuval märguannete nägemiseks avage ekraan ja muutke seadet</translation>
 <translation id="4146833061457621061">Esita muusikat</translation>
 <translation id="4181841719683918333">Keeled</translation>
@@ -228,6 +230,7 @@
 <translation id="4421231901400348175">Ekraani juhtimise jagamine isikuga <ph name="HELPER_NAME" /> kaugabi kaudu.</translation>
 <translation id="4430019312045809116">Helitugevus</translation>
 <translation id="4450893287417543264">Ära kuva uuesti</translation>
+<translation id="4477350412780666475">Järgmine lugu</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Sidumata seadmed</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: ühendamine ...</translation>
@@ -365,7 +368,6 @@
 <translation id="6715542151869432661">Mobiilseadmeid ei leitud.</translation>
 <translation id="6723839937902243910">Toide</translation>
 <translation id="6751826523481687655">Toimivuse jälgimine on sisse lülitatud</translation>
-<translation id="6785414152754474415">Aku on <ph name="PERCENTAGE" />% täis ja seda laetakse.</translation>
 <translation id="6790428901817661496">Esita</translation>
 <translation id="6803622936009808957">Ei saanud kuvasid peegeldada, kuna toetatud eraldusvõimeid ei leitud. Selle asemel siseneti laiendatud töölaua režiimi.</translation>
 <translation id="6820676911989879663">Tehke paus!</translation>
@@ -393,6 +395,7 @@
 <translation id="7222902781030499995">Peata taimer</translation>
 <translation id="7256634071279256947">Tagumine mikrofon</translation>
 <translation id="726276584504105859">Jagatud ekraani kasutamiseks lohistage siia</translation>
+<translation id="7262906531272962081">Loo meeldetuletus</translation>
 <translation id="7303365578352795231">Vastamine muus seadmes.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Ekraanil kuvatav klaviatuur</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">See funktsioon võimaldab teil parooli sisestamata pääseda kiirelt juurde kõigile sisselogitud kasutajatele. Kasutage seda funktsiooni vaid kontode puhul, mida usaldate.</translation>
 <translation id="9193626018745640770">Ülekandmine tundmatus vastuvõtjas</translation>
 <translation id="9194617393863864469">Logi sisse teine kasutaja ...</translation>
-<translation id="9201131092683066720">Aku on <ph name="PERCENTAGE" />% täis.</translation>
 <translation id="9210037371811586452">Ühendatud töölaua režiimist väljumine</translation>
 <translation id="9215934040295798075">Taustapildi määramine</translation>
 <translation id="921989828232331238">Vanem lukustas sinu seadme päevaks</translation>
diff --git a/ash/strings/ash_strings_fa.xtb b/ash/strings/ash_strings_fa.xtb
index 7a7edd4f3..cbc1b75 100644
--- a/ash/strings/ash_strings_fa.xtb
+++ b/ash/strings/ash_strings_fa.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">روشن/خاموش کردن بلوتوث. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">به همه فعالیت‌هایتان در این جلسه دسترسی پیدا کنید</translation>
 <translation id="1608626060424371292">حذف این کاربر</translation>
-<translation id="1621499497873603021">زمان باقیمانده تا خالی‌شدن شارژ باتری، <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">شروع پُرسمان صوتی</translation>
 <translation id="1658406695958299976">متأسفیم، گذرواژه‌تان هنوز تأیید نشده است. توجه: اگر به‌تازگی گذرواژه‌تان را تغییر داده‌اید، گذرواژه جدید شما هنگامی‌که از سیستم خارج شوید، اعمال می‌شود؛ لطفاً اینجا از گذرواژه قدیمی خود استفاده کنید.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> باقی‌مانده</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">درحال جستجو برای دستگاه‌ها...</translation>
 <translation id="2268130516524549846">بلوتوث غیرفعال است</translation>
 <translation id="2268813581635650749">خروج همه از سیستم</translation>
+<translation id="2277103315734023688">رفتن به جلو</translation>
 <translation id="2292698582925480719">مقیاس نمایش</translation>
 <translation id="2302092602801625023">‏این حساب با Family Link مدیریت می‌شود</translation>
 <translation id="2303600792989757991">مروری کلی بر پنجره تغییر حالت</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">‏«ذره‌بین متصل» فعال شد. برای خاموش کردن آن، Ctrl+Search+D را دوباره فشار دهید.</translation>
 <translation id="3000461861112256445">صدای مونو</translation>
 <translation id="3009178788565917040">خروجی</translation>
-<translation id="3019353588588144572">زمان باقی مانده تا شارژ کامل باتری، <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">نمایه کاربر تحت‌نظارت به‌زودی برداشته می‌شود. برای اطلاعات بیشتر به سیستم وارد شوید.</translation>
 <translation id="3055162170959710888">امروز از این دستگاه به‌مدت <ph name="USED_TIME" /> استفاده کردید</translation>
 <translation id="3077734595579995578">تبدیل</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">‏دستگاه USB-C (درگاه جلوی سمت راست)</translation>
 <translation id="3400357268283240774">تنظیمات بیشتر</translation>
 <translation id="3413817803639110246">هنوز چیزی برای دیدن وجود ندارد</translation>
+<translation id="343571671045587506">ویرایش یادآوری</translation>
 <translation id="3445925074670675829">‏دستگاه USB-C</translation>
 <translation id="3454224730401036106">اتصال شما به شبکه‌ ایمن‌تری منتقل شده است</translation>
 <translation id="3465223694362104965">از آخرین باری که به سیستم وارد شدید، صفحه‌کلید دیگری به این دستگاه متصل شده است. قبل از استفاده از این صفحه‌کلید، مطمئن شوید به آن اعتماد دارید.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">جلسه‌تان <ph name="SESSION_TIME_REMAINING" /> دیگر به پایان می‌رسد</translation>
 <translation id="3901991538546252627">در حال اتصال به <ph name="NAME" /></translation>
 <translation id="394485226368336402">تنظیمات صوتی</translation>
+<translation id="3962859241508114581">آهنگ قبلی</translation>
 <translation id="397105322502079400">در حال محاسبه…</translation>
 <translation id="3995138139523574647">‏دستگاه USB-C (درگاه عقب سمت راست)</translation>
 <translation id="4017989525502048489">اشاره‌گر لیزری</translation>
 <translation id="4042660782729322247">درحال اشتراک‌گذاری صفحه‌تان هستید</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{خاموش برای یک برنامه}one{خاموش برای # برنامه}other{خاموش برای # برنامه}}</translation>
 <translation id="4072264167173457037">سیگنال متوسط</translation>
+<translation id="4112140312785995938">رفتن به عقب</translation>
 <translation id="4129129681837227511">برای دیدن اعلان‌ها در صفحه قفل، ابتدا قفل را باز کنید و تنظیمات را تغییر دهید</translation>
 <translation id="4146833061457621061">‏Play music (موسیقی پخش کن)</translation>
 <translation id="4181841719683918333">زبان‌ها</translation>
@@ -228,6 +230,7 @@
 <translation id="4421231901400348175">هم‌رسانی کنترل صفحه‌تان با <ph name="HELPER_NAME" /> از طریق راهنمایی ازراه‌دور.</translation>
 <translation id="4430019312045809116">میزان صدا</translation>
 <translation id="4450893287417543264">دیگر نشان داده نشود</translation>
+<translation id="4477350412780666475">آهنگ بعدی</translation>
 <translation id="4479639480957787382">اترنت</translation>
 <translation id="4481530544597605423">دستگاه‌های لغو ارتباط‌شده</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: در حال اتصال...</translation>
@@ -365,7 +368,6 @@
 <translation id="6715542151869432661">هیچ دستگاه همراهی پیدا نشد.</translation>
 <translation id="6723839937902243910">نیرو</translation>
 <translation id="6751826523481687655">ردیابی عملکرد روشن است</translation>
-<translation id="6785414152754474415">باتری <ph name="PERCENTAGE" /> درصد پر و درحال شارژ است.</translation>
 <translation id="6790428901817661496">پخش</translation>
 <translation id="6803622936009808957">نمایش یک تصویر واحد در چند صفحه نمایش ممکن نیست زیرا وضوح تصویر پشتیبانی شده‌ای وجود ندارد. بجای آن حالت نمایش دسک‌تاپ چند بخشی استفاده می‌شود.</translation>
 <translation id="6820676911989879663">استراحت کنید!</translation>
@@ -393,6 +395,7 @@
 <translation id="7222902781030499995">توقف تایمر</translation>
 <translation id="7256634071279256947">میکروفون پشت</translation>
 <translation id="726276584504105859">برای استفاده از تقسیم صفحه، به اینجا بکشید</translation>
+<translation id="7262906531272962081">ایجاد یادآوری</translation>
 <translation id="7303365578352795231">درحال پاسخ دادن در دستگاه دیگر.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">صفحه‌کلید روی صفحه</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">این ویژگی امکان می‌دهد بدون نیاز به گذرواژه، به هر کاربری که به سیستم واردشده به‌سرعت دسترسی داشته باشید. تنها برای حساب‌های مورد اعتمادتان از این ویژگی استفاده کنید.</translation>
 <translation id="9193626018745640770">درحال ارسال محتوا به گیرنده ناشناس</translation>
 <translation id="9194617393863864469">ورود به سیستم حسابی دیگر...</translation>
-<translation id="9201131092683066720">باتری <ph name="PERCENTAGE" /> درصد پر است.</translation>
 <translation id="9210037371811586452">خروج از حالت میزکار یکپارچه</translation>
 <translation id="9215934040295798075">تنظیم کاغذدیواری</translation>
 <translation id="921989828232331238">پدر یا مادرتان دستگاهتان را برای تمام روز قفل کرده‌ است</translation>
diff --git a/ash/strings/ash_strings_fi.xtb b/ash/strings/ash_strings_fi.xtb
index 3e54128..1134e90 100644
--- a/ash/strings/ash_strings_fi.xtb
+++ b/ash/strings/ash_strings_fi.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Ota Bluetooth käyttöön tai poista se käytöstä. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">nähdä kaikki tämän käyttökerran toimintosi</translation>
 <translation id="1608626060424371292">Poista tämä käyttäjä</translation>
-<translation id="1621499497873603021">Akku on tyhjä <ph name="TIME_LEFT" /> kuluttua</translation>
 <translation id="1654477262762802994">Aloita puhekysely</translation>
 <translation id="1658406695958299976">Salasanan vahvistaminen ei onnistunut vieläkään. Huom. Jos vaihdoit salasanasi äskettäin, uusi salasana otetaan käyttöön kirjauduttuasi ulos. Käytä tässä vanhaa salasanaasi.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> jäljellä</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Kiinnitetty suurennus on käytössä. Poista se käytöstä painamalla uudelleen Ctrl + haku + D.</translation>
 <translation id="3000461861112256445">Monoääni</translation>
 <translation id="3009178788565917040">Äänentoisto</translation>
-<translation id="3019353588588144572">Akku on ladattu <ph name="TIME_REMAINING" /> kuluttua</translation>
 <translation id="3051128274746680507">Valvottu käyttäjäprofiilisi poistetaan pian. Kirjaudu sisään nähdäksesi lisätietoja.</translation>
 <translation id="3055162170959710888">Olet käyttänyt tätä laitetta tänään <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -367,7 +365,6 @@
 <translation id="6715542151869432661">Mobiililaitteita ei löytynyt.</translation>
 <translation id="6723839937902243910">Virta</translation>
 <translation id="6751826523481687655">Tehokkuuden seuranta on käytössä</translation>
-<translation id="6785414152754474415">Akussa on virtaa <ph name="PERCENTAGE" /> %, ja laite on kytketty laturiin.</translation>
 <translation id="6790428901817661496">Toista</translation>
 <translation id="6803622936009808957">Näyttöjen peilaaminen ei onnistunut, sillä tuettua resoluutiota ei löytynyt. Sen sijaan valittiin työpöydän laajennus.</translation>
 <translation id="6820676911989879663">Pidä tauko</translation>
@@ -522,7 +519,6 @@
 <translation id="9179259655489829027">Tämän ominaisuuden avulla kaikkia kirjautuneita käyttäjätilejä voi käyttää ilman salasanaa. Käytä tätä ominaisuutta vain luotettavien tilien kanssa.</translation>
 <translation id="9193626018745640770">Suoratoistetaan tuntemattomaan vastaanottimeen</translation>
 <translation id="9194617393863864469">Kirjaa sisään toinen käyttäjä…</translation>
-<translation id="9201131092683066720">Akussa on virtaa <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Poistutaan yhtenäisen työpöydän tilasta</translation>
 <translation id="9215934040295798075">Aseta taustakuva</translation>
 <translation id="921989828232331238">Vanhempasi lukitsi laitteen loppupäivän ajaksi</translation>
diff --git a/ash/strings/ash_strings_fil.xtb b/ash/strings/ash_strings_fil.xtb
index 21172807..a5987177 100644
--- a/ash/strings/ash_strings_fil.xtb
+++ b/ash/strings/ash_strings_fil.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">I-toggle ang Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">I-access ang lahat ng iyong aktibidad sa session na ito</translation>
 <translation id="1608626060424371292">Alisin ang user na ito</translation>
-<translation id="1621499497873603021">Natitirang oras bago maubos ang baterya, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Magsimula ng query gamit ang boses</translation>
 <translation id="1658406695958299976">Paumanhin, hindi pa rin ma-verify ang iyong password. Tandaan: kung pinalitan mo kamakailan ang iyong password, malalapat ang bago mong password kapag nag-sign out ka, pakigamit ang lumang password dito.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> na lang ang natitira</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Na-enable ang Naka-dock na Magnifier. Pinduting muli ang Ctrl+Search+D para i-off ito.</translation>
 <translation id="3000461861112256445">Mono audio</translation>
 <translation id="3009178788565917040">Output</translation>
-<translation id="3019353588588144572">Natitirang oras bago ganap na ma-charge ang baterya, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Malapit nang alisin ang iyong profile ng pinangangasiwaang user. Mag-sign in para matuto pa.</translation>
 <translation id="3055162170959710888">Ginamit mo ang device na ito nang <ph name="USED_TIME" /> ngayong araw</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">Walang nahanap na mobile device.</translation>
 <translation id="6723839937902243910">Power</translation>
 <translation id="6751826523481687655">Naka-on ang pag-trace ng performance</translation>
-<translation id="6785414152754474415">Ang baterya ay <ph name="PERCENTAGE" />% na puno at nagcha-charge.</translation>
 <translation id="6790428901817661496">I-play</translation>
 <translation id="6803622936009808957">Hindi ma-mirror ang mga display dahil walang mga sinusuportahang resolusyon na nakita. Pumasok na lang sa pinalawak na desktop.</translation>
 <translation id="6820676911989879663">Magpahinga!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">Nagbibigay-daan sa iyo ang feature na ito para mabilis na ma-access ang anumang na-sign in na user nang hindi nangangailangan ng password. Gamitin lang ang feature na ito sa mga account na iyong pinagkakatiwalaan.</translation>
 <translation id="9193626018745640770">Nagka-cast sa isang hindi pa natutukoy na tagatanggap</translation>
 <translation id="9194617393863864469">Mag-sign in ng isa pang user...</translation>
-<translation id="9201131092683066720">Ang baterya ay <ph name="PERCENTAGE" />% na puno.</translation>
 <translation id="9210037371811586452">Lumalabas sa unified desktop mode</translation>
 <translation id="9215934040295798075">Magtakda ng wallpaper</translation>
 <translation id="921989828232331238">Ni-lock ng iyong magulang ang device mo para sa araw na ito</translation>
diff --git a/ash/strings/ash_strings_fr.xtb b/ash/strings/ash_strings_fr.xtb
index 13f07d68..2eb7c51 100644
--- a/ash/strings/ash_strings_fr.xtb
+++ b/ash/strings/ash_strings_fr.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Activer/Désactiver le Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Accéder à toutes vos activités dans cette session</translation>
 <translation id="1608626060424371292">Supprimer cet utilisateur</translation>
-<translation id="1621499497873603021">Temps restant avant que la batterie ne soit vide : <ph name="TIME_LEFT" />.</translation>
 <translation id="1654477262762802994">Soumettre une requête vocale</translation>
 <translation id="1658406695958299976">Impossible de valider le mot de passe. Remarque : si vous l'avez modifié dernièrement, votre nouveau mot de passe ne sera appliqué qu'une fois que vous vous serez déconnecté. Veuillez donc utiliser votre ancien mot de passe.</translation>
 <translation id="1677472565718498478">Temps restant : <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Le mode Loupe ancrée est activé. Appuyez de nouveau sur Ctrl+Recherche+D pour le désactiver.</translation>
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Sortie</translation>
-<translation id="3019353588588144572">Temps restant avant chargement complet de la batterie : <ph name="TIME_REMAINING" />.</translation>
 <translation id="3051128274746680507">Votre profil d'utilisateur supervisé sera bientôt supprimé. Connectez-vous pour en savoir plus.</translation>
 <translation id="3055162170959710888">Vous avez utilisé l'appareil pendant <ph name="USED_TIME" /> aujourd'hui</translation>
 <translation id="3077734595579995578">maj</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">Aucun appareil mobile détecté.</translation>
 <translation id="6723839937902243910">Alimentation</translation>
 <translation id="6751826523481687655">Le suivi des performances est activé</translation>
-<translation id="6785414152754474415">La batterie est chargée à <ph name="PERCENTAGE" /> % et en charge.</translation>
 <translation id="6790428901817661496">Lire</translation>
 <translation id="6803622936009808957">Impossible de dupliquer les écrans, car aucune résolution compatible n'a été détectée. Le bureau étendu a été activé à la place.</translation>
 <translation id="6820676911989879663">Faites une pause !</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">Cette fonctionnalité vous permet d'accéder rapidement à tout compte connecté sans avoir à indiquer le mot de passe. N'utilisez cette fonctionnalité que pour les comptes auxquels vous pouvez faire confiance.</translation>
 <translation id="9193626018745640770">Destinataire de la diffusion inconnu</translation>
 <translation id="9194617393863864469">Se connecter avec un autre compte utilisateur…</translation>
-<translation id="9201131092683066720">La batterie est chargée à <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Sortie du mode Bureau unifié</translation>
 <translation id="9215934040295798075">Définir le fond d'écran</translation>
 <translation id="921989828232331238">Ton parent a verrouillé ton appareil pour la journée</translation>
diff --git a/ash/strings/ash_strings_gu.xtb b/ash/strings/ash_strings_gu.xtb
index 90103e7c..0df5257f 100644
--- a/ash/strings/ash_strings_gu.xtb
+++ b/ash/strings/ash_strings_gu.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">બ્લૂટૂથ ટૉગલ કરો. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">આ સત્રમાં તમારી બધી પ્રવૃત્તિને ઍક્સેસ કરો</translation>
 <translation id="1608626060424371292">આ વપરાશકર્તાને દૂર કરો</translation>
-<translation id="1621499497873603021">બેટરી ખાલી થવામાં બાકી સમય, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">વૉઇસ ક્વેરી શરૂ કરો</translation>
 <translation id="1658406695958299976">માફ કરશો, તમારો પાસવર્ડ હજી ચકાસી શકાયો નથી. નોંધ: જો તમે તાજેતરમાં તમારો પાસવર્ડ બદલ્યો હોય, તો તમારો નવો પાસવર્ડ તમે એક વાર સાઇન આઉટ કરી લો તે પછી લાગુ થશે, કૃપા કરીને અહીં જૂના પાસવર્ડનો ઉપયોગ કરો.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> બાકી</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">ઉપકરણો માટે સ્કેન કરી રહ્યું છે...</translation>
 <translation id="2268130516524549846">Bluetooth અક્ષમ છે</translation>
 <translation id="2268813581635650749">બધામાંથી સાઇન આઉટ કરો</translation>
+<translation id="2277103315734023688">આગળ લઈ જાઓ</translation>
 <translation id="2292698582925480719">પ્રદર્શન ધોરણ</translation>
 <translation id="2302092602801625023">આ એકાઉન્ટ Family Link દ્વારા મેનેજ થાય છે</translation>
 <translation id="2303600792989757991">ટોગલ વિન્ડો વિહંગાવલોકન</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">ડૉક કરેલ મૅગ્નિફાયર ચાલુ કર્યું. ટૉગલ કરવાનું બંધ કરવા માટે ફરીથી Ctrl+Search+D દબાવો.</translation>
 <translation id="3000461861112256445">મૉનો ઑડિઓ</translation>
 <translation id="3009178788565917040">આઉટપુટ</translation>
-<translation id="3019353588588144572">બેટરી સંપૂર્ણપણે ચાર્જ થવામાં બાકી સમય, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">તમારું નિરીક્ષિત વપરાશકર્તા પ્રોફાઇલ ટૂંક સમયમાં કાઢી નાખવામાં આવશે. વધુ જાણવા માટે સાઇન ઇન કરો.</translation>
 <translation id="3055162170959710888">આજે તમે <ph name="USED_TIME" /> માટે આ ડિવાઇસનો ઉપયોગ કર્યો છે</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">USB-C ઉપકરણ (જમણી બાજુનું આગળનું પોર્ટ)</translation>
 <translation id="3400357268283240774">વધારાની સેટિંગ્સ</translation>
 <translation id="3413817803639110246">હજુ સુધી જોવા માટે કંઈ નથી</translation>
+<translation id="343571671045587506">રિમાઇન્ડરમાં ફેરફાર કરો</translation>
 <translation id="3445925074670675829">USB-C ઉપકરણ</translation>
 <translation id="3454224730401036106">તમારું કનેક્શન એક વધુ સુરક્ષિત નેટવર્ક પર સ્વિચ કર્યુંં છે</translation>
 <translation id="3465223694362104965">તમે છેલ્લે સાઇન ઇન કર્યું તે પછી આ ડિવાઇસ સાથે બીજું કીબોર્ડ કનેક્ટ કરવામાં આવ્યું છે. તમે આ કીબોર્ડનો ઉપયોગ કરો તે પહેલાં ખાતરી કરો કે તમને તેના પર વિશ્વાસ છે.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">તમારું સત્ર <ph name="SESSION_TIME_REMAINING" />માં સમાપ્ત થશે</translation>
 <translation id="3901991538546252627"><ph name="NAME" /> થી કનેક્ટ કરી રહ્યું છે</translation>
 <translation id="394485226368336402">ઑડિઓ સેટિંગ્સ</translation>
+<translation id="3962859241508114581">પાછલું ટ્રૅક</translation>
 <translation id="397105322502079400">ગણના કરી રહ્યું છે...</translation>
 <translation id="3995138139523574647">USB-C ડિવાઇસ (જમણી બાજુનું પાછળનું પોર્ટ)</translation>
 <translation id="4017989525502048489">લેઝર પૉઇન્ટર</translation>
 <translation id="4042660782729322247">તમે તમારી સ્ક્રીન શેર કરી રહ્યા છો</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{એક ઍપ માટે બંધ છે}one{# ઍપ માટે બંધ છે}other{# ઍપ માટે બંધ છે}}</translation>
 <translation id="4072264167173457037">મધ્યમ સિગ્નલ</translation>
+<translation id="4112140312785995938">પાછળ કરો</translation>
 <translation id="4129129681837227511">તમારી લૉક સ્ક્રીન પર નોટિફિકેશન જોવા માટે, સેટિંગને બદલવા માટે અનલૉક કરો</translation>
 <translation id="4146833061457621061">મ્યુઝિક વગાડો</translation>
 <translation id="4181841719683918333">ભાષાઓ</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">દૂરસ્થ સહાય વડે <ph name="HELPER_NAME" /> સાથે તમારી સ્ક્રીનનું નિયંત્રણ શેર કરવું.</translation>
 <translation id="4430019312045809116">વૉલ્યૂમ</translation>
 <translation id="4450893287417543264">ફરી બતાવશો નહીં</translation>
+<translation id="4477350412780666475">આગલો ટ્રૅક</translation>
 <translation id="4479639480957787382">ઇથરનેટ</translation>
 <translation id="4481530544597605423">જોડીથી અલગ કરેલા ઉપકરણો</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: કનેક્ટ કરી રહ્યું છે...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">કોઈ મોબાઇલ ઉપકરણો મળ્યાં નથી.</translation>
 <translation id="6723839937902243910">પાવર</translation>
 <translation id="6751826523481687655">કાર્યપ્રદર્શનની નોંધ રાખવાનું ચાલુ કરેલું છે</translation>
-<translation id="6785414152754474415">બેટરી <ph name="PERCENTAGE" /> % પૂર્ણ અને ચાર્જ થઈ રહી છે.</translation>
 <translation id="6790428901817661496">ચલાવો</translation>
 <translation id="6803622936009808957">કોઈ સમર્થિત રિઝોલ્યૂશન મળ્યું ન હોવાથી, પ્રદર્શનોને પ્રતિબિંબિત કરી શકાયા નથી. તેને બદલે વિસ્તૃત ડેસ્કટૉપ દાખલ કર્યું.</translation>
 <translation id="6820676911989879663">વિરામ લો!</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">ટાઇમર રોકો</translation>
 <translation id="7256634071279256947">પાછળનો માઇક્રોફોન</translation>
 <translation id="726276584504105859">વિભાજિત સ્ક્રીનનો ઉપયોગ કરવા માટે અહીં ખેંચો</translation>
+<translation id="7262906531272962081">રિમાઇન્ડર બનાવો</translation>
 <translation id="7303365578352795231">અન્ય ઉપકરણ પર જવાબ આપી રહ્યાં છે.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">ઑન-સ્ક્રીન કીબોર્ડ</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">આ સુવિધા તમને પાસવર્ડની જરૂર વગર ઝડપથી કોઈ સાઇન-ઇન થયેલ વપરાશકર્તાને ઍક્સેસ કરવાની પરવાનગી આપે છે. માત્ર તમે જેના પર વિશ્વાસ કરતા હો તે એકાઉન્ટ સાથે જ આ સુવિધાનો ઉપયોગ કરો.</translation>
 <translation id="9193626018745640770">અજાણ્યા પ્રાપ્તકર્તા પર કાસ્ટ કરી રહ્યાં છીએ</translation>
 <translation id="9194617393863864469">અન્ય વપરાશકર્તા સાઇન ઇન કરો...</translation>
-<translation id="9201131092683066720">બેટરી <ph name="PERCENTAGE" /> % પૂર્ણ છે.</translation>
 <translation id="9210037371811586452">એકીકૃત ડેસ્કટૉપ મોડથી બહાર નીકળે છે</translation>
 <translation id="9215934040295798075">વૉલપેપર સેટ કરો</translation>
 <translation id="921989828232331238">તમારા માતાપિતાએ તમારા ડિવાઇસને આજના માટે લૉક કર્યું છે</translation>
diff --git a/ash/strings/ash_strings_hi.xtb b/ash/strings/ash_strings_hi.xtb
index 26d99b8..424101b 100644
--- a/ash/strings/ash_strings_hi.xtb
+++ b/ash/strings/ash_strings_hi.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">ब्लूटूथ टॉगल करें. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">इस सत्र में अपनी सभी गतिविधि एक्सेस करें</translation>
 <translation id="1608626060424371292">इस उपयोगकर्ता को हटाएं</translation>
-<translation id="1621499497873603021">बैटरी के खाली होने में शेष समय, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">बोलकर खोजना शुरू करें</translation>
 <translation id="1658406695958299976">माफ़ करें, आपके पासवर्ड की अब भी पुष्टि नहीं हो पाई है. नोट: अगर आपने हाल ही में अपना पासवर्ड बदला है, तो आपके साइन आउट होते ही आपका नया पासवर्ड लागू हो जाएगा, कृपया यहां पुराने पासवर्ड का इस्तेमाल करें.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> शेष</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">डिवाइस स्कैन किए जा रहे हैं...</translation>
 <translation id="2268130516524549846">ब्लूटूथ अक्षम किया गया</translation>
 <translation id="2268813581635650749">सभी प्रस्थान करें</translation>
+<translation id="2277103315734023688">आगे बढ़ाएं</translation>
 <translation id="2292698582925480719">डिसप्ले पैमाना</translation>
 <translation id="2302092602801625023">यह खाता Family Link के ज़रिए प्रबंधित किया जाता है</translation>
 <translation id="2303600792989757991">टॉगल विंडो का संक्षिप्त विवरण</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">सामग्री को बड़ा दिखाने की डॉक की गई सुविधा चालू है. उसे बंद पर टॉगल करने के लिए Ctrl+Search+D फिर से दबाएं.</translation>
 <translation id="3000461861112256445">मोनो ऑडियो</translation>
 <translation id="3009178788565917040">आउटपुट</translation>
-<translation id="3019353588588144572">बैटरी के पूरी तरह से चार्ज होने में शेष समय, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">निगरानी में रखी गई आपकी उपयोगकर्ता प्रोफ़ाइल जल्द ही हटा दी जाएगी. ज़्यादा जानने के लिए साइन इन करें.</translation>
 <translation id="3055162170959710888">आपने आज इस डिवाइस का <ph name="USED_TIME" /> तक इस्तेमाल कर लिया है</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">USB-C डिवाइस (दायां सामने वाला पोर्ट)</translation>
 <translation id="3400357268283240774">अतिरिक्त सेटिंग</translation>
 <translation id="3413817803639110246">अभी देखने के लिए कुछ भी नहीं है</translation>
+<translation id="343571671045587506">रिमाइंडर बदलें</translation>
 <translation id="3445925074670675829">USB-C डिवाइस</translation>
 <translation id="3454224730401036106">आपका कनेक्शन ज़्यादा सुरक्षित नेटवर्क पर स्विच कर दिया गया है</translation>
 <translation id="3465223694362104965">आपके अंतिम बार साइन इन किए जाने के समय से इस डिवाइस से कोई और कीबोर्ड कनेक्ट किया गया है. इस कीबोर्ड का इस्तेमाल करने से पहले पक्का करें कि यह भरोसेमंद है.</translation>
@@ -199,12 +199,14 @@
 <translation id="3900355044994618856">आपका सत्र <ph name="SESSION_TIME_REMAINING" /> में खत्म होने वाला है</translation>
 <translation id="3901991538546252627"><ph name="NAME" /> से कनेक्‍ट हो रहा है</translation>
 <translation id="394485226368336402">ऑडियो सेटिंग</translation>
+<translation id="3962859241508114581">पिछला ट्रैक</translation>
 <translation id="397105322502079400">गणना की जा रही है...</translation>
 <translation id="3995138139523574647">USB-C डिवाइस (दायां पिछला पोर्ट)</translation>
 <translation id="4017989525502048489">लेज़र पॉइंटर</translation>
 <translation id="4042660782729322247">आप अपनी स्क्रीन शेयर कर रहे हैं</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{एक ऐप्लिकेशन के लिए बंद है}one{# ऐप्लिकेशन के लिए बंद है}other{# ऐप्लिकेशन के लिए बंद है}}</translation>
 <translation id="4072264167173457037">मध्यम सिग्नल</translation>
+<translation id="4112140312785995938">पीछे जाएं</translation>
 <translation id="4129129681837227511">अपनी लॉक स्क्रीन पर सूचनाएं देखने की सेटिंग बदलने के लिए स्क्रीन अनलॉक करें</translation>
 <translation id="4146833061457621061">गाने चलाओ</translation>
 <translation id="4181841719683918333">भाषाएं</translation>
@@ -228,6 +230,7 @@
 <translation id="4421231901400348175">आपकी स्‍क्रीन का नियंत्रण दूरस्‍थ सहायक के द्वारा <ph name="HELPER_NAME" /> से शेयर किया जा रहा है.</translation>
 <translation id="4430019312045809116">मात्रा</translation>
 <translation id="4450893287417543264">फिर से न दिखाएं</translation>
+<translation id="4477350412780666475">अगला ट्रैक</translation>
 <translation id="4479639480957787382">इथरनेट</translation>
 <translation id="4481530544597605423">अयुग्मित किए गए डिवाइस</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: कनेक्ट हो रहा है...</translation>
@@ -365,7 +368,6 @@
 <translation id="6715542151869432661">कोई मोबाइल डिवाइस नहीं मिला.</translation>
 <translation id="6723839937902243910">पावर</translation>
 <translation id="6751826523481687655">'परफ़ॉर्मेंस ट्रेसिंग' चालू कर दी गई है</translation>
-<translation id="6785414152754474415">बैटरी <ph name="PERCENTAGE" />% भरी हुई है और चार्ज हो रही है.</translation>
 <translation id="6790428901817661496">चलाएं</translation>
 <translation id="6803622936009808957">प्रदर्शनों को मिरर नहीं किया जा सका क्योंकि कोई समर्थित रिज़ॉल्यूशन नहीं मिला. इसके बजाय विस्तारित डेस्कटॉप में चला गया है.</translation>
 <translation id="6820676911989879663">आज के लिए इतना ही!</translation>
@@ -393,6 +395,7 @@
 <translation id="7222902781030499995">टाइमर बंद करें</translation>
 <translation id="7256634071279256947">पीछे वाला माइक्रोफ़ोन</translation>
 <translation id="726276584504105859">दो स्क्रीन का इस्तेमाल करने के लिए यहां खींचें और छोडें</translation>
+<translation id="7262906531272962081">रिमाइंडर लगाएं</translation>
 <translation id="7303365578352795231">दूसरे डिवाइस पर जवाब देना.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">ऑन-स्‍क्रीन कीबोर्ड</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">यह फ़ीचर आपको पासवर्ड के बिना किसी भी साइन इन किए हुए उपयोगकर्ता को जल्दी से एक्सेस करने देता है. इस फ़ीचर का इस्तेमाल सिर्फ़ अपने भरोसेमंद खातों के साथ करें.</translation>
 <translation id="9193626018745640770">ऐसे रिसीवर पर कास्ट किया जा रहा है जिसकी जानकारी नहीं है</translation>
 <translation id="9194617393863864469">किसी दूसरे उपयोगकर्ता के रूप में साइन इन करें...</translation>
-<translation id="9201131092683066720">बैटरी <ph name="PERCENTAGE" />% भरी हुई है.</translation>
 <translation id="9210037371811586452">संयुक्त डेस्कटॉप मोड से बाहर निकाला जा रहा है</translation>
 <translation id="9215934040295798075">वॉलपेपर सेट करें</translation>
 <translation id="921989828232331238">आपके अभिभावक ने आज के लिए यह डिवाइस लॉक कर दिया है</translation>
diff --git a/ash/strings/ash_strings_hr.xtb b/ash/strings/ash_strings_hr.xtb
index 1edbd982..81d1d84 100644
--- a/ash/strings/ash_strings_hr.xtb
+++ b/ash/strings/ash_strings_hr.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Prebacivanje Bluetootha. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Pristup svim vašim aktivnostima u ovoj sesiji</translation>
 <translation id="1608626060424371292">Ukloni tog korisnika</translation>
-<translation id="1621499497873603021">Baterija će se isprazniti za <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Pokrenite glasovni upit</translation>
 <translation id="1658406695958299976">Vaša zaporka i dalje nije mogla biti potvrđena. Napomena: ako ste nedavno promijenili zaporku, vaša nova zaporka primjenjivat će se nakon što se odjavite. Ovdje upotrijebite staru zaporku.</translation>
 <translation id="1677472565718498478">Još <ph name="TIME" /></translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Pretraživanje uređaja...</translation>
 <translation id="2268130516524549846">Bluetooth onemogućen</translation>
 <translation id="2268813581635650749">Odjavi sve</translation>
+<translation id="2277103315734023688">Traži prema naprijed</translation>
 <translation id="2292698582925480719">Skala prikaza</translation>
 <translation id="2302092602801625023">Tim računom upravlja Family Link</translation>
 <translation id="2303600792989757991">Prebaci na prozor pregleda</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Usidreno je povećalo omogućeno. Ponovo pritisnite Ctrl + Search + D da biste ga isključili.</translation>
 <translation id="3000461861112256445">Monoaudio</translation>
 <translation id="3009178788565917040">Izlaz</translation>
-<translation id="3019353588588144572">Baterija će se napuniti za <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Vaš profil nadziranog korisnika uskoro će se ukloniti. Prijavite se da biste saznali više.</translation>
 <translation id="3055162170959710888">Uređaj je danas korišten <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">USB-C uređaj (prednji desni priključak)</translation>
 <translation id="3400357268283240774">Dodatne postavke</translation>
 <translation id="3413817803639110246">Još nema ničega</translation>
+<translation id="343571671045587506">Uređivanje podsjetnika</translation>
 <translation id="3445925074670675829">USB-C uređaj</translation>
 <translation id="3454224730401036106">Sada ste povezani sa sigurnijom mrežom</translation>
 <translation id="3465223694362104965">Još je jedna tipkovnica povezana s ovim uređajem otkad ste se posljednji put prijavili. Provjerite je li riječ o pouzdanoj tipkovnici prije nego što je upotrijebite.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Vaša će sesija završiti za <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Povezivanje s mrežom <ph name="NAME" /></translation>
 <translation id="394485226368336402">Postavke zvuka</translation>
+<translation id="3962859241508114581">Prethodna pjesma</translation>
 <translation id="397105322502079400">Izračun u tijeku…</translation>
 <translation id="3995138139523574647">USB-C uređaj (stražnji desni priključak)</translation>
 <translation id="4017989525502048489">Laserski pokazivač</translation>
 <translation id="4042660782729322247">Dijelite zaslon</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Isključeno za jednu aplikaciju}one{Isključeno za # aplikaciju}few{Isključeno za # aplikacije}other{Isključeno za # aplikacija}}</translation>
 <translation id="4072264167173457037">Signal srednje jačine</translation>
+<translation id="4112140312785995938">Traži unatrag</translation>
 <translation id="4129129681837227511">Za prikaz obavijesti na zaključanom zaslonu otključajte zaslon da biste promijenili postavku</translation>
 <translation id="4146833061457621061">Pusti glazbu</translation>
 <translation id="4181841719683918333">Jezici</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175"><ph name="HELPER_NAME" /> i vi dijelite kontrolu nad zaslonom putem Daljinske pomoći.</translation>
 <translation id="4430019312045809116">Glasnoća</translation>
 <translation id="4450893287417543264">Ne prikazuj ponovo</translation>
+<translation id="4477350412780666475">Sljedeća pjesma</translation>
 <translation id="4479639480957787382">Eternet</translation>
 <translation id="4481530544597605423">Neupareni uređaji</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: povezivanje...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">Nije pronađen nijedan mobilni uređaj.</translation>
 <translation id="6723839937902243910">Napajanje</translation>
 <translation id="6751826523481687655">Uključeno je praćenje izvedbe</translation>
-<translation id="6785414152754474415">Baterija je <ph name="PERCENTAGE" />% puna i puni se.</translation>
 <translation id="6790428901817661496">Reproduciraj</translation>
 <translation id="6803622936009808957">Nije bilo moguće zrcaliti zaslone jer nije pronađena nijedna podržana razlučivost. Umjesto toga proširena je radna površina.</translation>
 <translation id="6820676911989879663">Odmorite se!</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">Zaustavi odbrojavanje</translation>
 <translation id="7256634071279256947">Stražnji mikrofon</translation>
 <translation id="726276584504105859">Povucite ovdje da biste upotrebljavali podijeljeni zaslon</translation>
+<translation id="7262906531272962081">Izrada podsjetnika</translation>
 <translation id="7303365578352795231">Odgovaranje na drugom uređaju.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Tipkovnica na zaslonu</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">Ta vam značajka omogućuje brzi pristup bilo kojem prijavljenom korisniku bez zahtijevanja zaporke. Tu značajku upotrebljavajte samo s pouzdanim računima.</translation>
 <translation id="9193626018745640770">Emitiranje na nepoznatom prijamniku</translation>
 <translation id="9194617393863864469">Prijavljivanje drugog korisnika...</translation>
-<translation id="9201131092683066720">Baterija je <ph name="PERCENTAGE" />% puna.</translation>
 <translation id="9210037371811586452">Izlaz iz načina jedinstvene radne površine</translation>
 <translation id="9215934040295798075">Postavi pozadinu</translation>
 <translation id="921989828232331238">Tvoj je roditelj zaključao ovaj uređaj za danas</translation>
diff --git a/ash/strings/ash_strings_hu.xtb b/ash/strings/ash_strings_hu.xtb
index 901ffefe..032106bd 100644
--- a/ash/strings/ash_strings_hu.xtb
+++ b/ash/strings/ash_strings_hu.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Bluetooth ki- és bekapcsolása. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Hozzáférés az Ön jelen munkamenetben végzett összes tevékenységéhez</translation>
 <translation id="1608626060424371292">Felhasználó eltávolítása</translation>
-<translation id="1621499497873603021">Akkumulátor lemerüléséig hátralévő idő: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Hangalapú lekérdezés indítása</translation>
 <translation id="1658406695958299976">Sajnos a jelszó ellenőrzése még mindig nem sikerült. Megjegyzés: ha a közelmúltban módosította jelszavát, az új jelszó beállítása a kijelentkezés után megy végbe, ezért itt a régi jelszót használja.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> van hátra</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Eszközök keresése...</translation>
 <translation id="2268130516524549846">Bluetooth letiltva</translation>
 <translation id="2268813581635650749">Összes kijelentkeztetése</translation>
+<translation id="2277103315734023688">Ugrás előre</translation>
 <translation id="2292698582925480719">Megjelenítés méret</translation>
 <translation id="2302092602801625023">Ezt a fiókot a Family Linkkel kezelik</translation>
 <translation id="2303600792989757991">Ablakáttekintési mód váltása</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Dokkolt nagyító bekapcsolva. A kikapcsoláshoz nyomja le ismét a Ctrl+Keresés+D billentyűparancsot.</translation>
 <translation id="3000461861112256445">Monó hang</translation>
 <translation id="3009178788565917040">Kimenet</translation>
-<translation id="3019353588588144572">Akkumulátor teljes feltöltéséig hátralévő idő: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Az Ön által felügyelt felhasználói profil hamarosan eltávolításra kerül. További információért jelentkezzen be.</translation>
 <translation id="3055162170959710888">Az eszköz mai használatának teljes időtartama: <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">C típusú USB-vel kompatibilis eszköz (jobb első port)</translation>
 <translation id="3400357268283240774">További beállítások</translation>
 <translation id="3413817803639110246">Itt most nem látható semmi</translation>
+<translation id="343571671045587506">Emlékeztető szerkesztése</translation>
 <translation id="3445925074670675829">C típusú USB-vel kompatibilis eszköz</translation>
 <translation id="3454224730401036106">A rendszer biztonságosabb hálózati kapcsolatra váltott</translation>
 <translation id="3465223694362104965">Az utolsó bejelentkezése óta másik billentyűzetet csatlakoztattak ehhez az eszközhöz. Mielőtt elkezdené használni, győződjön meg róla, hogy biztonságos.</translation>
@@ -199,12 +199,14 @@
 <translation id="3900355044994618856">Munkamenete <ph name="SESSION_TIME_REMAINING" /> elteltével lejár</translation>
 <translation id="3901991538546252627">Csatlakozás a következőhöz: <ph name="NAME" /></translation>
 <translation id="394485226368336402">Hangbeállítások</translation>
+<translation id="3962859241508114581">Előző szám</translation>
 <translation id="397105322502079400">Számítás…</translation>
 <translation id="3995138139523574647">C típusú USB-vel kompatibilis eszköz (jobb hátsó port)</translation>
 <translation id="4017989525502048489">Lézermutató</translation>
 <translation id="4042660782729322247">Jelenleg megosztja a képernyőt</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Kikapcsolva 1 alkalmazás számára}other{Kikapcsolva # alkalmazás számára}}</translation>
 <translation id="4072264167173457037">Közepes jel</translation>
+<translation id="4112140312785995938">Ugrás visszafelé</translation>
 <translation id="4129129681837227511">Ha szeretné látni az értesítéseket a lezárási képernyőn, oldja fel a képernyő zárolását a beállítás módosításához</translation>
 <translation id="4146833061457621061">Zenelejátszás</translation>
 <translation id="4181841719683918333">Nyelvek</translation>
@@ -228,6 +230,7 @@
 <translation id="4421231901400348175">A képernyő irányításának megosztása <ph name="HELPER_NAME" /> segítővel a Távsegítség szolgáltatás keretein belül.</translation>
 <translation id="4430019312045809116">Hangerő</translation>
 <translation id="4450893287417543264">Ne jelenjen meg többé</translation>
+<translation id="4477350412780666475">Következő szám</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Párosítatlan eszközök</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: csatlakozás...</translation>
@@ -365,7 +368,6 @@
 <translation id="6715542151869432661">Nem található mobileszköz.</translation>
 <translation id="6723839937902243910">Energiaellátás</translation>
 <translation id="6751826523481687655">A teljesítménykövetés be van kapcsolva</translation>
-<translation id="6785414152754474415">Az akkumulátor töltöttsége <ph name="PERCENTAGE" />%, és töltődik.</translation>
 <translation id="6790428901817661496">Játék</translation>
 <translation id="6803622936009808957">A kijelzők tükrözése sikertelen, mivel nem található támogatott felbontás. Ehelyett kiterjesztett asztal módba váltott a rendszer.</translation>
 <translation id="6820676911989879663">Tartson egy kis szünetet!</translation>
@@ -393,6 +395,7 @@
 <translation id="7222902781030499995">Időzítő megállítása</translation>
 <translation id="7256634071279256947">Hátulsó mikrofon</translation>
 <translation id="726276584504105859">Húzza ide az osztott képernyő használatához</translation>
+<translation id="7262906531272962081">Emlékeztető létrehozása</translation>
 <translation id="7303365578352795231">Válasz másik eszközön.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Képernyő-billentyűzet</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">Ez a funkció lehetővé teszi a bejelentkezett felhasználók gyors, jelszó nélküli elérését. Kizárólag olyan fiókok esetében használja a funkciót, amelyekben megbízik.</translation>
 <translation id="9193626018745640770">Átküldés ismeretlen fogadó eszközre</translation>
 <translation id="9194617393863864469">Bejelentkezés másik felhasználóként…</translation>
-<translation id="9201131092683066720">Az akkumulátor töltöttsége: <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Kilépés az Egységes asztali módból</translation>
 <translation id="9215934040295798075">Háttérkép beállítása</translation>
 <translation id="921989828232331238">A szülőd zárolta az eszközt mára</translation>
diff --git a/ash/strings/ash_strings_id.xtb b/ash/strings/ash_strings_id.xtb
index 849d306..cdd74ea 100644
--- a/ash/strings/ash_strings_id.xtb
+++ b/ash/strings/ash_strings_id.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Alihkan Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Akses semua aktivitas Anda di sesi ini</translation>
 <translation id="1608626060424371292">Hapus pengguna ini</translation>
-<translation id="1621499497873603021">Waktu yang tersisa hingga baterai kosong, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Mulai kueri suara</translation>
 <translation id="1658406695958299976">Maaf, sandi Anda masih belum dapat diverifikasi. Catatan: jika Anda baru saja mengubah sandi, sandi yang baru akan diterapkan saat Anda logout, gunakan sandi lama di sini.</translation>
 <translation id="1677472565718498478">Sisa waktu <ph name="TIME" /></translation>
@@ -139,7 +138,6 @@
 <translation id="2996462380875591307">Kaca Pembesar yang Dipasang ke Dok diaktifkan. Tekan Ctrl+Search+D lagi untuk menonaktifkannya.</translation>
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Keluaran</translation>
-<translation id="3019353588588144572">Waktu yang tersisa hingga baterai terisi penuh, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Profil pengguna yang dilindungi akan segera dihapus. Login untuk mempelajari lebih lanjut.</translation>
 <translation id="3055162170959710888">Anda menggunakan perangkat ini selama <ph name="USED_TIME" /> hari ini</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -369,7 +367,6 @@
 <translation id="6715542151869432661">Perangkat seluler tidak ditemukan.</translation>
 <translation id="6723839937902243910">Daya</translation>
 <translation id="6751826523481687655">Pelacakan performa diaktifkan</translation>
-<translation id="6785414152754474415">Baterai sudah terisi <ph name="PERCENTAGE" />% dan masih mengisi.</translation>
 <translation id="6790428901817661496">Putar</translation>
 <translation id="6803622936009808957">Tidak dapat menggandakan tampilan karena tidak ditemukan resolusi yang didukung. Memasuki desktop yang diperluas sebagai gantinya.</translation>
 <translation id="6820676911989879663">Istirahatlah sebentar</translation>
@@ -525,7 +522,6 @@
 <translation id="9179259655489829027">Dengan fitur ini, Anda dapat dengan cepat mengakses setiap pengguna yang sudah login, tanpa perlu menggunakan sandi. Hanya gunakan fitur ini dengan akun yang Anda percayai.</translation>
 <translation id="9193626018745640770">Mentransmisi pada penerima yang tidak dikenal</translation>
 <translation id="9194617393863864469">Masukkan pengguna lain...</translation>
-<translation id="9201131092683066720">Baterai terisi <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Keluar dari mode desktop terpadu</translation>
 <translation id="9215934040295798075">Setel wallpaper</translation>
 <translation id="921989828232331238">Orang tuamu mengunci perangkat untuk hari ini</translation>
diff --git a/ash/strings/ash_strings_it.xtb b/ash/strings/ash_strings_it.xtb
index a2c5dc6..4413864 100644
--- a/ash/strings/ash_strings_it.xtb
+++ b/ash/strings/ash_strings_it.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Attiva/disattiva Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Accedere a tutte le tue attività in questa sessione.</translation>
 <translation id="1608626060424371292">Rimuovi questo utente</translation>
-<translation id="1621499497873603021">Tempo rimanente all'esaurimento della batteria: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Avvia una query vocale</translation>
 <translation id="1658406695958299976">Non è stato ancora possibile verificare la password. Nota: se l'hai modificata di recente, la nuova password verrà applicata quando esci dall'account. Utilizza qui la tua vecchia password.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> rimanenti</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Lente d'ingrandimento ancorata attivata. Premi di nuovo CTRL + tasto per la ricerca + D per disattivarla.</translation>
 <translation id="3000461861112256445">Audio in formato mono</translation>
 <translation id="3009178788565917040">Uscita</translation>
-<translation id="3019353588588144572">Tempo rimanente al caricamento completo della batteria: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Il profilo dell'utente supervisionato verrà rimosso a breve. Accedi per avere ulteriori informazioni.</translation>
 <translation id="3055162170959710888">Oggi hai utilizzato questo dispositivo per <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">maiusc</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">Nessun dispositivo mobile trovato.</translation>
 <translation id="6723839937902243910">Alimentazione</translation>
 <translation id="6751826523481687655">La traccia delle prestazioni è attiva</translation>
-<translation id="6785414152754474415">Percentuale di caricamento batteria: <ph name="PERCENTAGE" />%. La batteria è in carica.</translation>
 <translation id="6790428901817661496">Play</translation>
 <translation id="6803622936009808957">Impossibile duplicare i display perché non sono state trovate risoluzioni supportate. È stato attivato il desktop esteso.</translation>
 <translation id="6820676911989879663">Fai una pausa!</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">Questa funzione consente di accedere rapidamente a qualsiasi utente che abbia effettuato l'accesso, senza bisogno di una password. Utilizza questa funzione solo con gli account che consideri attendibili.</translation>
 <translation id="9193626018745640770">Trasmissione a un ricevitore sconosciuto</translation>
 <translation id="9194617393863864469">Accedi con un altro account utente...</translation>
-<translation id="9201131092683066720">Percentuale di caricamento della batteria: <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Uscita dalla modalità Desktop unificato</translation>
 <translation id="9215934040295798075">Imposta sfondo</translation>
 <translation id="921989828232331238">Uno dei tuoi genitori ha bloccato il tuo dispositivo per tutto il giorno</translation>
diff --git a/ash/strings/ash_strings_iw.xtb b/ash/strings/ash_strings_iw.xtb
index aab586c..a533ab6 100644
--- a/ash/strings/ash_strings_iw.xtb
+++ b/ash/strings/ash_strings_iw.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">‏הפעלה או השבתה של Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">גישה לכל הפעילות שלך בסשן הזה</translation>
 <translation id="1608626060424371292">הסר את המשתמש הזה</translation>
-<translation id="1621499497873603021">הזמן שנותר עד להתרוקנות הסוללה, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">הפעלה של שאילתה קולית</translation>
 <translation id="1658406695958299976">מצטערים, עדיין אי אפשר לאמת את הסיסמה שלך. חשוב לדעת: אם שינית לאחרונה את הסיסמה, הסיסמה החדשה תיכנס לתוקף רק אחרי יציאה מהחשבון. צריך להשתמש כאן בסיסמה הישנה.</translation>
 <translation id="1677472565718498478">זמן נותר - <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">‏הזכוכית המגדלת במצב עגינה הופעלה. כדי לכבות אותה, יש להקיש שוב על Ctrl+Search+D.</translation>
 <translation id="3000461861112256445">אודיו במונו</translation>
 <translation id="3009178788565917040">פלט</translation>
-<translation id="3019353588588144572">הזמן שנותר עד לטעינה מלאה של הסוללה, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">פרופיל המשתמש בפיקוח שלך יוסר בקרוב. יש להיכנס לחשבון כדי לקבל מידע נוסף.</translation>
 <translation id="3055162170959710888">השתמשת היום במכשיר הזה במשך <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">לא נמצאו מכשירים ניידים.</translation>
 <translation id="6723839937902243910">חשמל</translation>
 <translation id="6751826523481687655">מעקב הביצועים פועל</translation>
-<translation id="6785414152754474415">‏הסוללה טעונה ברמה של ‎<ph name="PERCENTAGE" />%‎ ומתבצעת טעינה.</translation>
 <translation id="6790428901817661496">הפעל</translation>
 <translation id="6803622936009808957">לא ניתן היה לשקף מסכים מכיוון שלא נמצאה רזולוציה נתמכת. במקום זאת התצוגה עברה למצב שולחן עבודה מורחב.</translation>
 <translation id="6820676911989879663">הגיע הזמן להפסקה</translation>
@@ -523,7 +520,6 @@
 יש להשתמש בתכונה הזו רק עם חשבונות מהימנים.</translation>
 <translation id="9193626018745640770">מתבצעת העברה במכשיר לא ידוע</translation>
 <translation id="9194617393863864469">הוסף משתמש אחר...</translation>
-<translation id="9201131092683066720">‏הסוללה טעונה ברמה של ‎<ph name="PERCENTAGE" />%‎.</translation>
 <translation id="9210037371811586452">‏יציאה ממצב Unified Desktop</translation>
 <translation id="9215934040295798075">הגדר טפט</translation>
 <translation id="921989828232331238">הורה נעל את המכשיר שלך להיום</translation>
diff --git a/ash/strings/ash_strings_ja.xtb b/ash/strings/ash_strings_ja.xtb
index 53f3530..8edd918f 100644
--- a/ash/strings/ash_strings_ja.xtb
+++ b/ash/strings/ash_strings_ja.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Bluetooth を切り替えます。<ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">このセッションのすべてのアクティビティにアクセスする</translation>
 <translation id="1608626060424371292">このユーザーを削除</translation>
-<translation id="1621499497873603021">バッテリーが空になるまであと: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">音声検索を開始</translation>
 <translation id="1658406695958299976">パスワードをまだ確認できません。注: パスワードを最近変更した場合、新しいパスワードはログアウトした後に適用されます。こちらでは古いパスワードを使用してください。</translation>
 <translation id="1677472565718498478">あと <ph name="TIME" /></translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">デバイスをスキャンしています...</translation>
 <translation id="2268130516524549846">Bluetooth オフ</translation>
 <translation id="2268813581635650749">すべてログアウト</translation>
+<translation id="2277103315734023688">前方にシーク再生</translation>
 <translation id="2292698582925480719">表示スケール</translation>
 <translation id="2302092602801625023">このアカウントはファミリー リンクによって管理されています</translation>
 <translation id="2303600792989757991">ウィンドウ切り替えの概要</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">拡大鏡(ドッキング)がオンになっています。オフにするには Ctrl+検索+D キーをもう一度押します。</translation>
 <translation id="3000461861112256445">モノラル音声</translation>
 <translation id="3009178788565917040">出力</translation>
-<translation id="3019353588588144572">バッテリーがフル充電されるまであと: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">管理対象のユーザー プロフィールはまもなく削除されます。ログインして詳細をご確認ください。</translation>
 <translation id="3055162170959710888">あなたは今日、このデバイスを <ph name="USED_TIME" />使用しました</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">USB-C デバイス(右手前のポート)</translation>
 <translation id="3400357268283240774">その他の設定</translation>
 <translation id="3413817803639110246">通知はありません</translation>
+<translation id="343571671045587506">リマインダーの編集</translation>
 <translation id="3445925074670675829">USB-C デバイス</translation>
 <translation id="3454224730401036106">より安全なネットワークに接続が切り替えられました</translation>
 <translation id="3465223694362104965">前回のログイン後に、別のキーボードがこのデバイスに接続されました。このキーボードを使用する前に信頼できるものかどうか確認してください。</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">セッションの制限時間まであと <ph name="SESSION_TIME_REMAINING" /> です</translation>
 <translation id="3901991538546252627"><ph name="NAME" /> に接続しています</translation>
 <translation id="394485226368336402">音声設定</translation>
+<translation id="3962859241508114581">前の曲</translation>
 <translation id="397105322502079400">計算しています...</translation>
 <translation id="3995138139523574647">USB-C デバイス(右奥のポート)</translation>
 <translation id="4017989525502048489">レーザー ポインタ</translation>
 <translation id="4042660782729322247">画面を共有しています</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{1 件のアプリでオフ}other{# 件のアプリでオフ}}</translation>
 <translation id="4072264167173457037">電波: 中程度</translation>
+<translation id="4112140312785995938">後方にシーク再生</translation>
 <translation id="4129129681837227511">ロック画面に通知を表示するには、ロックを解除して設定を変更してください</translation>
 <translation id="4146833061457621061">音楽を再生して</translation>
 <translation id="4181841719683918333">言語</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">リモート サポート経由で <ph name="HELPER_NAME" /> と画面の制御を共有しています。</translation>
 <translation id="4430019312045809116">音量</translation>
 <translation id="4450893287417543264">次回から表示しない</translation>
+<translation id="4477350412780666475">次の曲</translation>
 <translation id="4479639480957787382">イーサネット</translation>
 <translation id="4481530544597605423">ペア設定されていないデバイス</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: 接続しています...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">モバイル デバイスが見つかりませんでした。</translation>
 <translation id="6723839937902243910">電源</translation>
 <translation id="6751826523481687655">パフォーマンス追跡機能が有効になっています</translation>
-<translation id="6785414152754474415">バッテリー残量: <ph name="PERCENTAGE" />%、充電しています。</translation>
 <translation id="6790428901817661496">再生</translation>
 <translation id="6803622936009808957">サポートされている解像度が見つからなかったため、ディスプレイをミラーリングできませんでした。代わりに拡張デスクトップ モードに切り替えました。</translation>
 <translation id="6820676911989879663">休憩の時間です!</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">タイマーを停止します</translation>
 <translation id="7256634071279256947">後方のマイク</translation>
 <translation id="726276584504105859">分割画面を使用するにはここにドラッグします</translation>
+<translation id="7262906531272962081">リマインダーの作成</translation>
 <translation id="7303365578352795231">別のデバイスで応答しています。</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">画面キーボード</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">この機能を使用すると、パスワードを入力せずにログイン ユーザーにすばやくアクセスできます。この機能は信頼できるアカウントにのみ使用してください。</translation>
 <translation id="9193626018745640770">不明な受信デバイスにキャストしています</translation>
 <translation id="9194617393863864469">別のユーザーとしてログイン...</translation>
-<translation id="9201131092683066720">バッテリー残量: <ph name="PERCENTAGE" />%。</translation>
 <translation id="9210037371811586452">デスクトップ統合モードの終了中</translation>
 <translation id="9215934040295798075">壁紙を設定</translation>
 <translation id="921989828232331238">保護者の方がこのデバイスを終日ロックしています</translation>
diff --git a/ash/strings/ash_strings_kn.xtb b/ash/strings/ash_strings_kn.xtb
index 1cde546..73741fa 100644
--- a/ash/strings/ash_strings_kn.xtb
+++ b/ash/strings/ash_strings_kn.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">ಬ್ಲೂಟೂತ್ ಟಾಗಲ್ ಮಾಡಿ. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">ಈ ಸೆಶನ್‌ನಲ್ಲಿ ನೀವು ನಡೆಸುವ ಎಲ್ಲಾ ಚಟುವಟಿಕೆಯನ್ನು ಪ್ರವೇಶಿಸುವುದು</translation>
 <translation id="1608626060424371292">ಈ ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿ</translation>
-<translation id="1621499497873603021">ಬ್ಯಾಟರಿ ಖಾಲಿ ಆಗುವವರೆಗೆ ಉಳಿದಿರುವ ಸಮಯ, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">ಧ್ವನಿ ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳಲು ಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="1658406695958299976">ಕ್ಷಮಿಸಿ, ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಇನ್ನೂ ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಗಮನಿಸಿ: ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನೀವು ಇತ್ತೀಚೆಗೆ ಬದಲಾಯಿಸಿದ್ದರೆ, ನೀವು ಸೈನ್ ಔಟ್ ಮಾಡಿದ ನಂತರ ನಿಮ್ಮ ಹೊಸ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಜಾರಿಗೆ ತರಲಾಗುತ್ತದೆ, ಇಲ್ಲಿ ಹಳೆಯ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬಳಸಿ.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> ಬಾಕಿ ಉಳಿದಿದೆ</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">ಡಾಕ್‌‌ ಮಾಡಿರುವ ವರ್ಧಕವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಅದನ್ನು ಟಾಗಲ್‌ ಆಫ್‌ ಮಾಡಲು ಪುನಃ Ctrl+Search+D ಅನ್ನು ಒತ್ತಿರಿ.</translation>
 <translation id="3000461861112256445">ಮೊನೊ ಆಡಿಯೊ</translation>
 <translation id="3009178788565917040">ಔಟ್‌ಪುಟ್</translation>
-<translation id="3019353588588144572">ಬ್ಯಾಟರಿ ಪೂರ್ಣವಾಗಿ ಚಾರ್ಜ್ ಆಗುವವರೆಗೆ ಉಳಿದಿರುವ ಸಮಯ, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">ನಿಮ್ಮ ಮೇಲ್ವಿಚಾರಣೆಯ ಬಳಕೆದಾರರ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಶೀಘ್ರವೇ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ. ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಸೈನ್ ಇನ್ ಮಾಡಿ.</translation>
 <translation id="3055162170959710888">ನೀವು ಇಂದು <ph name="USED_TIME" /> ರಷ್ಟು ಸಮಯ ಈ ಸಾಧನವನ್ನು ಬಳಸಿದ್ದೀರಿ</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">ಯಾವುದೇ ಮೊಬೈಲ್ ಸಾಧನಗಳು ಕಂಡುಬಂದಿಲ್ಲ.</translation>
 <translation id="6723839937902243910">ಪವರ್‌</translation>
 <translation id="6751826523481687655">ಕಾರ್ಯಕ್ಷಮತೆಯ ಟ್ರೇಸಿಂಗ್ ಅನ್ನು ಆನ್ ಮಾಡಲಾಗಿದೆ</translation>
-<translation id="6785414152754474415">ಬ್ಯಾಟರಿ <ph name="PERCENTAGE" />% ಪೂರ್ಣಗೊಂಡಿದೆ ಮತ್ತು ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ.</translation>
 <translation id="6790428901817661496">ಪ್ಲೇ ಮಾಡು</translation>
 <translation id="6803622936009808957">ಯಾವುದೇ ಬೆಂಬಲಿತ ಪರಿಹಾರಗಳು ಕಂಡುಬರದ ಕಾರಣ ಪ್ರದರ್ಶನಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸಲಾಗಲಿಲ್ಲ. ಬದಲಿಗೆ ವಿಸ್ತರಿತ ಡೆಸ್ಕ್‌ಟಾಪ್ ಅನ್ನು ನಮೂದಿಸಲಾಗಿದೆ.</translation>
 <translation id="6820676911989879663">ವಿರಾಮ ತೆಗೆದುಕೊಳ್ಳಿ!</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">ಸೈನ್-ಇನ್ ಮಾಡಿರುವ ಯಾವುದೇ ಬಳಕೆದಾರರನ್ನು, ಪಾಸ್‌ವರ್ಡ್ ಇಲ್ಲದೆಯೇ ಪ್ರವೇಶಿಸಲು ಈ ವೈಶಿಷ್ಟ್ಯವು ಅವಕಾಶ ನೀಡುತ್ತದೆ. ನಿಮಗೆ ವಿಶ್ವಾಸವಿರುವ ಖಾತೆಗಳೊಂದಿಗೆ ಮಾತ್ರ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಿ.</translation>
 <translation id="9193626018745640770">"ಅಪರಿಚಿತ ಸ್ವೀಕರಿಸುವವರು" ನಲ್ಲಿ ಬಿತ್ತರಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="9194617393863864469">ಮತ್ತೊಂದು ಬಳಕೆದಾರರಾಗಿ ಸೈನ್‌ ಇನ್‌ ಮಾಡಿ...</translation>
-<translation id="9201131092683066720">ಬ್ಯಾಟರಿ <ph name="PERCENTAGE" />% ಪೂರ್ಣವಾಗಿದೆ.</translation>
 <translation id="9210037371811586452">ಏಕೀಕೃತ ಡೆಸ್ಕ್‌ಟಾಪ್ ಮೋಡ್‌ನಿಂದ ನಿರ್ಗಮಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="9215934040295798075">ವಾಲ್‌ಪೇಪರ್‌ ಹೊಂದಿಸಿ</translation>
 <translation id="921989828232331238">ಈ ದಿನ ನಿಮ್ಮ ಪೋಷಕರು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಲಾಕ್ ಮಾಡಿದ್ದಾರೆ</translation>
diff --git a/ash/strings/ash_strings_ko.xtb b/ash/strings/ash_strings_ko.xtb
index fe98e15..66bd790 100644
--- a/ash/strings/ash_strings_ko.xtb
+++ b/ash/strings/ash_strings_ko.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">블루투스를 전환합니다. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">이 세션의 모든 활동에 액세스</translation>
 <translation id="1608626060424371292">이 사용자 삭제</translation>
-<translation id="1621499497873603021">남은 배터리 사용 시간은 <ph name="TIME_LEFT" />입니다.</translation>
 <translation id="1654477262762802994">음성 검색 시작</translation>
 <translation id="1658406695958299976">비밀번호를 여전히 확인할 수 없습니다. 참고: 최근에 비밀번호를 변경한 경우 로그아웃해야 새로운 비밀번호가 적용됩니다. 이전 비밀번호를 사용해 보세요.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> 남음</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">고정 돋보기가 사용 설정되었습니다. 사용 중지하려면 다시 Ctrl+Search+D를 누르세요.</translation>
 <translation id="3000461861112256445">모노 오디오</translation>
 <translation id="3009178788565917040">출력</translation>
-<translation id="3019353588588144572">배터리 충전이 완료될 때까지 남은 시간은 <ph name="TIME_REMAINING" />입니다.</translation>
 <translation id="3051128274746680507">관리 대상 사용자 프로필이 곧 삭제됩니다. 자세히 알아보려면 로그인하세요.</translation>
 <translation id="3055162170959710888">오늘 이 기기를 <ph name="USED_TIME" /> 동안 사용했습니다.</translation>
 <translation id="3077734595579995578">Shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">휴대기기를 찾을 수 없습니다.</translation>
 <translation id="6723839937902243910">전원</translation>
 <translation id="6751826523481687655">성능 추적이 사용 설정되어 있습니다.</translation>
-<translation id="6785414152754474415">배터리가 <ph name="PERCENTAGE" />% 충전되었으며 충전 중입니다.</translation>
 <translation id="6790428901817661496">재생</translation>
 <translation id="6803622936009808957">지원되는 해상도가 없으므로 디스플레이를 그대로 반영할 수 없습니다. 대신 확장 데스크톱을 시작했습니다.</translation>
 <translation id="6820676911989879663">잠시 쉬어 가세요.</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">이 기능을 사용하면 로그인한 모든 사용자에게 비밀번호 없이 액세스할 수 있습니다. 이 기능은 신뢰할 수 있는 계정에만 사용하시기 바랍니다.</translation>
 <translation id="9193626018745640770">알 수 없는 수신기에 전송 중</translation>
 <translation id="9194617393863864469">다른 사용자로 로그인...</translation>
-<translation id="9201131092683066720">배터리가 <ph name="PERCENTAGE" />% 남았습니다.</translation>
 <translation id="9210037371811586452">통합 바탕화면 모드 종료 중</translation>
 <translation id="9215934040295798075">배경화면 설정</translation>
 <translation id="921989828232331238">부모님이 오늘 하루 동안 기기를 잠갔습니다.</translation>
diff --git a/ash/strings/ash_strings_lt.xtb b/ash/strings/ash_strings_lt.xtb
index d1b7c466..2ad1b90 100644
--- a/ash/strings/ash_strings_lt.xtb
+++ b/ash/strings/ash_strings_lt.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Perjungti „Bluetooth“. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Pasiekti visą šios sesijos veiklą</translation>
 <translation id="1608626060424371292">Pašalinti šį naudotoją</translation>
-<translation id="1621499497873603021">Laikas, likęs iki akumuliatoriaus išsikrovimo: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Pradėti užklausą balsu</translation>
 <translation id="1658406695958299976">Deja, jūsų slaptažodžio patvirtinti vis tiek nepavyko. Pastaba: jei neseniai pakeitėte slaptažodį, naujas slaptažodis bus taikomas, kai atsijungsite. Čia naudokite senąjį slaptažodį.</translation>
 <translation id="1677472565718498478">Liko <ph name="TIME" /></translation>
@@ -139,7 +138,6 @@
 <translation id="2996462380875591307">Prie doko prijungtas didintuvas įgalintas. Dar kartą paspauskite „Ctrl“ + paieškos klavišą + D, kad išjungtumėte režimą.</translation>
 <translation id="3000461861112256445">Monofoninis garsas</translation>
 <translation id="3009178788565917040">Išvestis</translation>
-<translation id="3019353588588144572">Laikas, likęs iki akumuliatoriaus įkrovimo: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Jūsų prižiūrimo naudotojo profilis netrukus bus pašalintas. Prisijunkite, kad sužinotumėte daugiau.</translation>
 <translation id="3055162170959710888">Šį įrenginį šiandien naudojote <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -370,7 +368,6 @@
 <translation id="6715542151869432661">Nerasta jokių mobiliųjų įrenginių.</translation>
 <translation id="6723839937902243910">Maitinimas</translation>
 <translation id="6751826523481687655">Našumo stebėjimas įjungtas</translation>
-<translation id="6785414152754474415">Likusi akumuliatoriaus įkrova: <ph name="PERCENTAGE" /> %. Jis įkraunamas.</translation>
 <translation id="6790428901817661496">Žaisti</translation>
 <translation id="6803622936009808957">Nepavyko dubliuoti vaizdų, nes nepavyko rasti palaikomų skyrų. Vietoje to įjungtas išplėstinio darbalaukio režimas.</translation>
 <translation id="6820676911989879663">Padarykite pertrauką!</translation>
@@ -526,7 +523,6 @@
 <translation id="9179259655489829027">Naudodami šią funkciją galite greitai pasiekti bet kurį prisijungusį naudotoją be slaptažodžio. Šią funkciją naudokite tik su patikimomis paskyromis.</translation>
 <translation id="9193626018745640770">Perduodama į nežinomą imtuvą</translation>
 <translation id="9194617393863864469">Prisijungti kaip kitas naudotojas...</translation>
-<translation id="9201131092683066720">Likusi akumuliatoriaus įkrova: <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Išjungiamas sujungiamojo darbalaukio režimas</translation>
 <translation id="9215934040295798075">Nustatyti ekrano foną</translation>
 <translation id="921989828232331238">Vienas iš tėvų užrakino įrenginį dienai</translation>
diff --git a/ash/strings/ash_strings_lv.xtb b/ash/strings/ash_strings_lv.xtb
index 7c3e3bf..eccd704 100644
--- a/ash/strings/ash_strings_lv.xtb
+++ b/ash/strings/ash_strings_lv.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Pārslēgt Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Piekļūt visām jūsu darbībām šīs sesijas laikā</translation>
 <translation id="1608626060424371292">Noņemt šo lietotāju</translation>
-<translation id="1621499497873603021">Atlikušais akumulatora darbības laiks: <ph name="TIME_LEFT" />.</translation>
 <translation id="1654477262762802994">Sākt balss vaicājumu</translation>
 <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>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Notiek ierīču meklēšana...</translation>
 <translation id="2268130516524549846">Bluetooth atspējots</translation>
 <translation id="2268813581635650749">Izrakstīt visus</translation>
+<translation id="2277103315734023688">Pāriet uz priekšu</translation>
 <translation id="2292698582925480719">Attēlojuma mērogs</translation>
 <translation id="2302092602801625023">Šo kontu pārvalda lietotne Family Link.</translation>
 <translation id="2303600792989757991">Pārslēgt loga kopsavilkumu</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Dokotās lupas režīms ir iespējots. Lai to izslēgtu, nospiediet taustiņu kombināciju Ctrl+Search+D.</translation>
 <translation id="3000461861112256445">Mono audio</translation>
 <translation id="3009178788565917040">Izvade</translation>
-<translation id="3019353588588144572">Pilnīgais uzlādei nepieciešamais laiks: <ph name="TIME_REMAINING" />.</translation>
 <translation id="3051128274746680507">Drīzumā tiks noņems jūsu uzraudzītais lietotāja profils. Pierakstieties, lai uzzinātu vairāk.</translation>
 <translation id="3055162170959710888">Šodien jūs izmantojāt šo ierīci: <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">USB-C ierīce (pieslēgvieta labajā pusē priekšā)</translation>
 <translation id="3400357268283240774">Papildu iestatījumi</translation>
 <translation id="3413817803639110246">Vēl nekas netiek rādīts</translation>
+<translation id="343571671045587506">Rediģēt atgādinājumu</translation>
 <translation id="3445925074670675829">USB-C ierīce</translation>
 <translation id="3454224730401036106">Savienojums ir mainīts uz drošāku tīklu.</translation>
 <translation id="3465223694362104965">Kopš pēdējoreiz pierakstījāties, šai ierīcei ir pievienota cita tastatūra. Pirms izmantojat šo tastatūru, pārliecinieties, ka tā ir uzticama.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Atlikušais laiks līdz jūsu sesijas beigām: <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Notiek savienojuma izveide ar <ph name="NAME" /></translation>
 <translation id="394485226368336402">Audio iestatījumi</translation>
+<translation id="3962859241508114581">Iepriekšējais ieraksts</translation>
 <translation id="397105322502079400">Aprēķina...</translation>
 <translation id="3995138139523574647">USB-C ierīce (pieslēgvieta labajā pusē aizmugurē)</translation>
 <translation id="4017989525502048489">Lāzera rādītājs</translation>
 <translation id="4042660782729322247">Jūs šobrīd kopīgojat savu ekrānu</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Izslēgt lietotnē}zero{Izslēgt # lietotnēs}one{Izslēgt # lietotnē}other{Izslēgt # lietotnēs}}</translation>
 <translation id="4072264167173457037">Vidēji spēcīgs signāls</translation>
+<translation id="4112140312785995938">Pārtīt atpakaļ</translation>
 <translation id="4129129681837227511">Lai skatītu paziņojumus bloķēšanas ekrānā, atbloķējiet, lai mainītu iestatījumu</translation>
 <translation id="4146833061457621061">Atskaņot mūziku</translation>
 <translation id="4181841719683918333">Valodas</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">Ekrāna pārvaldības koplietošana ar <ph name="HELPER_NAME" />, izmantojot attālo palīdzību.</translation>
 <translation id="4430019312045809116">Skaļums</translation>
 <translation id="4450893287417543264">Vairs nerādīt</translation>
+<translation id="4477350412780666475">Nākamais ieraksts</translation>
 <translation id="4479639480957787382">tīkls Ethernet</translation>
 <translation id="4481530544597605423">Pārī nesavienotās ierīces</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: notiek savienojuma izveide...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">Netika atrasta neviena mobilā ierīce.</translation>
 <translation id="6723839937902243910">Strāvas padeve</translation>
 <translation id="6751826523481687655">Veiktspējas izsekošana ir ieslēgta.</translation>
-<translation id="6785414152754474415">Akumulatora uzlādes līmenis: <ph name="PERCENTAGE" />%; uzlāde tiek turpināta.</translation>
 <translation id="6790428901817661496">Atskaņot</translation>
 <translation id="6803622936009808957">Nevarēja spoguļot displejus, jo netika atrasta atbalstīta izšķirtspēja. Tā vietā tika aktivizēts paplašinātās darbvirsmas režīms.</translation>
 <translation id="6820676911989879663">Laiks pārtraukumam</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">Apturēt taimera darbību</translation>
 <translation id="7256634071279256947">Aizmugurējais mikrofons</translation>
 <translation id="726276584504105859">Velciet šeit, lai izmantotu ekrāna sadalīšanu.</translation>
+<translation id="7262906531272962081">Izveidot atgādinājumu</translation>
 <translation id="7303365578352795231">Tiek atbildēts citā ierīcē.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Ekrāntastatūra</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">Šī funkcija ļauj ātri piekļūt jebkuram lietotājam, kurš ir pierakstījies, nepieprasot paroli. Izmantojiet šo funkciju tikai uzticamiem kontiem.</translation>
 <translation id="9193626018745640770">Apraide nezināmā uztvērējā</translation>
 <translation id="9194617393863864469">Pierakstīties kā citam lietotājam...</translation>
-<translation id="9201131092683066720">Akumulatora uzlādes līmenis: <ph name="PERCENTAGE" />%</translation>
 <translation id="9210037371811586452">Notiek iziešana no vienotās darbvirsmas režīma</translation>
 <translation id="9215934040295798075">Iestatīt fona tapeti</translation>
 <translation id="921989828232331238">Jūsu vecāki bloķēja jūsu ierīci šai dienai</translation>
diff --git a/ash/strings/ash_strings_ml.xtb b/ash/strings/ash_strings_ml.xtb
index 3c70396f..d8583bc 100644
--- a/ash/strings/ash_strings_ml.xtb
+++ b/ash/strings/ash_strings_ml.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Bluetooth മാറ്റുക. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">ഈ സെഷനിൽ നിങ്ങളുടെ എല്ലാ ആക്‌റ്റിവിറ്റികളും ആക്‌സസ് ചെയ്യുക</translation>
 <translation id="1608626060424371292">ഈ ഉപയോക്താവിനെ നീക്കംചെയ്യുക</translation>
-<translation id="1621499497873603021">ബാറ്ററി ശൂന്യമാകുന്നതിന് ശേഷിക്കുന്ന സമയം, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">ഒരു ശബ്‌ദ ചോദ്യം ആരംഭിക്കുക</translation>
 <translation id="1658406695958299976">ക്ഷമിക്കണം, ഇപ്പോഴും നിങ്ങളുടെ പാസ്‌വേഡ് പരിശോധിച്ചുറപ്പിക്കാൻ കഴിഞ്ഞില്ല. ശ്രദ്ധിക്കുക: സമീപകാലത്ത് നിങ്ങൾ പാസ്‌വേഡ് മാറ്റിയിട്ടുണ്ടെങ്കിൽ, സൈൻ ഔട്ട് ചെയ്‌തുകഴിഞ്ഞാൽ പുതിയ പാസ്‌വേഡ് ബാധകമാകും, ഇവിടെ പഴയ പാസ്‌വേഡ് ഉപയോഗിക്കുക.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> ശേഷിക്കുന്നു</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">ഡോക്ക് ചെയ്‌ത മാഗ്നിഫയർ പ്രവർത്തനക്ഷമമാക്കി. ഇത് മാറ്റാൻ, കൺട്രോൾ+തിരയൽ+D വീണ്ടും അമർത്തുക.</translation>
 <translation id="3000461861112256445">മോണോ ഓഡിയോ</translation>
 <translation id="3009178788565917040">ഔട്ട്പുട്ട്</translation>
-<translation id="3019353588588144572">ബാറ്ററി പൂർണ്ണമായി ചാർജ്ജാകുന്നതിന് ശേഷിക്കുന്ന സമയം, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">നിങ്ങളുടെ മേൽനോട്ടത്തിലുള്ള ഉപയോക്തൃ പ്രൊഫൈൽ വൈകാതെ നീക്കം ചെയ്യപ്പെടും. കൂടുതലറിയാൻ സൈൻ ഇൻ ചെയ്യുക.</translation>
 <translation id="3055162170959710888">നിങ്ങൾ ഇന്ന് <ph name="USED_TIME" />, ഈ ഉപകരണം ഉപയോഗിച്ചു</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">മൊബൈലുകളൊന്നും കണ്ടെത്തിയില്ല.</translation>
 <translation id="6723839937902243910">പവർ</translation>
 <translation id="6751826523481687655">പ്രകടനം പിന്തുടരൽ ഓണാണ്</translation>
-<translation id="6785414152754474415">ബാറ്ററി <ph name="PERCENTAGE" />% നിറഞ്ഞിരിക്കുന്നു, ചാർജുചെയ്യൽ തുടരുന്നു.</translation>
 <translation id="6790428901817661496">പ്ലേചെയ്യുക</translation>
 <translation id="6803622936009808957">പിന്തുണയ്‌ക്കുന്ന മിഴിവുകൾ കണ്ടെത്താത്തതിനാൽ പ്രദർശനങ്ങൾ പ്രതിഫലിപ്പിക്കാനായില്ല. പകരം വിപുലീകൃത ഡെസ്‌ക്‌ടോപ്പ് നൽകി.</translation>
 <translation id="6820676911989879663">ഒരു ഇടവേള എടുക്കൂ!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">സൈൻ ഇൻ ചെയ്‌ത ഏതൊരു ഉപയോക്താവിനെയും പാസ്‌വേഡ് ഇല്ലാതെ തന്നെ വേഗത്തിൽ ആക്‌സസ് ചെയ്യാൻ ഈ ഫീച്ചർ നിങ്ങളെ അനുവദിക്കുന്നു. നിങ്ങൾക്ക് വിശ്വാസമുള്ള അക്കൗണ്ടുകളിൽ മാത്രം ഈ ഫീച്ചർ ഉപയോഗിക്കുക.</translation>
 <translation id="9193626018745640770">ഒരു അജ്ഞാത റിസീവറിൽ കാസ്‌റ്റ് ചെയ്യുന്നു</translation>
 <translation id="9194617393863864469">മറ്റൊരു ഉപയോക്താവായി സൈൻ ഇൻ ചെയ്യുക...</translation>
-<translation id="9201131092683066720">ബാറ്ററി <ph name="PERCENTAGE" />% നിറഞ്ഞു.</translation>
 <translation id="9210037371811586452">ഏകീകൃത ഡെസ്‌ക്‌ടോപ്പ് മോഡിൽ നിന്ന് പുറത്തുകടക്കുന്നു</translation>
 <translation id="9215934040295798075">വാൾപേപ്പർ സജ്ജമാക്കുക</translation>
 <translation id="921989828232331238">നിങ്ങളുടെ രക്ഷിതാവ് ഇന്നത്തേക്ക് ഉപകരണം ലോക്ക് ചെയ്‌തു</translation>
diff --git a/ash/strings/ash_strings_mr.xtb b/ash/strings/ash_strings_mr.xtb
index cae407b..9621659a 100644
--- a/ash/strings/ash_strings_mr.xtb
+++ b/ash/strings/ash_strings_mr.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">ब्लूटूथ टॉगल करा. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">या सेशनमध्ये तुमची सर्व अ‍ॅक्टिव्हिटी अ‍ॅक्सेस करा</translation>
 <translation id="1608626060424371292">हा वापरकर्ता काढून टाका</translation>
-<translation id="1621499497873603021">बॅटरी रिक्त होईपर्यंत शिल्लक वेळ, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">व्हॉइस क्वेरी सुरू करा</translation>
 <translation id="1658406695958299976">सॉरी, तुमच्या पासवर्डची पडताळणी अजूनही झालेली नाही. टीप: तुम्ही तुमचा पासवर्ड अलीकडेच बदलला असल्यास, तुम्ही साइन आउट केल्यानंतर तुमचा नवीन पासवर्ड लागू केला जाईल, कृपया येथे जुना पासवर्ड वापरा.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> शिल्लक</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">डॉक केलेले मॅग्निफायर सुरू केले. ते टॉगल करून बंद करण्यासाठी पुन्हा Ctrl+Search+D दाबा.</translation>
 <translation id="3000461861112256445">मोनो ऑडिओ</translation>
 <translation id="3009178788565917040">आउटपुट</translation>
-<translation id="3019353588588144572">बॅटरी पूर्णपणे चार्ज होईपर्यंत उर्वरित वेळ, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">तुमचे व्यवस्थापित वापरकर्ता प्रोफाइल लवकरच काढले जाईल. अधिक जाणून घेण्यासाठी साइन इन करा.</translation>
 <translation id="3055162170959710888">तुम्ही हे डिव्हाइस आज <ph name="USED_TIME" /> साठी वापरले</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">कोणतेही मोबाइल डिव्हाइस आढळले नाहीत.</translation>
 <translation id="6723839937902243910">सामर्थ्य</translation>
 <translation id="6751826523481687655">परफॉर्मंस ट्रेसिंग चालू आहे</translation>
-<translation id="6785414152754474415">बॅटरी <ph name="PERCENTAGE" />% भरली आहे आणि चार्ज होत आहे.</translation>
 <translation id="6790428901817661496">प्ले करा</translation>
 <translation id="6803622936009808957">समर्थित रिजोल्यूशन न आढळल्यामुळे प्रदर्शने मिरर करू शकली नाहीत. त्याऐवजी विस्तारित डेस्कटॉप एंटर केला.</translation>
 <translation id="6820676911989879663">ब्रेक घ्या!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">हे वैशिष्ट्य तुम्हाला पासवर्ड शिवाय कोणत्याही साइन-इन केलेल्या वापरकर्त्यास जलदपणे अॅक्सेस करण्याची अनुमती देते. तुमचा विश्वास असलेल्या खात्यांसाठीच फक्त या वैशिष्ट्याचा वापर करा.</translation>
 <translation id="9193626018745640770">एका अज्ञात मिळवणाऱ्यावर कास्ट करत आहे</translation>
 <translation id="9194617393863864469">दुसरा वापरकर्ता साइन इन करा...</translation>
-<translation id="9201131092683066720">बॅटरी <ph name="PERCENTAGE" />% भरली आहे.</translation>
 <translation id="9210037371811586452">एकीकृत डेस्कटॉप मोड मधून बाहेर पडत आहे</translation>
 <translation id="9215934040295798075">वॉलपेपर सेट करा</translation>
 <translation id="921989828232331238">तुमच्या पालकाने आज दिवसभरासाठी तुमचे डिव्हाइस लॉक केले</translation>
diff --git a/ash/strings/ash_strings_ms.xtb b/ash/strings/ash_strings_ms.xtb
index ea44a93..f959939 100644
--- a/ash/strings/ash_strings_ms.xtb
+++ b/ash/strings/ash_strings_ms.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Togol Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Akses semua aktiviti anda dalam sesi ini</translation>
 <translation id="1608626060424371292">Alih keluar pengguna ini</translation>
-<translation id="1621499497873603021">Masa yang tinggal sehingga bateri kosong, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Mulakan pertanyaan suara</translation>
 <translation id="1658406695958299976">Maaf, kata laluan anda masih tidak dapat disahkan. Perhatian: jika anda menukar kata laluan anda baru-baru ini, kata laluan baharu anda akan digunakan apabila anda log keluar, sila gunakan kata laluan yang lama di sini.</translation>
 <translation id="1677472565718498478">Berbaki <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Penggadang Didok didayakan. Tekan Ctrl+Cari+D semula untuk mematikannya.</translation>
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Output</translation>
-<translation id="3019353588588144572">Masa yang tinggal sehingga bateri dicas sepenuhnya, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Profil pengguna di bawah seliaan anda akan dialih keluar tidak lama lagi. Log masuk untuk mengetahui lebih lanjut.</translation>
 <translation id="3055162170959710888">Anda menggunakan peranti ini selama <ph name="USED_TIME" /> hari ini</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">Peranti mudah alih tidak ditemui.</translation>
 <translation id="6723839937902243910">Kuasa</translation>
 <translation id="6751826523481687655">Pengesanan prestasi dihidupkan</translation>
-<translation id="6785414152754474415">Bateri <ph name="PERCENTAGE" />% penuh dan sedang dicas.</translation>
 <translation id="6790428901817661496">Mainkan</translation>
 <translation id="6803622936009808957">Tidak dapat membalikkan paparan memandangkan tiada peleraian disokong ditemui. Sebaliknya, memasuki mod desktop yang dilanjutkan.</translation>
 <translation id="6820676911989879663">Berehatlah!</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">Ciri ini membolehkan anda mengakses dengan cepat mana-mana pengguna yang telah log masuk tanpa memerlukan kata laluan. Gunakan ciri ini dengan akaun yang dipercayai sahaja.</translation>
 <translation id="9193626018745640770">Menghantar pada penerima yang tidak diketahui</translation>
 <translation id="9194617393863864469">Log masuk pengguna lain...</translation>
-<translation id="9201131092683066720">Bateri <ph name="PERCENTAGE" />% penuh.</translation>
 <translation id="9210037371811586452">Keluar daripada mod desktop bersatu</translation>
 <translation id="9215934040295798075">Tetapkan kertas dinding</translation>
 <translation id="921989828232331238">Ibu/bapa anda mengunci peranti untuk hari ini</translation>
diff --git a/ash/strings/ash_strings_nl.xtb b/ash/strings/ash_strings_nl.xtb
index 0711a36..a563726 100644
--- a/ash/strings/ash_strings_nl.xtb
+++ b/ash/strings/ash_strings_nl.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Bluetooth schakelen. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Al je activiteit in deze sessie bekijken</translation>
 <translation id="1608626060424371292">Deze gebruiker verwijderen</translation>
-<translation id="1621499497873603021">Resterende tijd totdat de batterij leeg is: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Een gesproken zoekopdracht starten</translation>
 <translation id="1658406695958299976">Je wachtwoord kan nog steeds niet worden geverifieerd. Opmerking: Als je je wachtwoord onlangs hebt gewijzigd, wordt je nieuwe wachtwoord doorgevoerd wanneer je uitlogt. Gebruik hier het oude wachtwoord.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> resterend</translation>
@@ -139,7 +138,6 @@
 <translation id="2996462380875591307">'Gedockt vergrootglas' is ingeschakeld. Druk nogmaals op Ctrl+Zoeken+D om dit uit te schakelen.</translation>
 <translation id="3000461861112256445">Monogeluid</translation>
 <translation id="3009178788565917040">Uitgang</translation>
-<translation id="3019353588588144572">Resterende tijd totdat de batterij volledig is opgeladen: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Je gebruikersprofiel met beperkte rechten wordt binnenkort verwijderd. Log in voor meer informatie.</translation>
 <translation id="3055162170959710888">Je hebt dit apparaat vandaag <ph name="USED_TIME" /> gebruikt</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -369,7 +367,6 @@
 <translation id="6715542151869432661">Geen mobiele apparaten gevonden.</translation>
 <translation id="6723839937902243910">Voeding</translation>
 <translation id="6751826523481687655">Bijhouden van prestaties is ingeschakeld</translation>
-<translation id="6785414152754474415">De batterij is <ph name="PERCENTAGE" />% vol en wordt opgeladen.</translation>
 <translation id="6790428901817661496">Spelen</translation>
 <translation id="6803622936009808957">Kan schermen niet spiegelen, omdat er geen ondersteunde resoluties zijn gevonden. Het uitgebreide bureaublad is geactiveerd.</translation>
 <translation id="6820676911989879663">Neem een pauze</translation>
@@ -525,7 +522,6 @@
 <translation id="9179259655489829027">Met deze functie kun je snel zonder wachtwoord toegang krijgen tot iedere ingelogde gebruiker. Gebruik deze functie alleen met accounts die je vertrouwt.</translation>
 <translation id="9193626018745640770">Casten naar een onbekende ontvanger</translation>
 <translation id="9194617393863864469">Als andere gebruiker inloggen...</translation>
-<translation id="9201131092683066720">De batterij is <ph name="PERCENTAGE" />% vol.</translation>
 <translation id="9210037371811586452">Samengestelde desktopmodus wordt gesloten</translation>
 <translation id="9215934040295798075">Achtergrond instellen</translation>
 <translation id="921989828232331238">Je ouder heeft je apparaat de hele dag vergrendeld</translation>
diff --git a/ash/strings/ash_strings_no.xtb b/ash/strings/ash_strings_no.xtb
index e83f020a..dc226566e 100644
--- a/ash/strings/ash_strings_no.xtb
+++ b/ash/strings/ash_strings_no.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Slå av/på Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">se all aktiviteten din i denne økten</translation>
 <translation id="1608626060424371292">Fjern denne brukeren</translation>
-<translation id="1621499497873603021">Gjenværende tid til batteriet er tomt – <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Start et talesøk</translation>
 <translation id="1658406695958299976">Beklager, men passordet ditt kunne fremdeles ikke bekreftes. Merk: Hvis du endret passordet ditt nylig, trer det nye passordet ditt i kraft så snart du logger av. Bruk det gamle passordet ditt her.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> igjen</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Dokket lupe er slått på. Trykk på Ctrl + Søk + D igjen for å slå det av.</translation>
 <translation id="3000461861112256445">Monolyd</translation>
 <translation id="3009178788565917040">Utdata</translation>
-<translation id="3019353588588144572">Tid som gjenstår til batteriet er fulladet – <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Den administrerte brukerprofilen din fjernes snart. Logg på for å finne ut mer.</translation>
 <translation id="3055162170959710888">Du har brukt denne enheten i <ph name="USED_TIME" /> i dag</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">Fant ingen mobilenheter.</translation>
 <translation id="6723839937902243910">Strøm</translation>
 <translation id="6751826523481687655">Ytelsessporing er slått på</translation>
-<translation id="6785414152754474415">Batteriet er <ph name="PERCENTAGE" /> % fullt og til lading.</translation>
 <translation id="6790428901817661496">Spill av</translation>
 <translation id="6803622936009808957">Kunne ikke speile skjermene fordi ingen støttede oppløsninger ble funnet. Utvidet skrivebord ble brukt i stedet.</translation>
 <translation id="6820676911989879663">Ta en pause!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">Med denne funksjonen får du rask tilgang til påloggede brukere uten å måtte skrive inn passord. Du bør bare bruke denne funksjonen med kontoer du stoler på.</translation>
 <translation id="9193626018745640770">Caster på en ukjent mottaker</translation>
 <translation id="9194617393863864469">Logg på en annen bruker</translation>
-<translation id="9201131092683066720">Batteriet er <ph name="PERCENTAGE" /> % fullt</translation>
 <translation id="9210037371811586452">Avslutter enhetlig skrivebordsmodus</translation>
 <translation id="9215934040295798075">Velg bakgrunn</translation>
 <translation id="921989828232331238">Forelderen din har låst enheten din for dagen</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb
index 2c069dd..1b2f0fe5 100644
--- a/ash/strings/ash_strings_pl.xtb
+++ b/ash/strings/ash_strings_pl.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Włącz lub wyłącz Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">uzyskiwać dostęp do całej Twojej aktywności w tej sesji;</translation>
 <translation id="1608626060424371292">Usuń tego użytkownika</translation>
-<translation id="1621499497873603021">Czas pozostały do wyczerpania baterii: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Rozpocznij zapytanie głosowe</translation>
 <translation id="1658406695958299976">Nadal nie można zweryfikować Twojego hasła. Uwaga: jeśli ostatnio hasło było zmieniane, nowe hasło zostanie zastosowane, gdy się wylogujesz. Tu podaj stare hasło.</translation>
 <translation id="1677472565718498478">Pozostało <ph name="TIME" /></translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Skanowanie w poszukiwaniu urządzeń...</translation>
 <translation id="2268130516524549846">Bluetooth wyłączony</translation>
 <translation id="2268813581635650749">Wyloguj wszystkich</translation>
+<translation id="2277103315734023688">Przewiń do przodu</translation>
 <translation id="2292698582925480719">Skala wyświetlania</translation>
 <translation id="2302092602801625023">To konto jest zarządzane przez Family Link</translation>
 <translation id="2303600792989757991">Przełącz widok ogólny okna</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Lupa zadokowana została włączona. Aby ją wyłączyć, naciśnij ponownie Ctrl+Search+D.</translation>
 <translation id="3000461861112256445">Dźwięk mono</translation>
 <translation id="3009178788565917040">Urządzenie wyjściowe</translation>
-<translation id="3019353588588144572">Czas pozostały do pełnego naładowania baterii: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Profil nadzorowanego przez Ciebie użytkownika zostanie wkrótce usunięty. Zaloguj się, by dowiedzieć się więcej.</translation>
 <translation id="3055162170959710888">Urządzenie było dziś przez Ciebie używane przez <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">Urządzenie USB-C (przedni port na prawym boku)</translation>
 <translation id="3400357268283240774">Ustawienia dodatkowe</translation>
 <translation id="3413817803639110246">Na razie nie ma nic do pokazania</translation>
+<translation id="343571671045587506">Edytuj przypomnienie</translation>
 <translation id="3445925074670675829">Urządzenie USB-C</translation>
 <translation id="3454224730401036106">Połączenie zostało przełączone na bezpieczniejszą sieć</translation>
 <translation id="3465223694362104965">Od czasu Twojego ostatniego logowania do tego urządzenia podłączono inną klawiaturę. Zanim jej użyjesz, upewnij się, że masz do niej zaufanie.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Sesja kończy się za <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Łączę z: <ph name="NAME" /></translation>
 <translation id="394485226368336402">Ustawienia dźwięku</translation>
+<translation id="3962859241508114581">Poprzedni utwór</translation>
 <translation id="397105322502079400">Obliczanie...</translation>
 <translation id="3995138139523574647">Urządzenie USB-C (tylny port na prawym boku)</translation>
 <translation id="4017989525502048489">Wskaźnik laserowy</translation>
 <translation id="4042660782729322247">Udostępniasz ekran</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Wyłączono w przypadku jednej aplikacji}few{Wyłączono w przypadku # aplikacji}many{Wyłączono w przypadku # aplikacji}other{Wyłączono w przypadku # aplikacji}}</translation>
 <translation id="4072264167173457037">średni sygnał</translation>
+<translation id="4112140312785995938">Przewiń do tyłu</translation>
 <translation id="4129129681837227511">Aby wyświetlać powiadomienia na ekranie blokady, odblokuj ekran i zmień ustawienie</translation>
 <translation id="4146833061457621061">Włącz muzykę</translation>
 <translation id="4181841719683918333">Języki</translation>
@@ -228,6 +230,7 @@
 <translation id="4421231901400348175">Udostępnianie sterowania ekranem użytkownikowi <ph name="HELPER_NAME" /> przy użyciu pomocy zdalnej.</translation>
 <translation id="4430019312045809116">Głośność</translation>
 <translation id="4450893287417543264">Nie pokazuj ponownie</translation>
+<translation id="4477350412780666475">Następny utwór</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Niesparowane urządzenia</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: łączę...</translation>
@@ -365,7 +368,6 @@
 <translation id="6715542151869432661">Nie znaleziono urządzeń mobilnych.</translation>
 <translation id="6723839937902243910">Zasilanie</translation>
 <translation id="6751826523481687655">Śledzenie wydajności jest włączone</translation>
-<translation id="6785414152754474415">Naładowanie baterii: <ph name="PERCENTAGE" />%. Trwa ładowanie.</translation>
 <translation id="6790428901817661496">Odtwórz</translation>
 <translation id="6803622936009808957">Nie można wyświetlić odbicia lustrzanego, ponieważ nie znaleziono obsługiwanych rozdzielczości. Zamiast tego został włączony pulpit rozszerzony.</translation>
 <translation id="6820676911989879663">Zrób sobie przerwę</translation>
@@ -393,6 +395,7 @@
 <translation id="7222902781030499995">Zatrzymaj licznik</translation>
 <translation id="7256634071279256947">Tylny mikrofon</translation>
 <translation id="726276584504105859">Przeciągnij tutaj, by podzielić ekran</translation>
+<translation id="7262906531272962081">Utwórz przypomnienie</translation>
 <translation id="7303365578352795231">Odpowiem na innym urządzeniu.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Klawiatura ekranowa</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">Ta funkcja umożliwia szybki dostęp do każdego konta zalogowanego użytkownika bez konieczności podawania hasła. Używaj jej tylko w przypadku kont, którym ufasz.</translation>
 <translation id="9193626018745640770">Przesyłam do nieznanego odbiornika</translation>
 <translation id="9194617393863864469">Zaloguj innego użytkownika...</translation>
-<translation id="9201131092683066720">Naładowanie baterii: <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Wyłączam tryb ujednoliconego pulpitu</translation>
 <translation id="9215934040295798075">Ustaw tapetę</translation>
 <translation id="921989828232331238">Twój rodzic zablokował urządzenie na cały dzień</translation>
diff --git a/ash/strings/ash_strings_pt-BR.xtb b/ash/strings/ash_strings_pt-BR.xtb
index 53fe2989..6b5c7081 100644
--- a/ash/strings/ash_strings_pt-BR.xtb
+++ b/ash/strings/ash_strings_pt-BR.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Alternar Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">acessar todas as suas atividades nesta sessão;</translation>
 <translation id="1608626060424371292">Remover este usuário</translation>
-<translation id="1621499497873603021">O tempo restante até que a bateria se esgote é de <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Iniciar uma consulta por voz</translation>
 <translation id="1658406695958299976">Ainda não foi possível confirmar sua senha. Observação: se você alterou sua senha recentemente, a nova senha será aplicada depois que você sair da conta. Use a senha antiga aqui.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> restante(s)</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Procurando dispositivos...</translation>
 <translation id="2268130516524549846">Bluetooth desativado</translation>
 <translation id="2268813581635650749">Desconectar todos</translation>
+<translation id="2277103315734023688">Avançar</translation>
 <translation id="2292698582925480719">Escala de exibição</translation>
 <translation id="2302092602801625023">Esta conta é gerenciada pelo Family Link</translation>
 <translation id="2303600792989757991">Visão geral da janela de alternância</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Lupa ancorada ativada. Pressione Ctrl+Pesquisa+D novamente para desativá-la.</translation>
 <translation id="3000461861112256445">Áudio mono</translation>
 <translation id="3009178788565917040">Saída</translation>
-<translation id="3019353588588144572">O tempo restante até que a bateria esteja totalmente carregada é de <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Seu perfil de usuário supervisionado será removido em breve. Faça login para saber mais.</translation>
 <translation id="3055162170959710888">Você usou este dispositivo por <ph name="USED_TIME" /> hoje</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">Dispositivo USB-C (porta frontal da direita)</translation>
 <translation id="3400357268283240774">Configurações adicionais</translation>
 <translation id="3413817803639110246">Nada para ver ainda</translation>
+<translation id="343571671045587506">Editar lembrete</translation>
 <translation id="3445925074670675829">Dispositivo USB-C</translation>
 <translation id="3454224730401036106">Sua conexão foi alterada para uma rede mais segura</translation>
 <translation id="3465223694362104965">Outro teclado foi conectado a este dispositivo desde seu último acesso. Verifique se esse teclado é confiável antes de usá-lo.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Sua sessão terminará em <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Conectando-se a <ph name="NAME" /></translation>
 <translation id="394485226368336402">Configurações de áudio</translation>
+<translation id="3962859241508114581">Faixa anterior</translation>
 <translation id="397105322502079400">Calculando...</translation>
 <translation id="3995138139523574647">Dispositivo USB-C (porta traseira da direita)</translation>
 <translation id="4017989525502048489">Apontador laser</translation>
 <translation id="4042660782729322247">Você está compartilhando sua tela</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Desativadas para um app}one{Desativadas para # app}other{Desativadas para # apps}}</translation>
 <translation id="4072264167173457037">Sinal médio</translation>
+<translation id="4112140312785995938">Retroceder</translation>
 <translation id="4129129681837227511">Para ver as notificações na sua tela de bloqueio, desbloqueie a tela e altere a configuração</translation>
 <translation id="4146833061457621061">Ouvir música</translation>
 <translation id="4181841719683918333">Idiomas</translation>
@@ -228,6 +230,7 @@
 <translation id="4421231901400348175">Compartilhando o controle da sua tela com <ph name="HELPER_NAME" /> via Assistência remota.</translation>
 <translation id="4430019312045809116">Volume</translation>
 <translation id="4450893287417543264">Não mostrar novamente</translation>
+<translation id="4477350412780666475">Próxima faixa</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Dispositvos não pareados</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: conectando...</translation>
@@ -366,7 +369,6 @@
 <translation id="6715542151869432661">Nenhum dispositivo móvel encontrado.</translation>
 <translation id="6723839937902243910">Energia</translation>
 <translation id="6751826523481687655">O acompanhamento de desempenho está ativado</translation>
-<translation id="6785414152754474415">A bateria está <ph name="PERCENTAGE" />% cheia e carregando.</translation>
 <translation id="6790428901817661496">Reproduzir</translation>
 <translation id="6803622936009808957">Não foi possível espelhar os displays porque não foram encontradas resoluções suportadas. Em vez disso, foi ativada a área de trabalho estendida.</translation>
 <translation id="6820676911989879663">Faça uma pausa</translation>
@@ -394,6 +396,7 @@
 <translation id="7222902781030499995">Parar timer</translation>
 <translation id="7256634071279256947">Microfone traseiro</translation>
 <translation id="726276584504105859">Arraste aqui para usar a tela dividida</translation>
+<translation id="7262906531272962081">Criar lembrete</translation>
 <translation id="7303365578352795231">Respondendo em outro dispositivo.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Teclado virtual</translation>
@@ -521,7 +524,6 @@
 <translation id="9179259655489829027">Este recurso permite acessar rapidamente qualquer usuário conectado sem a necessidade de uma senha. Use esse recurso somente com contas em que você confia.</translation>
 <translation id="9193626018745640770">Transmitindo para um destinatário desconhecido</translation>
 <translation id="9194617393863864469">Fazer login com outro usuário...</translation>
-<translation id="9201131092683066720">A bateria está <ph name="PERCENTAGE" />% carregada.</translation>
 <translation id="9210037371811586452">Saindo do modo de área de trabalho unificada</translation>
 <translation id="9215934040295798075">Definir plano de fundo</translation>
 <translation id="921989828232331238">Seu pai/mãe bloqueou o dispositivo por hoje</translation>
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb
index af9a7e4..b79d6b9 100644
--- a/ash/strings/ash_strings_pt-PT.xtb
+++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Ativar/desativar Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Aceda a toda a sua atividade nesta sessão.</translation>
 <translation id="1608626060424371292">Remover este utilizador</translation>
-<translation id="1621499497873603021">Tempo restante até a bateria terminar, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Iniciar uma consulta de voz</translation>
 <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>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">A procurar dispositivos...</translation>
 <translation id="2268130516524549846">Bluetooth desativado</translation>
 <translation id="2268813581635650749">Terminar sessão de todos</translation>
+<translation id="2277103315734023688">Procurar para a frente</translation>
 <translation id="2292698582925480719">Escala de apresentação</translation>
 <translation id="2302092602801625023">Esta conta é gerida pelo Family Link</translation>
 <translation id="2303600792989757991">Ativar/desativar vista geral das janelas</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Lupa ancorada ativada. Prima Ctrl + Pesquisa + D novamente para a desativar.</translation>
 <translation id="3000461861112256445">Áudio mono</translation>
 <translation id="3009178788565917040">Saída</translation>
-<translation id="3019353588588144572">Tempo restante até a bateria estar totalmente carregada: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">O seu perfil de utilizador supervisionado será removido brevemente. Inicie sessão para saber mais.</translation>
 <translation id="3055162170959710888">Utilizou este dispositivo durante <ph name="USED_TIME" /> hoje.</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">Dispositivo USB-C (porta frontal do lado direito)</translation>
 <translation id="3400357268283240774">Definições adicionais</translation>
 <translation id="3413817803639110246">Ainda não existe nada para ver</translation>
+<translation id="343571671045587506">Editar lembrete</translation>
 <translation id="3445925074670675829">Dispositivo USB-C</translation>
 <translation id="3454224730401036106">A sua ligação mudou para uma rede mais segura.</translation>
 <translation id="3465223694362104965">Foi ligado outro teclado a este dispositivo desde o seu último acesso. Certifique-se de que confia neste teclado antes de o utilizar.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">A sessão termina dentro de <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">A ligar a <ph name="NAME" /></translation>
 <translation id="394485226368336402">Definições de áudio</translation>
+<translation id="3962859241508114581">Faixa anterior</translation>
 <translation id="397105322502079400">A calcular...</translation>
 <translation id="3995138139523574647">Dispositivo USB-C (porta traseira do lado direito)</translation>
 <translation id="4017989525502048489">Ponteiro de laser</translation>
 <translation id="4042660782729322247">Está a partilhar o seu ecrã</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Desativado para uma aplicação}other{Desativado para # aplicações}}</translation>
 <translation id="4072264167173457037">Sinal médio</translation>
+<translation id="4112140312785995938">Procurar para trás</translation>
 <translation id="4129129681837227511">Para ver notificações no ecrã de bloqueio, desbloqueie o mesmo para alterar a definição</translation>
 <translation id="4146833061457621061">Tocar música</translation>
 <translation id="4181841719683918333">Idiomas</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">A partilhar o controlo do seu ecrã com <ph name="HELPER_NAME" /> através da Assistência remota.</translation>
 <translation id="4430019312045809116">Volume</translation>
 <translation id="4450893287417543264">Não mostrar de novo</translation>
+<translation id="4477350412780666475">Faixa seguinte</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Dispositivos dessincronizados</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: A ligar...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">Não foram encontrados dispositivos móveis.</translation>
 <translation id="6723839937902243910">Alimentação</translation>
 <translation id="6751826523481687655">O rastreio do desempenho está ativado.</translation>
-<translation id="6785414152754474415">A bateria está <ph name="PERCENTAGE" />% cheia e a carregar.</translation>
 <translation id="6790428901817661496">Reproduzir</translation>
 <translation id="6803622936009808957">Não foi possível espelhar os ecrãs, porque não foram encontradas resoluções suportadas. Em vez disso, entrou no ambiente de trabalho expandido.</translation>
 <translation id="6820676911989879663">Faça uma pausa!</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">Parar temporizador</translation>
 <translation id="7256634071279256947">Microfone posterior</translation>
 <translation id="726276584504105859">Arraste para aqui para utilizar o ecrã dividido</translation>
+<translation id="7262906531272962081">Criar lembrete</translation>
 <translation id="7303365578352795231">A responder noutro dispositivo…</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Teclado no ecrã</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">Esta funcionalidade permite-lhe aceder rapidamente a qualquer utilizador com a sessão iniciada sem ser necessária uma palavra-passe. Utilize esta funcionalidade apenas com contas fidedignas.</translation>
 <translation id="9193626018745640770">A transmitir para um recetor desconhecido…</translation>
 <translation id="9194617393863864469">Iniciar sessão com outro utilizador...</translation>
-<translation id="9201131092683066720">A bateria está <ph name="PERCENTAGE" />% cheia.</translation>
 <translation id="9210037371811586452">A sair do Modo de ambiente de trabalho unificado</translation>
 <translation id="9215934040295798075">Definir imagem de fundo</translation>
 <translation id="921989828232331238">Os teus pais bloquearam o dispositivo para o resto do dia</translation>
diff --git a/ash/strings/ash_strings_ro.xtb b/ash/strings/ash_strings_ro.xtb
index 28eb526..331a1e1 100644
--- a/ash/strings/ash_strings_ro.xtb
+++ b/ash/strings/ash_strings_ro.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Comută Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">să acceseze toată activitatea din această sesiune;</translation>
 <translation id="1608626060424371292">Eliminați acest utilizator</translation>
-<translation id="1621499497873603021">Timp rămas până la descărcarea bateriei: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Începe o interogare vocală</translation>
 <translation id="1658406695958299976">Ne pare rău, parola tot nu a putut fi confirmată. Notă: dacă ți-ai schimbat recent parola, aceasta se va aplica după ce te deconectezi. Te rugăm să folosești aici parola veche.</translation>
 <translation id="1677472565718498478">Timp rămas: <ph name="TIME" /></translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Se caută gadgeturi...</translation>
 <translation id="2268130516524549846">Bluetooth dezactivat</translation>
 <translation id="2268813581635650749">Deconectați toți utilizatorii</translation>
+<translation id="2277103315734023688">Derulează înainte</translation>
 <translation id="2292698582925480719">Scară afișaj</translation>
 <translation id="2302092602801625023">Acest cont este gestionat de Family Link</translation>
 <translation id="2303600792989757991">Activați/Dezactivați prezentarea ferestrei</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Lupa andocată este activată. Apasă din nou pe Ctrl + tasta de căutare + D pentru a o dezactiva.</translation>
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Ieșiri</translation>
-<translation id="3019353588588144572">Timp rămas până la încărcarea completă a bateriei: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Profilul tău de utilizator monitorizat va fi eliminat în curând. Conectează-te pentru a afla mai multe.</translation>
 <translation id="3055162170959710888">Ai folosit acest dispozitiv <ph name="USED_TIME" /> astăzi</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">Dispozitiv USB-C (portul din dreapta față)</translation>
 <translation id="3400357268283240774">Setări suplimentare</translation>
 <translation id="3413817803639110246">Încă nu este nimic de văzut</translation>
+<translation id="343571671045587506">Editează mementoul</translation>
 <translation id="3445925074670675829">Dispozitiv USB-C</translation>
 <translation id="3454224730401036106">Conexiunea a trecut la o rețea mai sigură</translation>
 <translation id="3465223694362104965">La acest dispozitiv s-a conectat o altă tastatură de când l-ai folosit ultima dată. Asigură-te că ai încredere în această tastatură înainte să o folosești.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Sesiunea se va încheia în <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Se conectează la <ph name="NAME" /></translation>
 <translation id="394485226368336402">Setări audio</translation>
+<translation id="3962859241508114581">Melodia anterioară</translation>
 <translation id="397105322502079400">Se calculează...</translation>
 <translation id="3995138139523574647">Dispozitiv USB-C (portul din dreapta spate)</translation>
 <translation id="4017989525502048489">Indicator laser</translation>
 <translation id="4042660782729322247">Permiți accesul la ecran</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Dezactivat pentru o aplicație}few{Dezactivat pentru # aplicații}other{Dezactivat pentru # de aplicații}}</translation>
 <translation id="4072264167173457037">Semnal mediu</translation>
+<translation id="4112140312785995938">Derulează înapoi</translation>
 <translation id="4129129681837227511">Pentru a vedea notificările pe ecranul de blocare, deblochează pentru a modifica setarea</translation>
 <translation id="4146833061457621061">Redă muzică</translation>
 <translation id="4181841719683918333">Limbi</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">În prezent, <ph name="HELPER_NAME" /> îți poate controla ecranul prin Asistență la distanță.</translation>
 <translation id="4430019312045809116">Volum</translation>
 <translation id="4450893287417543264">Nu mai afișa</translation>
+<translation id="4477350412780666475">Melodia următoare</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Dispozitive neasociate</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: se conectează...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">Nu s-au găsit dispozitive mobile.</translation>
 <translation id="6723839937902243910">Alimentare</translation>
 <translation id="6751826523481687655">Urmărirea performanțelor este activată</translation>
-<translation id="6785414152754474415">Nivelul bateriei este de <ph name="PERCENTAGE" />% și se încarcă.</translation>
 <translation id="6790428901817661496">Redă</translation>
 <translation id="6803622936009808957">Afișajele nu au putut fi oglindite, deoarece nu au fost găsite rezoluții acceptate. Ați intrat, în schimb, în modul monitor extins.</translation>
 <translation id="6820676911989879663">Fă o pauză!</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">Oprește cronometrul</translation>
 <translation id="7256634071279256947">Microfonul din spate</translation>
 <translation id="726276584504105859">Trage aici pentru a folosi ecranul împărțit</translation>
+<translation id="7262906531272962081">Creează un memento</translation>
 <translation id="7303365578352795231">Se răspunde pe alt dispozitiv.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Tastatură pe ecran</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">Cu această funcție poți să accesezi rapid orice utilizator conectat fără solicitarea parolei. Folosește funcția numai pentru conturile în care ai încredere.</translation>
 <translation id="9193626018745640770">Se proiectează pe un receiver necunoscut</translation>
 <translation id="9194617393863864469">Conectează-te cu alt nume de utilizator...</translation>
-<translation id="9201131092683066720">Nivelul bateriei este de <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Se iese din modul desktop unificat</translation>
 <translation id="9215934040295798075">Setează o imagine de fundal</translation>
 <translation id="921989828232331238">Părintele tău ți-a blocat dispozitivul pentru întreaga zi</translation>
diff --git a/ash/strings/ash_strings_ru.xtb b/ash/strings/ash_strings_ru.xtb
index 59a67c1..2ae57d7 100644
--- a/ash/strings/ash_strings_ru.xtb
+++ b/ash/strings/ash_strings_ru.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Изменить настройки Bluetooth. <ph name="STATE_TEXT" />.</translation>
 <translation id="1589090746204042747">Получать доступ к данным о ваших действиях во время этого сеанса.</translation>
 <translation id="1608626060424371292">Удалить профиль</translation>
-<translation id="1621499497873603021">Оставшееся время работы от батареи: <ph name="TIME_LEFT" />.</translation>
 <translation id="1654477262762802994">Произнесите запрос</translation>
 <translation id="1658406695958299976">Неверный пароль. Обратите внимание! Если вы недавно изменили пароль, но не выходили из системы, значит, новый пароль ещё не вступил в силу и необходимо указать старый.</translation>
 <translation id="1677472565718498478">Ещё <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Закрепленная лупа включена. Чтобы отключить ее, нажмите Ctrl + Поиск + D.</translation>
 <translation id="3000461861112256445">Монофонический звук</translation>
 <translation id="3009178788565917040">Выход</translation>
-<translation id="3019353588588144572">Оставшееся время до полной зарядки батареи: <ph name="TIME_REMAINING" />.</translation>
 <translation id="3051128274746680507">Скоро будет удален ваш контролируемый профиль. Войдите в аккаунт, чтобы получить подробную информацию.</translation>
 <translation id="3055162170959710888">Сегодня вы уже использовали это устройство <ph name="USED_TIME" />.</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">Мобильные устройства не найдены.</translation>
 <translation id="6723839937902243910">Питание</translation>
 <translation id="6751826523481687655">Отслеживание эффективности включено.</translation>
-<translation id="6785414152754474415">Батарея заряжена на <ph name="PERCENTAGE" />% и подключена к источнику питания.</translation>
 <translation id="6790428901817661496">Воспроизвести</translation>
 <translation id="6803622936009808957">Не удалось дублировать изображение экрана, т. к. указанное разрешение не поддерживается. Включен режим расширенного рабочего стола.</translation>
 <translation id="6820676911989879663">Пора отдохнуть!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">Эта функция позволяет быстро и без пароля получить доступ к любому аккаунту, в который выполнен вход. Используйте ее только для надежных аккаунтов.</translation>
 <translation id="9193626018745640770">Трансляция на неизвестное устройство</translation>
 <translation id="9194617393863864469">Войти в другой аккаунт...</translation>
-<translation id="9201131092683066720">Батарея заряжена на <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Выход из режима единого рабочего стола…</translation>
 <translation id="9215934040295798075">Выбрать обои</translation>
 <translation id="921989828232331238">Ваш родитель заблокировал это устройство на целый день.</translation>
diff --git a/ash/strings/ash_strings_sk.xtb b/ash/strings/ash_strings_sk.xtb
index c8ca8433..910921d7 100644
--- a/ash/strings/ash_strings_sk.xtb
+++ b/ash/strings/ash_strings_sk.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Prepnúť Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Získajte prístup k všetkej svojej aktivite v tejto relácii</translation>
 <translation id="1608626060424371292">Odstrániť tohto používateľa</translation>
-<translation id="1621499497873603021">Čas zostávajúci do vybitia batérie: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Spustiť hlasový dopyt</translation>
 <translation id="1658406695958299976">Je nám to ľúto, ale vaše heslo sa stále nedarí overiť. Poznámka: Ak ste ho nedávno zmenili, nové heslo sa použije až po odhlásení. Tu použite staré heslo.</translation>
 <translation id="1677472565718498478">Zostávajúci čas: <ph name="TIME" /></translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Hľadajú sa zariadenia...</translation>
 <translation id="2268130516524549846">Rozhranie Bluetooth je deaktivované</translation>
 <translation id="2268813581635650749">Odhlásiť všetkých</translation>
+<translation id="2277103315734023688">Pretočiť dopredu</translation>
 <translation id="2292698582925480719">Hustota zobrazenia</translation>
 <translation id="2302092602801625023">Tento účet spravuje aplikácia Family Link</translation>
 <translation id="2303600792989757991">Prepnúť prehľad okien</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Bola zapnutá ukotvená lupa. Vypnete ju opätovným stlačením kombinácie klávesov Ctrl+Hľadať+D.</translation>
 <translation id="3000461861112256445">Zvuk mono</translation>
 <translation id="3009178788565917040">Výstup</translation>
-<translation id="3019353588588144572">Čas zostávajúci do úplného nabitia batérie: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Váš profil kontrolovaného používateľa bude čoskoro odstránený. Ak chcete získať ďalšie informácie, prihláste sa.</translation>
 <translation id="3055162170959710888">Toto zariadenie si dnes používal(a) <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">zariadenia USB-C (port vpravo vpredu)</translation>
 <translation id="3400357268283240774">Ďalšie nastavenia</translation>
 <translation id="3413817803639110246">Zatiaľ nie je čo zobraziť</translation>
+<translation id="343571671045587506">Úprava pripomenutia</translation>
 <translation id="3445925074670675829">Zariadenie USB-C</translation>
 <translation id="3454224730401036106">Vaše pripojenie bolo prepnuté na bezpečnejšiu sieť</translation>
 <translation id="3465223694362104965">Od vášho posledného prihlásenia bola k tomuto zariadeniu pripojená ďalšia klávesnica. Skôr ako ju použijete, uistite sa, že je dôveryhodná.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Relácia sa skončí o <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Pripája sa k sieti <ph name="NAME" /></translation>
 <translation id="394485226368336402">Nastavenia zvuku</translation>
+<translation id="3962859241508114581">Predchádzajúca stopa</translation>
 <translation id="397105322502079400">Prebieha výpočet...</translation>
 <translation id="3995138139523574647">zariadenia USB-C (port vpravo vzadu)</translation>
 <translation id="4017989525502048489">Laserový ukazovateľ</translation>
 <translation id="4042660782729322247">Zdieľate svoju obrazovku</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Vypnuté pre aplikáciu}few{Vypnuté pre # aplikácie}many{Off for # apps}other{Vypnuté pre # aplikácií}}</translation>
 <translation id="4072264167173457037">Stredne silný signál</translation>
+<translation id="4112140312785995938">Pretočiť dozadu</translation>
 <translation id="4129129681837227511">Ak chcete, aby sa na uzamknutej obrazovke zobrazovali upozornenia, odomknite zariadenie a zmeňte nastavenie</translation>
 <translation id="4146833061457621061">Prehrať hudbu</translation>
 <translation id="4181841719683918333">Jazyky</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">Ovládanie obrazovky sa prostredníctvom Vzdialenej pomoci zdieľa s používateľom <ph name="HELPER_NAME" />.</translation>
 <translation id="4430019312045809116">Hlasitosť</translation>
 <translation id="4450893287417543264">Nabudúce nezobrazovať</translation>
+<translation id="4477350412780666475">Ďalšia stopa</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Nespárované zariadenia</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: pripája sa...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">Nenašli sa žiadne mobilné zariadenia.</translation>
 <translation id="6723839937902243910">Napájanie</translation>
 <translation id="6751826523481687655">Trasovanie výkonnosti je zapnuté</translation>
-<translation id="6785414152754474415">Batéria je nabitá na <ph name="PERCENTAGE" /> % a nabíja sa.</translation>
 <translation id="6790428901817661496">Prehrať</translation>
 <translation id="6803622936009808957">Obraz na monitoroch sa nedá zrkadliť, pretože sa nenašli podporované rozlíšenia. Namiesto toho sa spustil režim rozšírenej pracovnej plochy.</translation>
 <translation id="6820676911989879663">Urobte si prestávku.</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">Zastaviť časovač</translation>
 <translation id="7256634071279256947">Zadný mikrofóm</translation>
 <translation id="726276584504105859">Presuňte okno sem a použite tak rozdelenú obrazovku</translation>
+<translation id="7262906531272962081">Vytvoriť pripomenutie</translation>
 <translation id="7303365578352795231">Odpoveď dostanete v inom zariadení.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Klávesnica na obrazovke</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">Táto funkcia vám umožní rýchly prístup k ľubovoľnému prihlásenému používateľovi bez hesla. Používajte ju iba s dôveryhodnými účtami.</translation>
 <translation id="9193626018745640770">Prebieha prenášanie do neznámeho prijímača</translation>
 <translation id="9194617393863864469">Prihlásiť ďalšieho používateľa...</translation>
-<translation id="9201131092683066720">Batéria je nabitá na <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Ukončuje sa režim jednotnej pracovnej plochy</translation>
 <translation id="9215934040295798075">Nastaviť tapetu</translation>
 <translation id="921989828232331238">Rodič na dnes toto zariadenie uzamkol</translation>
diff --git a/ash/strings/ash_strings_sl.xtb b/ash/strings/ash_strings_sl.xtb
index 94ad111..c3bd901 100644
--- a/ash/strings/ash_strings_sl.xtb
+++ b/ash/strings/ash_strings_sl.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Preklop Bluetootha. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">dostop do vse dejavnosti v seji;</translation>
 <translation id="1608626060424371292">Odstrani tega uporabnika</translation>
-<translation id="1621499497873603021">Preostali čas do izpraznitve akumulatorja, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Začetek glasovne poizvedbe</translation>
 <translation id="1658406695958299976">Vašega gesla še ni bilo mogoče preveriti. Opomba: če ste nedavno spremenili geslo, bo novo geslo začelo veljati, ko se odjavite. Tu uporabite starega.</translation>
 <translation id="1677472565718498478">Še <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Zasidrana lupa je omogočena. Če jo želite izklopiti, znova pritisnite Ctrl + tipko za iskanje + D.</translation>
 <translation id="3000461861112256445">Mono zvok</translation>
 <translation id="3009178788565917040">Izhod</translation>
-<translation id="3019353588588144572">Preostali čas do napolnitve akumulatorja, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Profil nadzorovanega uporabnika bo kmalu odstranjen. Če želite izvedeti več, se prijavite.</translation>
 <translation id="3055162170959710888">To napravo si danes uporabljal <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">Ni mobilnih naprav.</translation>
 <translation id="6723839937902243910">Napajanje</translation>
 <translation id="6751826523481687655">Sledenje učinkovitosti delovanja je vklopljeno</translation>
-<translation id="6785414152754474415">Napolnjenost akumulatorja: <ph name="PERCENTAGE" /> % – polnjenje še poteka.</translation>
 <translation id="6790428901817661496">Predvajanje</translation>
 <translation id="6803622936009808957">Zaslonov ni bilo mogoče zrcaliti, ker ni bilo najdene nobene podprte ločljivosti. Uporabljeno je razširjeno namizje.</translation>
 <translation id="6820676911989879663">Čas za odmor!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">S to funkcijo lahko hitro dostopate do poljubnega prijavljenega uporabnika, ne da bi vam bilo treba vnesti geslo. Uporabljajte to funkcijo samo z računi, ki jim zaupate.</translation>
 <translation id="9193626018745640770">Predvajanje v neznanem sprejemniku</translation>
 <translation id="9194617393863864469">Prijava drugega uporabnika ...</translation>
-<translation id="9201131092683066720">Napolnjenost akumulatorja: <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Izhod iz načina enotnega namizja</translation>
 <translation id="9215934040295798075">Nastavi sliko za ozadje</translation>
 <translation id="921989828232331238">Tvoj starš je zaklenil napravo za ves dan</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb
index 2558c2e0..5bddbbf7 100644
--- a/ash/strings/ash_strings_sr.xtb
+++ b/ash/strings/ash_strings_sr.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Укључите/искључите Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Приступите свим активностима у овој сесији</translation>
 <translation id="1608626060424371292">Уклони овог корисника</translation>
-<translation id="1621499497873603021">Време које је преостало док се батерија не испразни, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Започните гласовну претрагу</translation>
 <translation id="1658406695958299976">Жао нам је, верификација лозинке још увек није успела. Напомена: ако сте недавно променили лозинку, нова лозинка ће се применити када се одјавите. Овде користите стару лозинку.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> је преостало</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Скенирање уређаја...</translation>
 <translation id="2268130516524549846">Bluetooth је онемогућен</translation>
 <translation id="2268813581635650749">Одјави све</translation>
+<translation id="2277103315734023688">Премотај унапред</translation>
 <translation id="2292698582925480719">Размера приказа</translation>
 <translation id="2302092602801625023">Овим налогом управља Family Link</translation>
 <translation id="2303600792989757991">Укључи/искључи преглед прозора</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Монтирана лупа екрана је омогућена. Притисните Ctrl + тастер за претрагу + D поново да бисте је искључили.</translation>
 <translation id="3000461861112256445">Моно звук</translation>
 <translation id="3009178788565917040">Излаз</translation>
-<translation id="3019353588588144572">Време које је преостало док се батерија у потпуности не напуни, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Профил корисника под надзором ће ускоро бити уклоњен. Пријавите се да бисте сазнали више.</translation>
 <translation id="3055162170959710888">Данас користите овај уређај већ <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">Уређај са USB прикључком типа C (десни предњи порт)</translation>
 <translation id="3400357268283240774">Додатна подешавања</translation>
 <translation id="3413817803639110246">Још увек нема шта да се види</translation>
+<translation id="343571671045587506">Измени подсетник</translation>
 <translation id="3445925074670675829">Уређај са USB прикључком типа C</translation>
 <translation id="3454224730401036106">Сада сте повезани на безбеднију мрежу</translation>
 <translation id="3465223694362104965">Још једна тастатура је повезана са овим уређајем откад сте се последњи пут пријавили. Уверите се да је у питању поуздана тастатура пре него што је користите.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Сесија се завршава за <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Повезивање са мрежом <ph name="NAME" /></translation>
 <translation id="394485226368336402">Подешавања звука</translation>
+<translation id="3962859241508114581">Претходна песма</translation>
 <translation id="397105322502079400">Израчунавање...</translation>
 <translation id="3995138139523574647">Уређај са USB прикључком типа C (десни задњи порт)</translation>
 <translation id="4017989525502048489">Ласерски показивач</translation>
 <translation id="4042660782729322247">Делите екран</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Искључено за апликацију}one{Искључено за # апликацију}few{Искључено за # апликације}other{Искључено за # апликација}}</translation>
 <translation id="4072264167173457037">Сигнал средње јачине</translation>
+<translation id="4112140312785995938">Премотај уназад</translation>
 <translation id="4129129681837227511">Да бисте видели обавештења на закључаном екрану, откључајте га како бисте променили подешавање</translation>
 <translation id="4146833061457621061">Пусти музику</translation>
 <translation id="4181841719683918333">Језици</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">Делите контролу над екраном са особом <ph name="HELPER_NAME" /> преко Даљинске помоћи.</translation>
 <translation id="4430019312045809116">Јачина звука</translation>
 <translation id="4450893287417543264">Не приказуј поново</translation>
+<translation id="4477350412780666475">Следећа песма</translation>
 <translation id="4479639480957787382">Етернет</translation>
 <translation id="4481530544597605423">Уређаји чије је упаривање опозвано</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: Повезује се...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">Није пронађен ниједан мобилни уређај.</translation>
 <translation id="6723839937902243910">Енергија</translation>
 <translation id="6751826523481687655">Праћење учинка је укључено</translation>
-<translation id="6785414152754474415">Батерија је <ph name="PERCENTAGE" />% пуна и још увек се пуни.</translation>
 <translation id="6790428901817661496">Пусти</translation>
 <translation id="6803622936009808957">Није могуће пресликати екране зато што није пронађена ниједна подржана резолуција. Уместо тога, приказује се проширена радна површина.</translation>
 <translation id="6820676911989879663">Направите паузу!</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">Заустави тајмер</translation>
 <translation id="7256634071279256947">Задњи микрофон</translation>
 <translation id="726276584504105859">Превуците овде да бисте користили подељени екран</translation>
+<translation id="7262906531272962081">Направи подсетник</translation>
 <translation id="7303365578352795231">Одговор се даје на другом уређају.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Тастатура на екрану</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">Ова функција вам омогућава да брзо приступите било ком пријављеном кориснику без лозинке. Користите ову функцију само са налозима у које имате поверења.</translation>
 <translation id="9193626018745640770">Пребацује се на непознати пријемник</translation>
 <translation id="9194617393863864469">Пријавите још једног корисника...</translation>
-<translation id="9201131092683066720">Батерија је <ph name="PERCENTAGE" />% пуна.</translation>
 <translation id="9210037371811586452">Излазак из режима спојених радних површина</translation>
 <translation id="9215934040295798075">Подеси позадину</translation>
 <translation id="921989828232331238">Родитељ је закључао овај уређај за данас</translation>
diff --git a/ash/strings/ash_strings_sv.xtb b/ash/strings/ash_strings_sv.xtb
index 4ed4387..8597959 100644
--- a/ash/strings/ash_strings_sv.xtb
+++ b/ash/strings/ash_strings_sv.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Aktivera och inaktivera Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Få tillgång till all aktivitet i sessionen</translation>
 <translation id="1608626060424371292">Ta bort den här användaren</translation>
-<translation id="1621499497873603021">Tid som återstår tills batteriet är tomt: <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Säg en sökfråga</translation>
 <translation id="1658406695958299976">Det gick inte att verifiera lösenordet. Obs! Om du nyligen har bytt lösenord börjar det nya lösenordet att gälla först när du loggar ut. Använd det gamla lösenordet här.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> kvar</translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">Söker efter enheter ...</translation>
 <translation id="2268130516524549846">Bluetooth inaktiverad</translation>
 <translation id="2268813581635650749">Logga ut alla</translation>
+<translation id="2277103315734023688">Sök framåt</translation>
 <translation id="2292698582925480719">Skala på skärmen</translation>
 <translation id="2302092602801625023">Det här kontot hanteras av Family Link</translation>
 <translation id="2303600792989757991">Växla fönsteröversikt</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">Dockad skärmförstoring har aktiverats. Tryck på Ctrl + Sök + D igen om du vill inaktivera funktionen.</translation>
 <translation id="3000461861112256445">Monoljud</translation>
 <translation id="3009178788565917040">Utgång</translation>
-<translation id="3019353588588144572">Tid som återstår tills batteriet är fulladdat: <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Din profil som kontrollerad användare tas snart bort. Logga in och läs mer.</translation>
 <translation id="3055162170959710888">Du har använt den här enheten i <ph name="USED_TIME" /> i dag</translation>
 <translation id="3077734595579995578">skift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">USB-C-enhet (främre porten på högra sidan)</translation>
 <translation id="3400357268283240774">Ytterligare inställningar</translation>
 <translation id="3413817803639110246">Det finns inget att se här ännu</translation>
+<translation id="343571671045587506">Redigera påminnelse</translation>
 <translation id="3445925074670675829">USB-C-enhet</translation>
 <translation id="3454224730401036106">Anslutningen har flyttats till ett säkrare nätverk</translation>
 <translation id="3465223694362104965">Ett annat tangentbord har anslutits till den här enheten sedan du loggade in senast. Försäkra dig om att det är ett tangentbord du litar på innan du använder det.</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">Sessionen avslutas om <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">Ansluter till <ph name="NAME" /></translation>
 <translation id="394485226368336402">Ljudinställningar</translation>
+<translation id="3962859241508114581">Föregående spår</translation>
 <translation id="397105322502079400">Beräknar ...</translation>
 <translation id="3995138139523574647">USB-C-enhet (bakre porten på högra sidan)</translation>
 <translation id="4017989525502048489">Laserpekare</translation>
 <translation id="4042660782729322247">Skärmen delas</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{Av för en app}other{Av för # appar}}</translation>
 <translation id="4072264167173457037">medelstark signal</translation>
+<translation id="4112140312785995938">Sök bakåt</translation>
 <translation id="4129129681837227511">Lås upp enheten för att ändra inställningen för aviseringar på låsskärmen</translation>
 <translation id="4146833061457621061">Spela upp musik</translation>
 <translation id="4181841719683918333">Språk</translation>
@@ -227,6 +229,7 @@
 <translation id="4421231901400348175">Dela kontroll över skärmen med <ph name="HELPER_NAME" /> via Fjärrhjälp.</translation>
 <translation id="4430019312045809116">Volym</translation>
 <translation id="4450893287417543264">Visa inte igen</translation>
+<translation id="4477350412780666475">Nästa spår</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4481530544597605423">Frånkopplade enheter</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: ansluter ...</translation>
@@ -364,7 +367,6 @@
 <translation id="6715542151869432661">Inga mobila enheter hittades.</translation>
 <translation id="6723839937902243910">Batteri</translation>
 <translation id="6751826523481687655">Prestandaspårning har aktiverats</translation>
-<translation id="6785414152754474415">Batteriet är fullt till <ph name="PERCENTAGE" /> % och laddas.</translation>
 <translation id="6790428901817661496">Spela</translation>
 <translation id="6803622936009808957">Det gick inte att spegla visningar eftersom inga upplösningar som stöds hittades. Utökat skrivbordsläge används i stället.</translation>
 <translation id="6820676911989879663">Ta en paus!</translation>
@@ -392,6 +394,7 @@
 <translation id="7222902781030499995">Stoppa timer</translation>
 <translation id="7256634071279256947">Mikrofonen på baksidan</translation>
 <translation id="726276584504105859">Dra hit för att dela upp skärmen</translation>
+<translation id="7262906531272962081">Skapa påminnelse</translation>
 <translation id="7303365578352795231">Svarar på en annan enhet.</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">Skärmtangentbord</translation>
@@ -519,7 +522,6 @@
 <translation id="9179259655489829027">Med den här funktionen kan du snabbt öppna en inloggad användare utan att behöva ange lösenordet. Använd bara den här funktionen med konton som du litar på.</translation>
 <translation id="9193626018745640770">Castar till en okänd mottagare</translation>
 <translation id="9194617393863864469">Logga in med en annan användare ...</translation>
-<translation id="9201131092683066720">Batteriet är fullt till <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Enhetligt skrivbordsläge avslutas</translation>
 <translation id="9215934040295798075">Ange bakgrund</translation>
 <translation id="921989828232331238">Din förälder har låst enheten för dagen</translation>
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb
index 4543308..6ac4337f 100644
--- a/ash/strings/ash_strings_sw.xtb
+++ b/ash/strings/ash_strings_sw.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Washa au uzime Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Fikia shughuli zako zote katika kipindi hiki</translation>
 <translation id="1608626060424371292">Ondoa mtumiaji huyu</translation>
-<translation id="1621499497873603021">Muda unaosalia mpaka betri inapoisha, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Anza kutamka hoja ya utafutaji</translation>
 <translation id="1658406695958299976">Samahani, tumeshindwa kuthibitisha nenosiri lako. Kumbuka: ikiwa ulibadilisha nenosiri lako hivi karibuni, nenosiri lako jipya litaanza kutumika pindi utakapoondoka kwenye akaunti, tafadhali tumia nenosiri la awali hapa.</translation>
 <translation id="1677472565718498478">Zimesalia <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Umewasha Kikuzaji Kilichoambatishwa. Bonyeza Ctrl+Search+D tena ili ukizime.</translation>
 <translation id="3000461861112256445">Kipengele cha sauti moja</translation>
 <translation id="3009178788565917040">Towe</translation>
-<translation id="3019353588588144572">Muda unaosalia hadi betri itakapochajiwa kikamilifu, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Tutaondoa wasifu wako wa mtumiaji anayesimamiwa hivi karibuni. Ingia katika akaunti ili upate maelezo zaidi.</translation>
 <translation id="3055162170959710888">Leo umetumia kifaa hiki kwa <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">Hakuna vifaa vya mkononi vilivyopatikana.</translation>
 <translation id="6723839937902243910">Nishati</translation>
 <translation id="6751826523481687655">Kipengele cha ufuatiliaji wa utendaji kimewashwa</translation>
-<translation id="6785414152754474415">Betri imejaa <ph name="PERCENTAGE" />% na inachaji.</translation>
 <translation id="6790428901817661496">Cheza</translation>
 <translation id="6803622936009808957">Haikuweza kuakisi maonyesho kwa kuwa hakuna misongo inayoweza kutumiwa iliyopatikana. Badala yake imeingia eneo-kazi lililopanuliwa.</translation>
 <translation id="6820676911989879663">Pumzika kidogo!</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">Kipengele hiki kinakuruhusu ufikie kwa haraka mtumiaji yeyote aliyeingia katika akaunti bila ya kuweka nenosiri. Tumia kipengele hiki katika akaunti unazoamini pekee.</translation>
 <translation id="9193626018745640770">Inatuma kwenye kifaa au kwa mpokeaji usiyemjua</translation>
 <translation id="9194617393863864469">Ongeza akaunti nyingine...</translation>
-<translation id="9201131092683066720">Betri imejaa <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Mfumo unaondoka kwenye hali ya eneo-kazi lililounganishwa</translation>
 <translation id="9215934040295798075">Weka mandhari</translation>
 <translation id="921989828232331238">Kifaa chako kimefungwa na mzazi wako kwa leo</translation>
diff --git a/ash/strings/ash_strings_ta.xtb b/ash/strings/ash_strings_ta.xtb
index 74dcf77..6b76d53 100644
--- a/ash/strings/ash_strings_ta.xtb
+++ b/ash/strings/ash_strings_ta.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">புளூடூத்தை நிலைமாற்றும். <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">இந்த அமர்விலுள்ள உங்கள் அனைத்துச் செயல்பாடுகளையும் அணுகுதல்</translation>
 <translation id="1608626060424371292">இவரை அகற்று</translation>
-<translation id="1621499497873603021">இன்னும் <ph name="TIME_LEFT" /> இல் பேட்டரி காலியாகிவிடும்</translation>
 <translation id="1654477262762802994">குரல் வினவலைத் தொடங்கு</translation>
 <translation id="1658406695958299976">மன்னிக்கவும், உங்கள் கடவுச்சொல் இன்னும் சரிபார்க்கப்படவில்லை. குறிப்பு: உங்கள் கடவுச்சொல்லைச் சமீபத்தில் மாற்றியிருந்தால், நீங்கள் வெளியேறியவுடன் புதிய கடவுச்சொல் பயன்படுத்தப்படும், இங்கு பழைய கடவுச்சொல்லைப் பயன்படுத்தவும்.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> மணி நேரம்</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">டாக் செய்யப்பட்ட பெரிதாக்கி இயக்கப்பட்டது. அதை முடக்க, Ctrl+Search+Dயை மீண்டும் அழுத்தவும்.</translation>
 <translation id="3000461861112256445">மோனோ ஆடியோ</translation>
 <translation id="3009178788565917040">வெளியீடு</translation>
-<translation id="3019353588588144572"><ph name="TIME_REMAINING" /> இல் பேட்டரி முழுவதும் சார்ஜ் ஆகிவிடும்</translation>
 <translation id="3051128274746680507">உங்கள் மேற்பார்வையிடப்படும் பயனர் சுயவிவரம் விரைவில் அகற்றப்படும். மேலும் அறிய, உள்நுழையவும்.</translation>
 <translation id="3055162170959710888">இந்தச் சாதனத்தை இன்று <ph name="USED_TIME" /> பயன்படுத்தியுள்ளீர்கள்</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">மொபைல் சாதனங்கள் எதுவுமில்லை.</translation>
 <translation id="6723839937902243910">ஆற்றல்</translation>
 <translation id="6751826523481687655">செயல்திறன் டிரேஸிங் இயக்கத்தில் உள்ளது</translation>
-<translation id="6785414152754474415">பேட்டரி <ph name="PERCENTAGE" />% நிரம்பியது, மேலும் சார்ஜ் ஆகிறது.</translation>
 <translation id="6790428901817661496">இயக்கு</translation>
 <translation id="6803622936009808957">ஆதரிக்கும் தெளிவுகள் கிடைக்காததால் காட்சிகளைப் பிரதிபலிக்க முடியவில்லை. பதிலாக நீட்டிக்கப்பட்ட டெஸ்க்டாப்பிற்குச் சென்றது.</translation>
 <translation id="6820676911989879663">சிறிது நேரம் இடைவேளை எடுத்துக்கொள்ளவும்!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">கடவுச்சொல்லைக் கேட்காமல், உள்நுழைந்த பயனர் எவரையும் உடனடியாக அணுக இந்த அம்சம் உங்களை அனுமதிக்கிறது. நீங்கள் நம்பும் கணக்குகளுடன் மட்டும் இந்த அம்சத்தைப் பயன்படுத்தவும்.</translation>
 <translation id="9193626018745640770">தெரியாத ரிசீவருக்கு அனுப்புகிறது</translation>
 <translation id="9194617393863864469">வேறொருவராக உள்நுழை...</translation>
-<translation id="9201131092683066720">பேட்டரி <ph name="PERCENTAGE" />% நிரம்பியது.</translation>
 <translation id="9210037371811586452">ஒன்றிணைந்த டெஸ்க்டாப் பயன்முறையிலிருந்து வெளியேறுகிறது</translation>
 <translation id="9215934040295798075">வால்பேப்பரை அமை</translation>
 <translation id="921989828232331238">உங்கள் பெற்றோர் இன்று சாதனத்தைப் பயன்படுத்த முடியாதபடி பூட்டிவிட்டனர்</translation>
diff --git a/ash/strings/ash_strings_te.xtb b/ash/strings/ash_strings_te.xtb
index 5d053bc..436fb6f 100644
--- a/ash/strings/ash_strings_te.xtb
+++ b/ash/strings/ash_strings_te.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">బ్లూటూత్‌ను టోగుల్ చేయండి. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">ఈ సెషన్‌లో మీ మొత్తం కార్యకలాపాన్ని యాక్సెస్ చేయండి</translation>
 <translation id="1608626060424371292">ఈ వినియోగదారును తీసివేయండి</translation>
-<translation id="1621499497873603021">బ్యాటరీ ఖాళీ కావడానికి మిగిలి ఉన్న సమయం, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">వాయిస్ ప్రశ్నను ప్రారంభించు</translation>
 <translation id="1658406695958299976">క్షమించండి, మీ పాస్‌వర్డ్ ఇప్పటికీ ధృవీకరించబడలేదు. గమనిక: మీరు మీ పాస్‌వర్డ్‌ను ఇటీవల మార్చి ఉంటే, మీరు సైన్ అవుట్ చేసిన తర్వాత మీ కొత్త పాస్‌వర్డ్ వర్తించబడుతుంది, దయచేసి పాత పాస్‌వర్డ్‌ను ఇక్కడ ఉపయోగించండి.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> మిగిలి ఉంది</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">డాక్ చేయబడిన మాగ్నిఫైయర్ ప్రారంభించబడింది. దాన్ని టోగుల్ ఆఫ్ చేయడానికి మళ్లీ Ctrl+Search+Dని నొక్కండి.</translation>
 <translation id="3000461861112256445">మోనో ఆడియో</translation>
 <translation id="3009178788565917040">అవుట్‌పుట్</translation>
-<translation id="3019353588588144572">బ్యాటరీ నిండటానికి పట్టే సమయం, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">మీ పర్యవేక్షిత వినియోగదారు ప్రొఫైల్‌ త్వరలో తీసివేయబడుతుంది. మరింత తెలుసుకోవడానికి సైన్ ఇన్ చేయండి.</translation>
 <translation id="3055162170959710888">మీరు ఈ పరికరాన్ని ఈ రోజు <ph name="USED_TIME" /> పాటు ఉపయోగించారు</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">మొబైల్ పరికరాలేవీ కనుగొనబడలేదు.</translation>
 <translation id="6723839937902243910">పవర్</translation>
 <translation id="6751826523481687655">పనితీరు స్థితిగతి కనుగొనడం ఆన్‌లో ఉంది</translation>
-<translation id="6785414152754474415">బ్యాటరీ <ph name="PERCENTAGE" />% నిండింది. ఛార్జ్ అవుతోంది.</translation>
 <translation id="6790428901817661496">ప్లే చేయి</translation>
 <translation id="6803622936009808957">మద్దతు ఉన్న రిజల్యూషన్‌లు కనుగొనబడనందున ప్రదర్శనలను ప్రతిబింబించడం సాధ్యపడలేదు. దానికి బదులుగా విస్తారిత డెస్క్‌టాప్‌కు మారారు.</translation>
 <translation id="6820676911989879663">విరామం తీసుకోండి!</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">ఈ ఫీచర్ ద్వారా పాస్‌వర్డ్ అవసరం లేకుండానే మీరు సైన్ ఇన్ చేసిన ఏ వినియోగదారునైనా త్వరగా యాక్సెస్ చేయగలుగుతారు. ఈ ఫీచర్‌ను మీరు విశ్వసించే ఖాతాలతో మాత్రమే ఉపయోగించండి.</translation>
 <translation id="9193626018745640770">తెలియని రిసీవర్‌లో ప్రసారం చేస్తోంది</translation>
 <translation id="9194617393863864469">మరొక వినియోగదారుగా సైన్ ఇన్ చేయండి...</translation>
-<translation id="9201131092683066720">బ్యాటరీ <ph name="PERCENTAGE" />% నిండింది.</translation>
 <translation id="9210037371811586452">ఏకీకృత డెస్క్‌టాప్ మోడ్ నుండి ఎగ్జిట్ అవుతోంది</translation>
 <translation id="9215934040295798075">వాల్‌పేపర్‌ను సెట్ చేయండి</translation>
 <translation id="921989828232331238">మీ తల్లి/తండ్రి ఈ రోజుకి మీ పరికరాన్ని లాక్ చేసి ఉంచారు</translation>
diff --git a/ash/strings/ash_strings_th.xtb b/ash/strings/ash_strings_th.xtb
index 0bd2ca1..d8e405ea 100644
--- a/ash/strings/ash_strings_th.xtb
+++ b/ash/strings/ash_strings_th.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">เปิด/ปิดบลูทูธ <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">เข้าถึงกิจกรรมทั้งหมดของคุณในเซสชันนี้</translation>
 <translation id="1608626060424371292">ลบผู้ใช้รายนี้</translation>
-<translation id="1621499497873603021">เวลาที่เหลือกว่าแบตเตอรี่จะหมด, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">เริ่มการค้นหาด้วยเสียง</translation>
 <translation id="1658406695958299976">ขออภัย ยังคงยืนยันรหัสผ่านไม่ได้ หมายเหตุ: หากคุณเปลี่ยนแปลงรหัสผ่านไปเมื่อเร็วๆ นี้ รหัสผ่านใหม่จะมีผลเมื่อคุณออกจากระบบ โปรดใช้รหัสผ่านเดิมที่นี่</translation>
 <translation id="1677472565718498478">ใช้ได้อีก <ph name="TIME" /></translation>
@@ -86,6 +85,7 @@
 <translation id="225680501294068881">กำลังสแกนหาอุปกรณ์...</translation>
 <translation id="2268130516524549846">ปิดใช้งานบลูทูธแล้ว</translation>
 <translation id="2268813581635650749">ออกจากระบบทั้งหมด</translation>
+<translation id="2277103315734023688">ไปข้างหน้า</translation>
 <translation id="2292698582925480719">ระดับการแสดงผล</translation>
 <translation id="2302092602801625023">บัญชีนี้จัดการโดย Family Link</translation>
 <translation id="2303600792989757991">ภาพรวมการสลับหน้าต่าง</translation>
@@ -138,7 +138,6 @@
 <translation id="2996462380875591307">เปิดใช้แว่นขยายหน้าจอบางส่วนแล้ว กด Ctrl+Search+D อีกครั้งเพื่อสลับเป็นปิด</translation>
 <translation id="3000461861112256445">เสียงแบบโมโน</translation>
 <translation id="3009178788565917040">เอาต์พุต</translation>
-<translation id="3019353588588144572">เวลาที่เหลือกว่าจะชาร์จแบตเตอรี่เต็ม, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">ระบบจะนำโปรไฟล์ผู้ใช้ภายใต้การควบคุมดูแลออกในเร็วๆ นี้ ลงชื่อเข้าใช้เพื่อดูข้อมูลเพิ่มเติม</translation>
 <translation id="3055162170959710888">วันนี้คุณใช้อุปกรณ์เครื่องนี้ไป <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -166,6 +165,7 @@
 <translation id="3371140690572404006">อุปกรณ์ USB-C (พอร์ตด้านหน้าขวา)</translation>
 <translation id="3400357268283240774">การตั้งค่าเพิ่มเติม</translation>
 <translation id="3413817803639110246">ไม่มีการแจ้งเตือนใหม่</translation>
+<translation id="343571671045587506">แก้ไขการช่วยเตือน</translation>
 <translation id="3445925074670675829">อุปกรณ์ USB-C</translation>
 <translation id="3454224730401036106">ระบบเปลี่ยนไปเชื่อมต่อกับเครือข่ายที่ปลอดภัยกว่าเดิมแล้ว</translation>
 <translation id="3465223694362104965">แป้นพิมพ์อีกรายการหนึ่งเชื่อมต่อกับอุปกรณ์นี้นับจากที่คุณลงชื่อเข้าใช้ครั้งล่าสุด โปรดตรวจสอบว่าแป้นพิมพ์นี้เชื่อถือได้ก่อนใช้งาน</translation>
@@ -198,12 +198,14 @@
 <translation id="3900355044994618856">เซสชันจะสิ้นสุดใน <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="3901991538546252627">กำลังเชื่อมต่อกับ <ph name="NAME" /></translation>
 <translation id="394485226368336402">การตั้งค่าเสียง</translation>
+<translation id="3962859241508114581">แทร็กก่อนหน้า</translation>
 <translation id="397105322502079400">กำลังคำนวณ...</translation>
 <translation id="3995138139523574647">อุปกรณ์ USB-C (พอร์ตด้านหลังขวา)</translation>
 <translation id="4017989525502048489">ตัวชี้เลเซอร์</translation>
 <translation id="4042660782729322247">คุณกำลังแชร์หน้าจอ</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{ปิดไว้สำหรับ 1 แอป}other{ปิดไว้สำหรับ # แอป}}</translation>
 <translation id="4072264167173457037">สัญญาณแรงปานกลาง</translation>
+<translation id="4112140312785995938">ย้อนกลับ</translation>
 <translation id="4129129681837227511">หากต้องการดูการแจ้งเตือนในหน้าจอล็อก ให้ปลดล็อกเพื่อเปลี่ยนการตั้งค่า</translation>
 <translation id="4146833061457621061">เปิดเพลง</translation>
 <translation id="4181841719683918333">ภาษา</translation>
@@ -228,6 +230,7 @@
 <translation id="4421231901400348175">กำลังแชร์การควบคุมหน้าจอกับ <ph name="HELPER_NAME" /> ผ่านความช่วยเหลือระยะไกล</translation>
 <translation id="4430019312045809116">ระดับเสียง</translation>
 <translation id="4450893287417543264">ไม่ต้องแสดงอีก</translation>
+<translation id="4477350412780666475">แทร็กถัดไป</translation>
 <translation id="4479639480957787382">อีเทอร์เน็ต</translation>
 <translation id="4481530544597605423">อุปกรณ์ที่ไม่ได้จับคู่</translation>
 <translation id="4508225577814909926"><ph name="NAME" />: กำลังเชื่อมต่อ...</translation>
@@ -365,7 +368,6 @@
 <translation id="6715542151869432661">ไม่พบอุปกรณ์เคลื่อนที่</translation>
 <translation id="6723839937902243910">พลังงาน</translation>
 <translation id="6751826523481687655">การติดตามประสิทธิภาพเปิดอยู่</translation>
-<translation id="6785414152754474415">มีแบตเตอรี่ <ph name="PERCENTAGE" />% และกำลังชาร์จ</translation>
 <translation id="6790428901817661496">เล่น</translation>
 <translation id="6803622936009808957">ไม่สามารถแสดงผลคู่ขนานได้เนื่องจากไม่พบความละเอียดที่สนับสนุน เข้าสู่เดสก์ท็อปแบบขยายแทน</translation>
 <translation id="6820676911989879663">พักสายตาหน่อย</translation>
@@ -393,6 +395,7 @@
 <translation id="7222902781030499995">หยุดตัวจับเวลา</translation>
 <translation id="7256634071279256947">ไมโครโฟนด้านหลัง</translation>
 <translation id="726276584504105859">ลากมาที่นี่เพื่อใช้การแยกหน้าจอ</translation>
+<translation id="7262906531272962081">สร้างการช่วยเตือน</translation>
 <translation id="7303365578352795231">กำลังรับสายในอุปกรณ์อื่น</translation>
 <translation id="7305884605064981971">EDGE</translation>
 <translation id="7348093485538360975">แป้นพิมพ์บนหน้าจอ</translation>
@@ -520,7 +523,6 @@
 <translation id="9179259655489829027">ฟีเจอร์นี้ช่วยให้เข้าถึงผู้ใช้ที่ลงชื่อเข้าใช้แล้วได้อย่างรวดเร็วโดยไม่ต้องใช้รหัสผ่าน ใช้ฟีเจอร์นี้กับบัญชีที่คุณเชื่อถือเท่านั้น</translation>
 <translation id="9193626018745640770">กำลังแคสต์ไปยังเครื่องรับที่ไม่รู้จัก</translation>
 <translation id="9194617393863864469">ลงชื่อเข้าใช้ด้วยชื่อผู้ใช้อื่น...</translation>
-<translation id="9201131092683066720">มีแบตเตอรี่ <ph name="PERCENTAGE" />%</translation>
 <translation id="9210037371811586452">กำลังออกจากโหมดเดสก์ท็อปแบบรวมหลายหน้าจอ</translation>
 <translation id="9215934040295798075">ตั้งค่าวอลเปเปอร์</translation>
 <translation id="921989828232331238">ผู้ปกครองล็อกอุปกรณ์ของคุณไว้ทั้งวัน</translation>
diff --git a/ash/strings/ash_strings_tr.xtb b/ash/strings/ash_strings_tr.xtb
index 077c07a..8a0d9d01 100644
--- a/ash/strings/ash_strings_tr.xtb
+++ b/ash/strings/ash_strings_tr.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Bluetooth'u aç/kapat. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Bu oturumdaki tüm etkinliğinize erişme</translation>
 <translation id="1608626060424371292">Bu kullanıcıyı kaldır</translation>
-<translation id="1621499497873603021">Pilin boşalması için kalan süre, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Sesli sorgu başlat</translation>
 <translation id="1658406695958299976">Maalesef şifreniz hâlâ doğrulanamadı. Not: Şifrenizi yakın zamanda değiştirdiyseniz, yeni şifreniz oturumu kapatmanızdan sonra geçerli olacaktır. Lütfen burada eski şifrenizi kullanın.</translation>
 <translation id="1677472565718498478">Kalan süre: <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Yerleştirilmiş Büyüteç etkinleştirildi. Kapatmak için tekrar Ctrl+Arama+H tuşlarına basın.</translation>
 <translation id="3000461861112256445">Mono ses</translation>
 <translation id="3009178788565917040">Çıkış</translation>
-<translation id="3019353588588144572">Pilin tam olarak şarj olması için kalan süre, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Denetlenen kullanıcı profiliniz yakında kaldırılacak. Daha fazla bilgi edinmek için oturum açın.</translation>
 <translation id="3055162170959710888">Bugün bu cihazı <ph name="USED_TIME" /> kullandınız</translation>
 <translation id="3077734595579995578">üstkrktr</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">Mobil cihaz bulunamadı.</translation>
 <translation id="6723839937902243910">Güç</translation>
 <translation id="6751826523481687655">Performans izleme açık</translation>
-<translation id="6785414152754474415">Pil %<ph name="PERCENTAGE" /> dolu ve şarj oluyor.</translation>
 <translation id="6790428901817661496">Oynat</translation>
 <translation id="6803622936009808957">Desteklenen bir çözünürlük bulunamadığı için ekranlar yansıtılamıyor. Bunun yerine genişletilmiş masaüstüne geçiliyor.</translation>
 <translation id="6820676911989879663">Mola verin!</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">Bu özellik oturum açmış tüm kullanıcılara şifre gerektirmeden hızlı bir şekilde erişmenize olanak verir. Bu özelliği sadece güvendiğiniz hesaplarda kullanın.</translation>
 <translation id="9193626018745640770">Bilinmeyen bir alıcıya yayınlanıyor</translation>
 <translation id="9194617393863864469">Başka bir kullanıcı olarak oturum aç...</translation>
-<translation id="9201131092683066720">Pil %<ph name="PERCENTAGE" /> dolu.</translation>
 <translation id="9210037371811586452">Birleşik masaüstü modundan çıkılıyor</translation>
 <translation id="9215934040295798075">Duvar kağıdını ayarla</translation>
 <translation id="921989828232331238">Ebeveyniniz cihazınızı bugün için kilitledi</translation>
diff --git a/ash/strings/ash_strings_uk.xtb b/ash/strings/ash_strings_uk.xtb
index 30ca433..1177a0a9 100644
--- a/ash/strings/ash_strings_uk.xtb
+++ b/ash/strings/ash_strings_uk.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Увімкнути/вимкнути Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">мати доступ до всіх ваших дій у цьому сеансі</translation>
 <translation id="1608626060424371292">Вилучити цього користувача</translation>
-<translation id="1621499497873603021">До розрядження акумулятора залишилося <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Ввести голосовий запит</translation>
 <translation id="1658406695958299976">На жаль, поки не вдалося підтвердити ваш пароль. Зверніть увагу: якщо ви нещодавно змінили пароль, новий пароль буде застосовано, щойно ви вийдете з облікового запису. Скористайтеся старим паролем тут.</translation>
 <translation id="1677472565718498478">Залишилося <ph name="TIME" /></translation>
@@ -139,7 +138,6 @@
 <translation id="2996462380875591307">Увімкнено закріплену лупу. Щоб вимкнути її, знову натисніть комбінацію Ctrl + клавіша пошуку + D.</translation>
 <translation id="3000461861112256445">Монофонічне аудіо</translation>
 <translation id="3009178788565917040">Вихід</translation>
-<translation id="3019353588588144572">До повного зарядження акумулятора залишилося <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Профіль контрольованого користувача незабаром буде видалено. Увійдіть, щоб дізнатися більше.</translation>
 <translation id="3055162170959710888">Сьогодні цей пристрій працював <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -369,7 +367,6 @@
 <translation id="6715542151869432661">Мобільних пристроїв не знайдено.</translation>
 <translation id="6723839937902243910">Заряд</translation>
 <translation id="6751826523481687655">Відстеження ефективності ввімкнено</translation>
-<translation id="6785414152754474415">Акумулятор заряджений на <ph name="PERCENTAGE" />% і заряджається.</translation>
 <translation id="6790428901817661496">Відтворити</translation>
 <translation id="6803622936009808957">Не вдалося дублювати зображення екранів, оскільки не знайдено підтримувані значення роздільної здатності. Натомість запущено режим розширеного робочого столу.</translation>
 <translation id="6820676911989879663">Зробіть перерву!</translation>
@@ -525,7 +522,6 @@
 <translation id="9179259655489829027">Ця функція дає змогу швидко й без пароля змінити авторизованого користувача. Використовуйте її лише з обліковими записами, яким довіряєте.</translation>
 <translation id="9193626018745640770">Трансляція на невідомий пристрій</translation>
 <translation id="9194617393863864469">Увійти як інший користувач…</translation>
-<translation id="9201131092683066720">Акумулятор заряджений на <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Вихід з уніфікованого режиму робочого стола</translation>
 <translation id="9215934040295798075">Вибрати фоновий малюнок</translation>
 <translation id="921989828232331238">Батьки заблокували твій пристрій на весь день</translation>
diff --git a/ash/strings/ash_strings_vi.xtb b/ash/strings/ash_strings_vi.xtb
index 317555f..ab3fde6 100644
--- a/ash/strings/ash_strings_vi.xtb
+++ b/ash/strings/ash_strings_vi.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">Bật/tắt Bluetooth. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">Truy cập vào tất cả hoạt động của bạn trong phiên này</translation>
 <translation id="1608626060424371292">Xóa người dùng này</translation>
-<translation id="1621499497873603021">Thời gian còn lại cho đến khi pin hết, <ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">Bắt đầu đặt câu hỏi bằng giọng nói</translation>
 <translation id="1658406695958299976">Rất tiếc, chúng tôi vẫn không thể xác minh được mật khẩu của bạn. Lưu ý: nếu gần đây bạn đã đổi mật khẩu thì mật khẩu mới của bạn sẽ được áp dụng sau khi bạn đăng xuất. Vui lòng sử dụng mật khẩu cũ của bạn tại đây.</translation>
 <translation id="1677472565718498478">Còn <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">Đã bật tính năng Phóng to ở vị trí cố định. Hãy nhấn lại tổ hợp phím Ctrl+Search+D để tắt tính năng này.</translation>
 <translation id="3000461861112256445">Đơn âm</translation>
 <translation id="3009178788565917040">Thiết bị ra</translation>
-<translation id="3019353588588144572">Thời gian còn lại cho đến khi pin được sạc đầy, <ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">Hồ sơ người dùng được giám sát của bạn sẽ sớm bị xóa. Đăng nhập để tìm hiểu thêm.</translation>
 <translation id="3055162170959710888">Bạn đã dùng thiết bị này trong <ph name="USED_TIME" /> hôm nay</translation>
 <translation id="3077734595579995578">shift</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">Không tìm thấy thiết bị di động nào.</translation>
 <translation id="6723839937902243910">Nguồn</translation>
 <translation id="6751826523481687655">Tính năng theo dõi hiệu suất đang bật</translation>
-<translation id="6785414152754474415">Pin đầy <ph name="PERCENTAGE" />% và đang sạc.</translation>
 <translation id="6790428901817661496">Phát</translation>
 <translation id="6803622936009808957">Không thể phản chiếu màn hình do không tìm thấy độ phân giải được hỗ trợ. Thay vào đó, đã chuyển sang chế độ màn hình mở rộng.</translation>
 <translation id="6820676911989879663">Hãy nghỉ giải lao!</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">Tính năng này cho phép bạn truy cập nhanh vào bất kỳ người dùng đã đăng nhập nào mà không cần mật khẩu. Chỉ sử dụng tính năng này với các tài khoản mà bạn tin tưởng.</translation>
 <translation id="9193626018745640770">Đang truyền trên bộ thu không xác định</translation>
 <translation id="9194617393863864469">Đăng nhập người dùng khác...</translation>
-<translation id="9201131092683066720">Pin đầy <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Đang thoát chế độ màn hình hợp nhất</translation>
 <translation id="9215934040295798075">Đặt hình nền</translation>
 <translation id="921989828232331238">Cha mẹ đã khóa thiết bị của bạn cả ngày</translation>
diff --git a/ash/strings/ash_strings_zh-CN.xtb b/ash/strings/ash_strings_zh-CN.xtb
index c63f39d..fe75467 100644
--- a/ash/strings/ash_strings_zh-CN.xtb
+++ b/ash/strings/ash_strings_zh-CN.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">切换蓝牙设置。<ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">访问您在此次会话中的所有活动</translation>
 <translation id="1608626060424371292">移除此用户</translation>
-<translation id="1621499497873603021">电池电量将在 <ph name="TIME_LEFT" />后耗尽</translation>
 <translation id="1654477262762802994">启动语音查询</translation>
 <translation id="1658406695958299976">抱歉,系统仍然无法验证您的密码。注意:如果您最近更改了密码,新密码将在您退出后生效。目前请在此处输入旧密码。</translation>
 <translation id="1677472565718498478">电量尚余 <ph name="TIME" /></translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">已启用停靠的放大镜。再按一次 Ctrl+搜索键+D 组合键即可将其停用。</translation>
 <translation id="3000461861112256445">单声道音频</translation>
 <translation id="3009178788565917040">输出</translation>
-<translation id="3019353588588144572">电池电量将在 <ph name="TIME_REMAINING" />后充满</translation>
 <translation id="3051128274746680507">您的受监管用户个人资料很快就会被移除。登录即可了解详情。</translation>
 <translation id="3055162170959710888">您今天的设备使用时长:<ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
@@ -365,7 +363,6 @@
 <translation id="6715542151869432661">找不到任何移动设备。</translation>
 <translation id="6723839937902243910">电源</translation>
 <translation id="6751826523481687655">已启用性能跟踪</translation>
-<translation id="6785414152754474415">电池电量为<ph name="PERCENTAGE" />%(正在充电)。</translation>
 <translation id="6790428901817661496">播放</translation>
 <translation id="6803622936009808957">找不到系统支持的分辨率,因此无法镜像显示屏。已改为进入扩展桌面。</translation>
 <translation id="6820676911989879663">休息一下!</translation>
@@ -520,7 +517,6 @@
 <translation id="9179259655489829027">借助此功能,您无需使用密码即可快速访问任何已登录的用户。请仅对您信任的帐号使用此功能。</translation>
 <translation id="9193626018745640770">正在投射至不明接收器</translation>
 <translation id="9194617393863864469">登录其他用户帐号…</translation>
-<translation id="9201131092683066720">电池电量为<ph name="PERCENTAGE" />%。</translation>
 <translation id="9210037371811586452">正在退出统一桌面模式</translation>
 <translation id="9215934040295798075">设置壁纸</translation>
 <translation id="921989828232331238">您的家长已全天锁定您的设备</translation>
diff --git a/ash/strings/ash_strings_zh-TW.xtb b/ash/strings/ash_strings_zh-TW.xtb
index aeda052..72245a2 100644
--- a/ash/strings/ash_strings_zh-TW.xtb
+++ b/ash/strings/ash_strings_zh-TW.xtb
@@ -47,7 +47,6 @@
 <translation id="1570871743947603115">切換藍牙設定。<ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">存取你在這個工作階段內的所有活動</translation>
 <translation id="1608626060424371292">移除這位使用者</translation>
-<translation id="1621499497873603021">電池剩餘使用時間:<ph name="TIME_LEFT" /></translation>
 <translation id="1654477262762802994">啟動語音查詢</translation>
 <translation id="1658406695958299976">很抱歉,系統仍然無法驗證你的密碼。注意:如果你的密碼最近有所異動,新密碼會在你登出後立即生效,目前請在這裡使用舊密碼。</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> 後用盡</translation>
@@ -138,7 +137,6 @@
 <translation id="2996462380875591307">停駐放大鏡已啟用。再次按下 Ctrl 鍵 + 搜尋鍵 + D 鍵即可停用。</translation>
 <translation id="3000461861112256445">單聲道音訊</translation>
 <translation id="3009178788565917040">輸出</translation>
-<translation id="3019353588588144572">電池剩餘充電時間:<ph name="TIME_REMAINING" /></translation>
 <translation id="3051128274746680507">系統即將移除你的受監管使用者個人資料。登入即可瞭解詳情。</translation>
 <translation id="3055162170959710888">你今天的裝置使用時間:<ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">Shift</translation>
@@ -364,7 +362,6 @@
 <translation id="6715542151869432661">找不到行動裝置。</translation>
 <translation id="6723839937902243910">電源</translation>
 <translation id="6751826523481687655">效能追蹤已啟用</translation>
-<translation id="6785414152754474415">電池電量為 <ph name="PERCENTAGE" />% (充電中)。</translation>
 <translation id="6790428901817661496">播放</translation>
 <translation id="6803622936009808957">找不到系統支援的解析度,因此無法顯示鏡像。已改為進入延伸桌面。</translation>
 <translation id="6820676911989879663">目前禁止使用裝置!</translation>
@@ -519,7 +516,6 @@
 <translation id="9179259655489829027">這項功能可讓你快速存取任何已登入的使用者帳戶,不需提供密碼。使用這項功能時,請務必只存取你信任的帳戶。</translation>
 <translation id="9193626018745640770">正在透過不明接收器投放</translation>
 <translation id="9194617393863864469">登入其他使用者帳戶...</translation>
-<translation id="9201131092683066720">電池電量為 <ph name="PERCENTAGE" />%。</translation>
 <translation id="9210037371811586452">退出整合桌面模式</translation>
 <translation id="9215934040295798075">設定桌布</translation>
 <translation id="921989828232331238">你的家長今天已鎖定這部裝置</translation>
diff --git a/ash/system/unified/top_shortcuts_view.cc b/ash/system/unified/top_shortcuts_view.cc
index db622f6b..a357850 100644
--- a/ash/system/unified/top_shortcuts_view.cc
+++ b/ash/system/unified/top_shortcuts_view.cc
@@ -19,6 +19,7 @@
 #include "ash/system/unified/sign_out_button.h"
 #include "ash/system/unified/top_shortcut_button.h"
 #include "ash/system/unified/unified_system_tray_controller.h"
+#include "ash/system/unified/user_chooser_detailed_view_controller.h"
 #include "ash/system/unified/user_chooser_view.h"
 #include "base/numerics/ranges.h"
 #include "ui/gfx/paint_vector_icon.h"
@@ -163,7 +164,8 @@
   if (Shell::Get()->session_controller()->login_status() !=
       LoginStatus::NOT_LOGGED_IN) {
     user_avatar_button_ = new UserAvatarButton(this);
-    user_avatar_button_->SetEnabled(controller->IsUserChooserEnabled());
+    user_avatar_button_->SetEnabled(
+        UserChooserDetailedViewController::IsUserChooserEnabled());
     container_->AddUserAvatarButton(user_avatar_button_);
   }
 
diff --git a/ash/system/unified/unified_system_tray_controller.cc b/ash/system/unified/unified_system_tray_controller.cc
index eb8def4..8c2637e2 100644
--- a/ash/system/unified/unified_system_tray_controller.cc
+++ b/ash/system/unified/unified_system_tray_controller.cc
@@ -6,7 +6,6 @@
 
 #include "ash/metrics/user_metrics_action.h"
 #include "ash/metrics/user_metrics_recorder.h"
-#include "ash/multi_profile_uma.h"
 #include "ash/session/session_controller.h"
 #include "ash/shell.h"
 #include "ash/system/accessibility/accessibility_feature_pod_controller.h"
@@ -92,31 +91,6 @@
   return unified_view_;
 }
 
-void UnifiedSystemTrayController::HandleUserSwitch(int user_index) {
-  // Do not switch users when the log screen is presented.
-  SessionController* controller = Shell::Get()->session_controller();
-  if (controller->IsUserSessionBlocked())
-    return;
-
-  // |user_index| must be in range (0, number_of_user). Note 0 is excluded
-  // because it represents the active user and SwitchUser should not be called
-  // for such case.
-  DCHECK_GT(user_index, 0);
-  DCHECK_LT(user_index, controller->NumberOfLoggedInUsers());
-
-  MultiProfileUMA::RecordSwitchActiveUser(
-      MultiProfileUMA::SWITCH_ACTIVE_USER_BY_TRAY);
-  controller->SwitchActiveUser(
-      controller->GetUserSession(user_index)->user_info->account_id);
-  CloseBubble();
-}
-
-void UnifiedSystemTrayController::HandleAddUserAction() {
-  MultiProfileUMA::RecordSigninUser(MultiProfileUMA::SIGNIN_USER_BY_TRAY);
-  Shell::Get()->session_controller()->ShowMultiProfileLogin();
-  CloseBubble();
-}
-
 void UnifiedSystemTrayController::HandleSignOutAction() {
   Shell::Get()->metrics()->RecordUserMetricsAction(UMA_STATUS_AREA_SIGN_OUT);
   if (Shell::Get()->session_controller()->IsDemoSession())
@@ -231,7 +205,7 @@
 }
 
 void UnifiedSystemTrayController::ShowUserChooserView() {
-  if (!IsUserChooserEnabled())
+  if (!UserChooserDetailedViewController::IsUserChooserEnabled())
     return;
   animation_->Reset(1.0);
   UpdateExpandedAmount();
@@ -315,24 +289,6 @@
   animation_->Show();
 }
 
-bool UnifiedSystemTrayController::IsUserChooserEnabled() const {
-  // Don't allow user add or switch when CancelCastingDialog is open.
-  // See http://crrev.com/291276 and http://crbug.com/353170.
-  if (Shell::IsSystemModalWindowOpen())
-    return false;
-
-  // Don't allow at login, lock or when adding a multi-profile user.
-  SessionController* session = Shell::Get()->session_controller();
-  if (session->IsUserSessionBlocked())
-    return false;
-
-  // Don't show if we cannot add or switch users.
-  if (session->GetAddUserPolicy() != AddUserSessionPolicy::ALLOWED &&
-      session->NumberOfLoggedInUsers() <= 1)
-    return false;
-  return true;
-}
-
 void UnifiedSystemTrayController::AnimationEnded(
     const gfx::Animation* animation) {
   UpdateExpandedAmount();
diff --git a/ash/system/unified/unified_system_tray_controller.h b/ash/system/unified/unified_system_tray_controller.h
index 23741f5..f374cc21a 100644
--- a/ash/system/unified/unified_system_tray_controller.h
+++ b/ash/system/unified/unified_system_tray_controller.h
@@ -41,10 +41,6 @@
   // Create the view. The created view is unowned.
   UnifiedSystemTrayView* CreateView();
 
-  // Switch the active user to |user_index|. Called from the view.
-  void HandleUserSwitch(int user_index);
-  // Show multi profile login UI. Called from the view.
-  void HandleAddUserAction();
   // Sign out from the current user. Called from the view.
   void HandleSignOutAction();
   // Show lock screen which asks the user password. Called from the view.
@@ -105,9 +101,6 @@
   // Ensure the main view is expanded. Called from the slider bubble controller.
   void EnsureExpanded();
 
-  // Return true if user chooser is enabled. Called from the view.
-  bool IsUserChooserEnabled() const;
-
   // gfx::AnimationDelegate:
   void AnimationEnded(const gfx::Animation* animation) override;
   void AnimationProgressed(const gfx::Animation* animation) override;
diff --git a/ash/system/unified/user_chooser_detailed_view_controller.cc b/ash/system/unified/user_chooser_detailed_view_controller.cc
index 8301795..80d4540b 100644
--- a/ash/system/unified/user_chooser_detailed_view_controller.cc
+++ b/ash/system/unified/user_chooser_detailed_view_controller.cc
@@ -4,6 +4,10 @@
 
 #include "ash/system/unified/user_chooser_detailed_view_controller.h"
 
+#include "ash/multi_profile_uma.h"
+#include "ash/session/session_controller.h"
+#include "ash/shell.h"
+#include "ash/system/unified/unified_system_tray_controller.h"
 #include "ash/system/unified/user_chooser_view.h"
 
 namespace ash {
@@ -15,8 +19,56 @@
 UserChooserDetailedViewController::~UserChooserDetailedViewController() =
     default;
 
+// static
+bool UserChooserDetailedViewController::IsUserChooserEnabled() {
+  // Don't allow user add or switch when CancelCastingDialog is open.
+  // See http://crrev.com/291276 and http://crbug.com/353170.
+  if (Shell::IsSystemModalWindowOpen())
+    return false;
+
+  // Don't allow at login, lock or when adding a multi-profile user.
+  SessionController* session = Shell::Get()->session_controller();
+  if (session->IsUserSessionBlocked())
+    return false;
+
+  // Don't show if we cannot add or switch users.
+  if (session->GetAddUserPolicy() != AddUserSessionPolicy::ALLOWED &&
+      session->NumberOfLoggedInUsers() <= 1)
+    return false;
+  return true;
+}
+
+void UserChooserDetailedViewController::TransitionToMainView() {
+  tray_controller_->TransitionToMainView(true /* restore_focus */);
+}
+
+void UserChooserDetailedViewController::HandleUserSwitch(int user_index) {
+  // Do not switch users when the log screen is presented.
+  SessionController* controller = Shell::Get()->session_controller();
+  if (controller->IsUserSessionBlocked())
+    return;
+
+  // |user_index| must be in range (0, number_of_user). Note 0 is excluded
+  // because it represents the active user and SwitchUser should not be called
+  // for such case.
+  DCHECK_GT(user_index, 0);
+  DCHECK_LT(user_index, controller->NumberOfLoggedInUsers());
+
+  MultiProfileUMA::RecordSwitchActiveUser(
+      MultiProfileUMA::SWITCH_ACTIVE_USER_BY_TRAY);
+  controller->SwitchActiveUser(
+      controller->GetUserSession(user_index)->user_info->account_id);
+  tray_controller_->CloseBubble();
+}
+
+void UserChooserDetailedViewController::HandleAddUserAction() {
+  MultiProfileUMA::RecordSigninUser(MultiProfileUMA::SIGNIN_USER_BY_TRAY);
+  Shell::Get()->session_controller()->ShowMultiProfileLogin();
+  tray_controller_->CloseBubble();
+}
+
 views::View* UserChooserDetailedViewController::CreateView() {
-  return new UserChooserView(tray_controller_);
+  return new UserChooserView(this);
 }
 
 }  // namespace ash
diff --git a/ash/system/unified/user_chooser_detailed_view_controller.h b/ash/system/unified/user_chooser_detailed_view_controller.h
index a8f93ba..b576390 100644
--- a/ash/system/unified/user_chooser_detailed_view_controller.h
+++ b/ash/system/unified/user_chooser_detailed_view_controller.h
@@ -20,6 +20,18 @@
       UnifiedSystemTrayController* tray_controller);
   ~UserChooserDetailedViewController() override;
 
+  // Return true if user chooser is enabled. Called from the view.
+  static bool IsUserChooserEnabled();
+
+  // Transitions back from the detailed view to the main view.
+  void TransitionToMainView();
+
+  // Switch the active user to |user_index|. Called from the view.
+  void HandleUserSwitch(int user_index);
+
+  // Show multi profile login UI. Called from the view.
+  void HandleAddUserAction();
+
   // DetailedViewController:
   views::View* CreateView() override;
 
diff --git a/ash/system/unified/user_chooser_view.cc b/ash/system/unified/user_chooser_view.cc
index 7a100d03..e392e88 100644
--- a/ash/system/unified/user_chooser_view.cc
+++ b/ash/system/unified/user_chooser_view.cc
@@ -19,7 +19,7 @@
 #include "ash/system/tray/tri_view.h"
 #include "ash/system/unified/top_shortcut_button.h"
 #include "ash/system/unified/top_shortcuts_view.h"
-#include "ash/system/unified/unified_system_tray_controller.h"
+#include "ash/system/unified/user_chooser_detailed_view_controller.h"
 #include "ash/system/user/rounded_image_view.h"
 #include "base/strings/utf_string_conversions.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -39,41 +39,41 @@
 
 class CloseButton : public TopShortcutButton, public views::ButtonListener {
  public:
-  explicit CloseButton(UnifiedSystemTrayController* controller);
+  explicit CloseButton(UserChooserDetailedViewController* controller);
 
   // views::ButtonListener:
   void ButtonPressed(views::Button* sender, const ui::Event& event) override;
 
  private:
-  UnifiedSystemTrayController* const controller_;
+  UserChooserDetailedViewController* const controller_;
 
   DISALLOW_COPY_AND_ASSIGN(CloseButton);
 };
 
-CloseButton::CloseButton(UnifiedSystemTrayController* controller)
+CloseButton::CloseButton(UserChooserDetailedViewController* controller)
     : TopShortcutButton(this, views::kIcCloseIcon, IDS_APP_ACCNAME_CLOSE),
       controller_(controller) {}
 
 void CloseButton::ButtonPressed(views::Button* sender, const ui::Event& event) {
-  controller_->TransitionToMainView(true /* restore_focus */);
+  controller_->TransitionToMainView();
 }
 
 // A button that will transition to multi profile login UI.
 class AddUserButton : public views::Button, public views::ButtonListener {
  public:
-  explicit AddUserButton(UnifiedSystemTrayController* controller);
+  explicit AddUserButton(UserChooserDetailedViewController* controller);
   ~AddUserButton() override = default;
 
   // views::ButtonListener:
   void ButtonPressed(views::Button* sender, const ui::Event& event) override;
 
  private:
-  UnifiedSystemTrayController* const controller_;
+  UserChooserDetailedViewController* const controller_;
 
   DISALLOW_COPY_AND_ASSIGN(AddUserButton);
 };
 
-AddUserButton::AddUserButton(UnifiedSystemTrayController* controller)
+AddUserButton::AddUserButton(UserChooserDetailedViewController* controller)
     : Button(this), controller_(controller) {
   SetLayoutManager(std::make_unique<views::BoxLayout>(
       views::BoxLayout::kHorizontal, gfx::Insets(kUnifiedTopShortcutSpacing),
@@ -186,7 +186,7 @@
 }
 
 UserItemButton::UserItemButton(int user_index,
-                               UnifiedSystemTrayController* controller,
+                               UserChooserDetailedViewController* controller,
                                bool has_close_button)
     : Button(this),
       user_index_(user_index),
@@ -283,7 +283,8 @@
     controller_->HandleUserSwitch(user_index_);
 }
 
-UserChooserView::UserChooserView(UnifiedSystemTrayController* controller) {
+UserChooserView::UserChooserView(
+    UserChooserDetailedViewController* controller) {
   SetLayoutManager(
       std::make_unique<views::BoxLayout>(views::BoxLayout::kVertical));
   const int num_users =
diff --git a/ash/system/unified/user_chooser_view.h b/ash/system/unified/user_chooser_view.h
index 757f7e5..b166f65 100644
--- a/ash/system/unified/user_chooser_view.h
+++ b/ash/system/unified/user_chooser_view.h
@@ -16,7 +16,7 @@
 
 namespace ash {
 
-class UnifiedSystemTrayController;
+class UserChooserDetailedViewController;
 
 // Circular image view with user's icon of |user_index|.
 views::View* CreateUserAvatarView(int user_index);
@@ -28,7 +28,7 @@
 class UserItemButton : public views::Button, public views::ButtonListener {
  public:
   UserItemButton(int user_index,
-                 UnifiedSystemTrayController* controller,
+                 UserChooserDetailedViewController* controller,
                  bool has_close_button);
   ~UserItemButton() override = default;
 
@@ -42,7 +42,7 @@
 
  private:
   const int user_index_;
-  UnifiedSystemTrayController* const controller_;
+  UserChooserDetailedViewController* const controller_;
   views::ImageView* const capture_icon_;
   views::Label* const name_;
   views::Label* const email_;
@@ -53,7 +53,7 @@
 // A detailed view of user chooser.
 class UserChooserView : public views::View, public MediaCaptureObserver {
  public:
-  UserChooserView(UnifiedSystemTrayController* controller);
+  explicit UserChooserView(UserChooserDetailedViewController* controller);
   ~UserChooserView() override;
 
   // MediaCaptureObserver:
diff --git a/base/files/file_path_watcher_linux.cc b/base/files/file_path_watcher_linux.cc
index 3f5eb8e..0ff8924 100644
--- a/base/files/file_path_watcher_linux.cc
+++ b/base/files/file_path_watcher_linux.cc
@@ -516,6 +516,8 @@
 
 void FilePathWatcherImpl::DecreaseWatch() {
   --number_of_inotify_watches_;
+  // Sanity check:
+  DCHECK_GE(number_of_inotify_watches_, 0);
 }
 
 bool FilePathWatcherImpl::Watch(const FilePath& path,
diff --git a/base/profiler/stack_sampler.h b/base/profiler/stack_sampler.h
index a6f13d00..18abbf9 100644
--- a/base/profiler/stack_sampler.h
+++ b/base/profiler/stack_sampler.h
@@ -64,7 +64,7 @@
 
   // Adds an auxiliary unwinder to handle additional, non-native-code unwind
   // scenarios.
-  virtual void AddAuxUnwinder(Unwinder* unwinder) = 0;
+  virtual void AddAuxUnwinder(std::unique_ptr<Unwinder> unwinder) = 0;
 
   // Records a set of frames and returns them.
   virtual void RecordStackFrames(StackBuffer* stackbuffer,
diff --git a/base/profiler/stack_sampler_impl.cc b/base/profiler/stack_sampler_impl.cc
index 0b808fba..d8d8e2df 100644
--- a/base/profiler/stack_sampler_impl.cc
+++ b/base/profiler/stack_sampler_impl.cc
@@ -85,8 +85,8 @@
 
 StackSamplerImpl::~StackSamplerImpl() = default;
 
-void StackSamplerImpl::AddAuxUnwinder(Unwinder* unwinder) {
-  aux_unwinder_ = unwinder;
+void StackSamplerImpl::AddAuxUnwinder(std::unique_ptr<Unwinder> unwinder) {
+  aux_unwinder_ = std::move(unwinder);
   aux_unwinder_->AddNonNativeModules(module_cache_);
 }
 
@@ -106,7 +106,7 @@
 
   profile_builder->OnSampleCompleted(
       WalkStack(module_cache_, &thread_context, stack_top,
-                native_unwinder_.get(), aux_unwinder_));
+                native_unwinder_.get(), aux_unwinder_.get()));
 }
 // static
 
diff --git a/base/profiler/stack_sampler_impl.h b/base/profiler/stack_sampler_impl.h
index 8b73e0d8..b28d90c 100644
--- a/base/profiler/stack_sampler_impl.h
+++ b/base/profiler/stack_sampler_impl.h
@@ -31,7 +31,7 @@
   StackSamplerImpl& operator=(const StackSamplerImpl&) = delete;
 
   // StackSampler:
-  void AddAuxUnwinder(Unwinder* unwinder) override;
+  void AddAuxUnwinder(std::unique_ptr<Unwinder> unwinder) override;
   void RecordStackFrames(StackBuffer* stack_buffer,
                          ProfileBuilder* profile_builder) override;
 
@@ -56,7 +56,7 @@
 
   const std::unique_ptr<ThreadDelegate> thread_delegate_;
   const std::unique_ptr<Unwinder> native_unwinder_;
-  Unwinder* aux_unwinder_ = nullptr;
+  std::unique_ptr<Unwinder> aux_unwinder_;
   ModuleCache* const module_cache_;
   StackSamplerTestDelegate* const test_delegate_;
 };
diff --git a/base/profiler/stack_sampling_profiler.cc b/base/profiler/stack_sampling_profiler.cc
index 0c7c1f4..0663e2c 100644
--- a/base/profiler/stack_sampling_profiler.cc
+++ b/base/profiler/stack_sampling_profiler.cc
@@ -18,6 +18,7 @@
 #include "base/memory/ptr_util.h"
 #include "base/memory/singleton.h"
 #include "base/profiler/stack_sampler.h"
+#include "base/profiler/unwinder.h"
 #include "base/synchronization/lock.h"
 #include "base/thread_annotations.h"
 #include "base/threading/thread.h"
@@ -127,7 +128,7 @@
 
   // Adds an auxiliary unwinder to be used for the collection, to handle
   // additional, non-native-code unwind scenarios.
-  void AddAuxUnwinder(int collection_id, Unwinder* unwinder);
+  void AddAuxUnwinder(int collection_id, std::unique_ptr<Unwinder> unwinder);
 
   // Removes an active collection based on its collection id, forcing it to run
   // its callback if any data has been collected. This can be called externally
@@ -178,7 +179,8 @@
 
   // These methods are tasks that get posted to the internal message queue.
   void AddCollectionTask(std::unique_ptr<CollectionContext> collection);
-  void AddAuxUnwinderTask(int collection_id, Unwinder* unwinder);
+  void AddAuxUnwinderTask(int collection_id,
+                          std::unique_ptr<Unwinder> unwinder);
   void RemoveCollectionTask(int collection_id);
   void RecordSampleTask(int collection_id);
   void ShutdownTask(int add_events);
@@ -329,8 +331,9 @@
   return collection_id;
 }
 
-void StackSamplingProfiler::SamplingThread::AddAuxUnwinder(int collection_id,
-                                                           Unwinder* unwinder) {
+void StackSamplingProfiler::SamplingThread::AddAuxUnwinder(
+    int collection_id,
+    std::unique_ptr<Unwinder> unwinder) {
   ThreadExecutionState state;
   scoped_refptr<SingleThreadTaskRunner> task_runner = GetTaskRunner(&state);
   if (state != RUNNING)
@@ -338,7 +341,7 @@
   DCHECK(task_runner);
   task_runner->PostTask(
       FROM_HERE, BindOnce(&SamplingThread::AddAuxUnwinderTask, Unretained(this),
-                          collection_id, unwinder));
+                          collection_id, std::move(unwinder)));
 }
 
 void StackSamplingProfiler::SamplingThread::Remove(int collection_id) {
@@ -477,14 +480,14 @@
 
 void StackSamplingProfiler::SamplingThread::AddAuxUnwinderTask(
     int collection_id,
-    Unwinder* unwinder) {
+    std::unique_ptr<Unwinder> unwinder) {
   DCHECK_EQ(GetThreadId(), PlatformThread::CurrentId());
 
   auto loc = active_collections_.find(collection_id);
   if (loc == active_collections_.end())
     return;
 
-  loc->second->native_sampler->AddAuxUnwinder(unwinder);
+  loc->second->native_sampler->AddAuxUnwinder(std::move(unwinder));
 }
 
 void StackSamplingProfiler::SamplingThread::AddCollectionTask(
@@ -744,7 +747,7 @@
   profiler_id_ = kNullProfilerId;
 }
 
-void StackSamplingProfiler::AddAuxUnwinder(Unwinder* unwinder) {
+void StackSamplingProfiler::AddAuxUnwinder(std::unique_ptr<Unwinder> unwinder) {
   SamplingThread::GetInstance()->AddAuxUnwinder(profiler_id_,
                                                 std::move(unwinder));
 }
diff --git a/base/profiler/stack_sampling_profiler.h b/base/profiler/stack_sampling_profiler.h
index 71f8d0c5..d5761383 100644
--- a/base/profiler/stack_sampling_profiler.h
+++ b/base/profiler/stack_sampling_profiler.h
@@ -113,7 +113,7 @@
 
   // Adds an auxiliary unwinder to handle additional, non-native-code unwind
   // scenarios.
-  void AddAuxUnwinder(Unwinder* unwinder);
+  void AddAuxUnwinder(std::unique_ptr<Unwinder> unwinder);
 
   // Test peer class. These functions are purely for internal testing of
   // StackSamplingProfiler; DO NOT USE within tests outside of this directory.
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
index b583775..c5ae594 100644
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -254,7 +254,6 @@
   "java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabCaptionControl.java",
   "java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabPanel.java",
   "java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabTitleControl.java",
-  "java/src/org/chromium/chrome/browser/compositor/layouts/ChromeAnimation.java",
   "java/src/org/chromium/chrome/browser/compositor/layouts/EmptyOverviewModeObserver.java",
   "java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java",
   "java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java",
@@ -295,8 +294,6 @@
   "java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/OverlappingStack.java",
   "java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/Stack.java",
   "java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimation.java",
-  "java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationLandscape.java",
-  "java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java",
   "java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackScroller.java",
   "java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackTab.java",
   "java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackViewAnimation.java",
diff --git a/chrome/android/chrome_test_java_sources.gni b/chrome/android/chrome_test_java_sources.gni
index b79e489..1c03171 100644
--- a/chrome/android/chrome_test_java_sources.gni
+++ b/chrome/android/chrome_test_java_sources.gni
@@ -90,7 +90,6 @@
   "javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelEventFilterTest.java",
   "javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManagerTest.java",
   "javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManagerWrapper.java",
-  "javatests/src/org/chromium/chrome/browser/compositor/layouts/ChromeAnimationTest.java",
   "javatests/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerTest.java",
   "javatests/src/org/chromium/chrome/browser/compositor/layouts/MockContextForLayout.java",
   "javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java",
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ar.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ar.xtb
index e3957f0..a1fe1ea75 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ar.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ar.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="ar">
 <translation id="1135993792949700405">‏سيُرسل Chrome البيانات الشخصية التي اختَرتها إلى <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">هل تريد فتح الرابط الخارجي؟</translation>
 <translation id="3604604794717279723">أوافق</translation>
+<translation id="4437727785356380473">‏تم غلق "مساعد Google" في Chrome.</translation>
 <translation id="4850886885716139402">عرض</translation>
 <translation id="5014174725590676422">‏يتم عرض شاشة التشغيل الأولى "لمساعد Google" على Chrome</translation>
 <translation id="5188078772080029703">‏سيرسل Chrome عنوان URL للموقع الإلكتروني ومحتواه، بالإضافة إلى عنوان بريدك الإلكتروني ونوع بطاقة الائتمان التي تم حفظها في Chrome إلى Google. يمكنك إيقاف هذا الإعداد من خلال "إعدادات Chrome". <ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">‏يتم فتح "مساعد Google" في Chrome بارتفاع كامل.</translation>
+<translation id="6555233628095991027">‏تم فتح "مساعد Google" في Chrome بارتفاع كامل.</translation>
 <translation id="6973932557599545801">عذرًا، لا يمكنني مساعدتك، يُرجى المتابعة بنفسك.</translation>
 <translation id="7658239707568436148">إلغاء</translation>
 <translation id="7871791972254842204">يمكنك قراءة الأحكام والشروط والموافقة عليها <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> لاحقًا</translation>
+<translation id="8253702004019660079">‏"مساعد Google" في Chrome</translation>
 <translation id="8723954843026426558">أوافق على الأحكام والشروط وسياسة الخصوصية والحق القانوني في التراجع عن <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">‏يوفِّر عليك "مساعد Google" الوقت من خلال مساعدتك على تسجيل الخروج من الويب</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_bn.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_bn.xtb
index 43077d4..69dbdde 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_bn.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_bn.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="bn">
 <translation id="1135993792949700405">আপনার বেছে নেওয়া <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />-এ Chrome ব্যক্তিগত ডেটা পাঠাবে</translation>
+<translation id="1625889395409731085">এক্সটারনাল লিঙ্ক খুলতে চান?</translation>
 <translation id="3604604794717279723">আমি সম্মতি দিচ্ছি</translation>
+<translation id="4437727785356380473">Chrome-এ Google অ্যাসিস্ট্যান্ট বন্ধ হয়ে গেছে।</translation>
 <translation id="4850886885716139402">দেখুন</translation>
 <translation id="5014174725590676422">Chrome প্রথমবার চালানোর সময়ে Google অ্যাসিস্ট্যান্ট কীভাবে কাজ করবে তা দেখানো হয়েছে</translation>
 <translation id="5188078772080029703">Chrome ব্রাউজারে সেভ করা সাইটের ইউআরএল এবং কন্টেন্ট সহ আপনার ইমেল আইডি ও ক্রেডিট কার্ড সংক্রান্ত তথ্য Chrome-এর মাধ্যমে Google-কে পাঠানো হবে। Chrome সেটিংসে গিয়ে আপনি এটি বন্ধ করতে পারবেন। <ph name="BEGIN_LINK" />আরও জানুন<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Chrome-এ Google অ্যাসিস্ট্যান্ট পুরো স্ক্রিন জুড়ে খোলা আছে।</translation>
+<translation id="6555233628095991027">Chrome-এ Google অ্যাসিস্ট্যান্ট অর্ধেক স্ক্রিন জুড়ে খোলা আছে।</translation>
 <translation id="6973932557599545801">আমি সাহায্য করতে পারছি না, নিজের মতো করে এগিয়ে যান।</translation>
 <translation id="7658239707568436148">বাতিল</translation>
 <translation id="7871791972254842204">পরে <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />-এ দেওয়া নিয়ম ও শর্তাবলী পড়ে সম্মতি দেব</translation>
+<translation id="8253702004019660079">Chrome-এ Google অ্যাসিস্ট্যান্ট।</translation>
 <translation id="8723954843026426558">আমি <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />-এর নিয়ম ও শর্তাবলী, গোপনীয়তা নীতি এবং প্রত্যাহার করার অধিকারের বিষয়ে সম্মতি দিচ্ছি</translation>
 <translation id="9138504265731110181">Google অ্যাসিস্ট্যান্ট ওয়েবে চেক-আউট করতে সাহায্য করে আপনার সময় বাঁচায়</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_cs.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_cs.xtb
index cc1af73..f15e526 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_cs.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_cs.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="cs">
 <translation id="1135993792949700405">Osobní údaje, které jste vybrali, Chrome odešle webu <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Otevřít externí odkaz?</translation>
 <translation id="3604604794717279723">Přijímám</translation>
+<translation id="4437727785356380473">Asistent Google v Chromu byl zavřen.</translation>
 <translation id="4850886885716139402">Zobrazit</translation>
 <translation id="5014174725590676422">Je zobrazena obrazovka prvního spuštění Asistenta Google v Chromu</translation>
 <translation id="5188078772080029703">Adresu URL a obsah webu a váš e-mail a typ platební karty uložený v Chromu odešle Chrome do Googlu. Tuto možnost můžete vypnout v nastavení. <ph name="BEGIN_LINK" />Další informace<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Asistent Google v Chromu byl otevřen na celou výšku.</translation>
+<translation id="6555233628095991027">Asistent Google v Chromu je otevřený na poloviční výšku.</translation>
 <translation id="6973932557599545801">Pardon, nedokážu vám pomoct. Je to na vás.</translation>
 <translation id="7658239707568436148">Zrušit</translation>
 <translation id="7871791972254842204">Přečíst si a odsouhlasit smluvní podmínky domény <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> později</translation>
+<translation id="8253702004019660079">Asistent Google v Chromu.</translation>
 <translation id="8723954843026426558">Souhlasím se smluvními podmínkami, zásadami ochrany soukromí a právem na odstoupení od smlouvy domény <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Asistent Google vám šetří čas tím, že vám pomáhá dokončovat nákupy na webu</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_da.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_da.xtb
index 533bfc7..1f86321 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_da.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_da.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="da">
 <translation id="1135993792949700405">Chrome sender de personoplysninger, du har valgt, til <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Vil du åbne et eksternt link?</translation>
 <translation id="3604604794717279723">Jeg accepterer</translation>
+<translation id="4437727785356380473">Google Assistent i Chrome er lukket.</translation>
 <translation id="4850886885716139402">Vis</translation>
 <translation id="5014174725590676422">Skærmen for førstegangsbrug af Google Assistent i Chrome vises</translation>
 <translation id="5188078772080029703">Chrome sender websitets webadresse og indhold samt den mail og type betalingskort, der er gemt i Chrome, til Google. Du kan slå dette fra i indstillingerne for Chrome. <ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Google Assistent i Chrome er åbnet i fuld højde.</translation>
+<translation id="6555233628095991027">Google Assistent i Chrome er åbnet i halv højde.</translation>
 <translation id="6973932557599545801">Jeg kan desværre ikke hjælpe. Fortsæt på egen hånd.</translation>
 <translation id="7658239707568436148">Annuller</translation>
 <translation id="7871791972254842204">Læs og acceptér vilkår og betingelser på <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> på et senere tidspunkt</translation>
+<translation id="8253702004019660079">Google Assistent i Chrome</translation>
 <translation id="8723954843026426558">Jeg accepterer vilkårene og betingelserne, privatlivspolitikken samt fortrydelsesretten i forbindelse med <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Du sparer tid ved at bruge Google-assistenten, da den hjælper dig med betalingsprocessen på nettet</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_el.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_el.xtb
index 169eb1d..52d3f51 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_el.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_el.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="el">
 <translation id="1135993792949700405">Το Chrome θα στείλει τα προσωπικά δεδομένα που επιλέξατε στον τομέα <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Άνοιγμα εξωτερικού συνδέσμου;</translation>
 <translation id="3604604794717279723">Συμφωνώ</translation>
+<translation id="4437727785356380473">Ο Βοηθός Google στο Chrome έκλεισε.</translation>
 <translation id="4850886885716139402">Προβολή</translation>
 <translation id="5014174725590676422">Εμφανίζεται ο Βοηθός Google στην η οθόνη πρώτης εκτέλεσης του Chrome</translation>
 <translation id="5188078772080029703">Το Chrome θα στείλει στην Google το URL και το περιεχόμενο του ιστοτόπου, καθώς και τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας και τον τύπο πιστωτικής κάρτας που είναι αποθηκευμένο στο Chrome. Μπορείτε να απενεργοποιήσετε αυτήν τη λειτουργία στις ρυθμίσεις του Chrome. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Ο Βοηθός Google στο Chrome άνοιξε στο πλήρες ύψος.</translation>
+<translation id="6555233628095991027">Ο Βοηθός Google στο Chrome άνοιξε στο μισό ύψος.</translation>
 <translation id="6973932557599545801">Δυστυχώς, δεν μπορώ να σας βοηθήσω, θα πρέπει να συνεχίσετε μόνοι σας.</translation>
 <translation id="7658239707568436148">Ακύρωση</translation>
 <translation id="7871791972254842204">Ανάγνωση και αποδοχή των όρων και προϋποθέσεων στο <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> αργότερα</translation>
+<translation id="8253702004019660079">Βοηθός Google στο Chrome.</translation>
 <translation id="8723954843026426558">Συμφωνώ με τους όρους και τις προϋποθέσεις, την πολιτική απορρήτου και το δικαίωμα υπαναχώρησης από το <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Ο Βοηθός Google σας εξοικονομεί χρόνο επειδή σας βοηθάει με τη διαδικασία ολοκλήρωσης αγορών στον ιστό</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_et.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_et.xtb
index 31d9207..a3eeb59 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_et.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_et.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="et">
 <translation id="1135993792949700405">Chrome saadab teie valitud isiklikud andmed teenusele <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Kas avada väline link?</translation>
 <translation id="3604604794717279723">Nõustun</translation>
+<translation id="4437727785356380473">Chrome'ile mõeldud Google'i assistent on suletud.</translation>
 <translation id="4850886885716139402">Kuva</translation>
 <translation id="5014174725590676422">Näidatud on Google'i assistendi esmakordse käivitamise kuva Chrome'is</translation>
 <translation id="5188078772080029703">Chrome saadab Google'ile saidi URL-i ja sisu ning teie e-posti aadressi ja Chrome'i salvestatud krediitkaardi tüübi. Selle saab Chrome'i seadetes välja lülitada. <ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Chrome'i jaoks mõeldud Google'i assistent avanes täiskõrgusega.</translation>
+<translation id="6555233628095991027">Chrome'i jaoks mõeldud Google'i assistent avanes poole kõrgusega.</translation>
 <translation id="6973932557599545801">Kahjuks ma ei saa aidata, jätkake iseseisvalt.</translation>
 <translation id="7658239707568436148">Tühista</translation>
 <translation id="7871791972254842204">Lugege domeenil <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> nõudeid ja tingimusi ning nõustuge nendega hiljem</translation>
+<translation id="8253702004019660079">Google'i assistent Chrome'is.</translation>
 <translation id="8723954843026426558">Nõustun nõuete ja tingimuste, privaatsuseeskirjade ja domeeni <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> taganemisõigusega</translation>
 <translation id="9138504265731110181">Google'i assistent säästab teie aega, võimaldades teil veebis maksta.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_fa.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_fa.xtb
index e85e4946e..906c0fc1 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_fa.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_fa.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="fa">
 <translation id="1135993792949700405">‏Chrome داده‌های شخصی را که انتخاب کرده‌اید به <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ارسال می‌کند</translation>
+<translation id="1625889395409731085">پیوند خارجی باز شود؟</translation>
 <translation id="3604604794717279723">موافقم</translation>
+<translation id="4437727785356380473">‏«دستیار Google» در Chrome بسته شد.</translation>
 <translation id="4850886885716139402">نما</translation>
 <translation id="5014174725590676422">‏صفحه اولین اجرای «دستیار Google» در Chrome نشان داده می‌شود</translation>
 <translation id="5188078772080029703">‏Chrome نشانی وب و محتوای سایت را به‌همراه ایمیل و نوع کارت ذخیره‌شده شما در Chrome، به Google ارسال می‌کند. می‌توانید این گزینه را در تنظیمات Chrome خاموش کنید. <ph name="BEGIN_LINK" />بیشتر بدانید<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">‏«دستیار Google» به‌صورت کامل در Chrome باز شد.</translation>
+<translation id="6555233628095991027">‏«دستیار Google» به‌صورت نیمه در Chrome باز شد.</translation>
 <translation id="6973932557599545801">متأسفم، نمی‌توانم کمک کنم، لطفاً خودتان ادامه دهید.</translation>
 <translation id="7658239707568436148">لغو</translation>
 <translation id="7871791972254842204">خواندن و موافقت با شرایط خدمات مربوط به <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> در فرصتی دیگر</translation>
+<translation id="8253702004019660079">‏«دستیار Google» در Chrome.</translation>
 <translation id="8723954843026426558">با شرایط خدمات، خط‌مشی رازداری و حق فسخ <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> موافقت می‌کنم</translation>
 <translation id="9138504265731110181">‏«دستیار Google» با کمک به شما برای تسویه‌حساب در وب، در زمانتان صرفه‌جویی می‌کند</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_gu.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_gu.xtb
index 0787b2f..7e10464 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_gu.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_gu.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="gu">
 <translation id="1135993792949700405">તમે પસંદ કરેલો વ્યક્તિગત ડેટા Chrome <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />ને મોકલશે</translation>
+<translation id="1625889395409731085">બાહ્ય લિંક ખોલીએ?</translation>
 <translation id="3604604794717279723">હું સ્વીકારું છું</translation>
+<translation id="4437727785356380473">Chromeમાં Google આસિસ્ટંટ બંધ કર્યું.</translation>
 <translation id="4850886885716139402">જુઓ</translation>
 <translation id="5014174725590676422">Chromeમાં Google આસિસ્ટંટની પહેલી સ્ક્રીન બતાવવામાં આવી છે</translation>
 <translation id="5188078772080029703">Chrome સાઇટના URL અને કન્ટેન્ટ તેમજ તમારા ઇમેઇલ અને Chromeમાં સાચવેલા ક્રેડિટ કાર્ડના પ્રકારને Googleને મોકલશે. તમે આને Chrome સેટિંગમાં બંધ કરી શકો છો. <ph name="BEGIN_LINK" />વધુ જાણો<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Chromeમાં Google આસિસ્ટંટ સંપૂર્ણ ઊંચાઈએ ખુલ્યું.</translation>
+<translation id="6555233628095991027">Chromeમાં Google આસિસ્ટંટ અડધી ઊંચાઈએ ખુલ્યું.</translation>
 <translation id="6973932557599545801">માફ કરશો, હું હવે વધુ સહાય કરી શકીશ નહીં, કૃપા કરીને તમારી રીતે આગળ વધો.</translation>
 <translation id="7658239707568436148">રદ કરો</translation>
 <translation id="7871791972254842204">પછીથી, <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> પરના શરતો અને નિયમોથી સંમત થાઓ</translation>
+<translation id="8253702004019660079">Chromeમાં Google આસિસ્ટંટ.</translation>
 <translation id="8723954843026426558">હું <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />ના શરતો અને નિયમો, પ્રાઇવસી પૉલિસી અને પાછું ખેંચવાના અધિકારથી સંમત છું</translation>
 <translation id="9138504265731110181">Google આસિસ્ટંટ વેબસાઇટના ચેકઆઉટમાં તમારી સહાય કરીને તમારો સમય બચાવે છે</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hi.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hi.xtb
index 9a533fe..c4fa1f12 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hi.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hi.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="hi">
 <translation id="1135993792949700405">Chrome वह निजी डेटा भेजेगा जिसे आपने <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> के लिए चुना है</translation>
+<translation id="1625889395409731085">बाहरी लिंक खोलना चाहते हैं?</translation>
 <translation id="3604604794717279723">मैं सहमत हूं</translation>
+<translation id="4437727785356380473">Chrome में Google Assistant बंद हो गई है.</translation>
 <translation id="4850886885716139402">देखें</translation>
 <translation id="5014174725590676422">'Chrome में Google Assistant' की सबसे पहली स्क्रीन दिखाई गई है</translation>
 <translation id="5188078772080029703">Chrome साइट के यूआरएल और सामग्री के साथ ही आपका ईमेल और Chrome में सेव किया गया क्रेडिट कार्ड का प्रकार Google को भेजेगा. आप Chrome सेटिंग में जाकर इसे बंद कर सकते हैं. <ph name="BEGIN_LINK" />ज़्यादा जानें<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Chrome में Google Assistant सेवा पूरी ऊंचाई पर खुलती है.</translation>
+<translation id="6555233628095991027">Chrome में Google Assistant सेवा आधी ऊंचाई पर खुली है.</translation>
 <translation id="6973932557599545801">माफ़ करें, मैं आपकी मदद नहीं कर सकती. कृपया खुद करने की कोशिश करें.</translation>
 <translation id="7658239707568436148">अभी नहीं</translation>
 <translation id="7871791972254842204">बाद में <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> पर नियम और शर्तें पढ़ें और सहमति दें.</translation>
+<translation id="8253702004019660079">Chrome में Google Assistant.</translation>
 <translation id="8723954843026426558">मैं नियमों और शर्तों, निजता नीति, और <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> निकाले जाने के अधिकार से सहमत हूं</translation>
 <translation id="9138504265731110181">वेबसाइट से चेकआउट की प्रक्रिया तेज़ी से पूरी करके, Google Assistant आपका समय बचाती है.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hr.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hr.xtb
index 2ba8580..633e1e2 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hr.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hr.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="hr">
 <translation id="1135993792949700405">Chrome će poslati domeni <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> osobne podatke koje ste odabrali</translation>
+<translation id="1625889395409731085">Želite li otvoriti eksternu vezu?</translation>
 <translation id="3604604794717279723">Prihvaćam</translation>
+<translation id="4437727785356380473">Zatvoren je Google asistent u Chromeu.</translation>
 <translation id="4850886885716139402">Prikaz</translation>
 <translation id="5014174725590676422">Prikazuje se zaslon prvog pokretanja Google asistenta u Chromeu</translation>
 <translation id="5188078772080029703">Chrome će Googleu poslati URL web-lokacije i njezin sadržaj, kao i vašu e-adresu i vrstu kreditne kartice spremljene u Chromeu. To možete isključiti u Chromeovim postavkama. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Google asistent u Chromeu otvoren je u punoj visini.</translation>
+<translation id="6555233628095991027">Google asistent u Chromeu otvoren je na pola visine.</translation>
 <translation id="6973932557599545801">Nažalost, ne mogu vam pomoći, nastavite sami.</translation>
 <translation id="7658239707568436148">Odustani</translation>
 <translation id="7871791972254842204">Pročitajte i prihvatite uvjete i odredbe na domeni <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> kasnije</translation>
+<translation id="8253702004019660079">Google asistent u Chromeu.</translation>
 <translation id="8723954843026426558">Prihvaćam uvjete i odredbe, pravila o privatnosti i pravo na odustajanje domene <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Google asistent vam štedi vrijeme tako što vas odjavljuje s weba.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hu.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hu.xtb
index f5d35f2..2207d007 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hu.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_hu.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="hu">
 <translation id="1135993792949700405">Az Ön által kiválasztott személyes adatokat a Chrome elküldi a következő domainnek: <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Megnyitja a külső linket?</translation>
 <translation id="3604604794717279723">Elfogadom</translation>
+<translation id="4437727785356380473">A Google Segéd be van zárva a Chrome-ban.</translation>
 <translation id="4850886885716139402">Nézet</translation>
 <translation id="5014174725590676422">A képernyőn a Google Segéd a Chrome-ban szolgáltatás első futtatáskor megjelenő képernyője látható</translation>
 <translation id="5188078772080029703">A Chrome elküldi a Google-nak a webhely URL-címét és tartalmát, valamint az Ön által a Chrome böngészőben elmentett e-mail-címet és hitelkártyatípust. Ezt a Chrome beállításai között kapcsolhatja ki. <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">A Google Segéd teljes magasságban van megnyitva a Chrome-ban.</translation>
+<translation id="6555233628095991027">A Google Segéd félmagasságban van megnyitva a Chrome-ban.</translation>
 <translation id="6973932557599545801">Sajnos nem tudok többet segíteni. Kérjük, folytassa egyedül.</translation>
 <translation id="7658239707568436148">Mégse</translation>
 <translation id="7871791972254842204">A(z) <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> általános szerződési feltételeinek elolvasása és elfogadása később</translation>
+<translation id="8253702004019660079">Google Segéd a Chrome-ban.</translation>
 <translation id="8723954843026426558">Elfogadom a(z) <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> általános szerződési feltételeit, adatvédelmi irányelveit és elállási jogát.</translation>
 <translation id="9138504265731110181">A Google Segéd időt takarít meg Önnek azáltal, hogy segít fizetni az interneten</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ja.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ja.xtb
index 1780600..d530b94cd80 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ja.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ja.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="ja">
 <translation id="1135993792949700405">ユーザーが選択した個人データが Chrome から <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> に送信されます</translation>
+<translation id="1625889395409731085">外部リンクを開きますか?</translation>
 <translation id="3604604794717279723">同意する</translation>
+<translation id="4437727785356380473">Chrome の Google アシスタントを終了しました。</translation>
 <translation id="4850886885716139402">表示</translation>
 <translation id="5014174725590676422">Chrome の Google アシスタントの初回実行画面が表示されました</translation>
 <translation id="5188078772080029703">Chrome から Google に、サイトの URL とコンテンツ、および Chrome に保存されているメールアドレスとクレジット カードのタイプが送信されます。この機能は Chrome の設定で無効にできます。<ph name="BEGIN_LINK" />詳細<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Chrome の Google アシスタントが画面全体に開いています。</translation>
+<translation id="6555233628095991027">Chrome の Google アシスタントが画面の下半分に開いています。</translation>
 <translation id="6973932557599545801">自動入力できません。残りの入力はご自身で行ってください。</translation>
 <translation id="7658239707568436148">キャンセル</translation>
 <translation id="7871791972254842204"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> の利用規約の確認と同意は後で行います</translation>
+<translation id="8253702004019660079">Chrome の Google アシスタント。</translation>
 <translation id="8723954843026426558"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> の利用規約、プライバシー ポリシー、利用を中止する権利について同意します</translation>
 <translation id="9138504265731110181">Google アシスタントを利用すれば、時間をかけず簡単にウェブでの購入手続きを完了できます</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_lv.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_lv.xtb
index ddac829..dd28459 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_lv.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_lv.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="lv">
 <translation id="1135993792949700405">Chrome sūtīs jūsu atlasītos personas datus uz <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Vai atvērt ārējo saiti?</translation>
 <translation id="3604604794717279723">Piekrītu</translation>
+<translation id="4437727785356380473">Google asistents pārlūkprogrammā Chrome ir aizvērts.</translation>
 <translation id="4850886885716139402">Skatīt</translation>
 <translation id="5014174725590676422">Tiek rādīts Google asistenta pirmās palaišanas ekrāns pārlūkprogrammā Chrome.</translation>
 <translation id="5188078772080029703">Chrome nosūtīs vietnes URL un saturu, kā arī jūsu pārlūkā saglabāto e-pasta adresi un kredītkartes veidu uz Google. Šo iespēju varat izslēgt Chrome iestatījumos. <ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Google asistents pārlūkprogrammā Chrome ir atvērts pilnā augstumā.</translation>
+<translation id="6555233628095991027">Google asistents pārlūkprogrammā Chrome ir atvērts pusekrāna augstumā.</translation>
 <translation id="6973932557599545801">Diemžēl nevaru palīdzēt. Lūdzu, turpiniet patstāvīgi.</translation>
 <translation id="7658239707568436148">Atcelt</translation>
 <translation id="7871791972254842204">Vēlāk izlasīt <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> pakalpojumu sniegšanas noteikumus un piekrist tiem</translation>
+<translation id="8253702004019660079">Google asistents pārlūkprogrammā Chrome.</translation>
 <translation id="8723954843026426558">Es piekrītu domēna <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> pakalpojumu sniegšanas noteikumiem, konfidencialitātes politikai un atteikuma tiesībām</translation>
 <translation id="9138504265731110181">Google asistents ietaupa jūsu laiku, palīdzot jums norēķināties tīmeklī</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pl.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pl.xtb
index 41fa67c..9f97ef43 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pl.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pl.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="pl">
 <translation id="1135993792949700405">Chrome będzie wysyłać wybrane przez Ciebie dane osobowe do <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Otworzyć link zewnętrzny?</translation>
 <translation id="3604604794717279723">Zgadzam się</translation>
+<translation id="4437727785356380473">Zamknięto Asystenta Google w Chrome.</translation>
 <translation id="4850886885716139402">Widok</translation>
 <translation id="5014174725590676422">Wyświetlany jest ekran pierwszego uruchomienia Asystenta Google w Chrome</translation>
 <translation id="5188078772080029703">Chrome wyśle do Google URL i zawartość strony oraz Twój e-mail i typ karty kredytowej zapisane w Chrome. Możesz wyłączyć tę opcję w ustawieniach Chrome. <ph name="BEGIN_LINK" />Więcej informacji<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Asystent Google w Chrome otwarty na pełną wysokość.</translation>
+<translation id="6555233628095991027">Asystent Google w Chrome otwarty na pół wysokości.</translation>
 <translation id="6973932557599545801">Nie jestem w stanie Ci pomóc. Kontynuuj samodzielnie.</translation>
 <translation id="7658239707568436148">Anuluj</translation>
 <translation id="7871791972254842204">Przeczytaj i zaakceptuj warunki korzystania ze strony <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> później</translation>
+<translation id="8253702004019660079">Asystent Google w Chrome.</translation>
 <translation id="8723954843026426558">Akceptuję warunki korzystania, politykę prywatności oraz prawo do odstąpienia od umowy obowiązujące na stronie <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Asystent Google oszczędza Twój czas, pomagając Ci w płatnościach na stronach internetowych</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pt-BR.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pt-BR.xtb
index 883ffcb..07809ef6 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pt-BR.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pt-BR.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="pt-BR">
 <translation id="1135993792949700405">O Chrome enviará dados pessoais selecionados por você para <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Abrir link externo?</translation>
 <translation id="3604604794717279723">Aceito</translation>
+<translation id="4437727785356380473">Google Assistente no Chrome fechado.</translation>
 <translation id="4850886885716139402">Visualizar</translation>
 <translation id="5014174725590676422">Exibição da tela de primeiro acesso do Google Assistente no Chrome</translation>
 <translation id="5188078772080029703">O Chrome enviará para o Google o URL e o conteúdo do site, assim como seu e-mail e tipo de cartão de crédito salvo no navegador. É possível desativar esse recurso nas configurações do Chrome. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Google Assistente no Chrome aberto no tamanho máximo.</translation>
+<translation id="6555233628095991027">Google Assistente no Chrome aberto no tamanho médio.</translation>
 <translation id="6973932557599545801">Não posso ajudar. Você está por conta própria.</translation>
 <translation id="7658239707568436148">Cancelar</translation>
 <translation id="7871791972254842204">Ler e aceitar os Termos e Condições em <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> mais tarde</translation>
+<translation id="8253702004019660079">Google Assistente no Chrome</translation>
 <translation id="8723954843026426558">Concordo com os Termos e Condições, com a Política de Privacidade e com o direito legal de cancelamento de <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Com o Google Assistente, você economiza tempo ao finalizar suas compras na Web</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pt-PT.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pt-PT.xtb
index 708f81a..6e0eec4 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pt-PT.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_pt-PT.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="pt-PT">
 <translation id="1135993792949700405">O Chrome envia os dados pessoais selecionados para <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.</translation>
+<translation id="1625889395409731085">Pretende abrir o link externo?</translation>
 <translation id="3604604794717279723">Aceito</translation>
+<translation id="4437727785356380473">Assistente Google no Chrome fechado.</translation>
 <translation id="4850886885716139402">Ver</translation>
 <translation id="5014174725590676422">É apresentado o primeiro ecrã de execução do Assistente Google no Chrome.</translation>
 <translation id="5188078772080029703">O Chrome envia o URL e o conteúdo do site, bem como o seu email e tipo de cartão de crédito guardados no Chrome para o Google. Pode desativar esta opção nas definições do Chrome. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" />.</translation>
+<translation id="5267269112080050255">Assistente Google no Chrome aberto à altura total.</translation>
+<translation id="6555233628095991027">Assistente Google no Chrome aberto a metade da altura.</translation>
 <translation id="6973932557599545801">Lamento, mas não posso ajudar. Continue por sua conta.</translation>
 <translation id="7658239707568436148">Cancelar</translation>
 <translation id="7871791972254842204">Ler e aceitar os Termos de Utilização de <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> mais tarde</translation>
+<translation id="8253702004019660079">Assistente Google no Chrome.</translation>
 <translation id="8723954843026426558">Aceito os Termos de Utilização, a Política de Privacidade e o direito de cancelamento de <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.</translation>
 <translation id="9138504265731110181">O Assistente Google poupa o seu tempo ao ajudá-lo a efetuar pagamentos na Web</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ro.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ro.xtb
index 84c6c5d..43d2bf2 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ro.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_ro.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="ro">
 <translation id="1135993792949700405">Chrome va trimite datele cu caracter personal selectate la <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Deschizi linkul extern?</translation>
 <translation id="3604604794717279723">Accept</translation>
+<translation id="4437727785356380473">Asistentul Google în Chrome este închis.</translation>
 <translation id="4850886885716139402">Afișează</translation>
 <translation id="5014174725590676422">Se afișează ecranul pentru prima rulare a Asistentului Google în Chrome</translation>
 <translation id="5188078772080029703">Chrome va trimite la Google adresa URL a site-ului și conținutul său, precum și adresa ta de e-mail și tipul cardului de credit salvate în Chrome. Poți să dezactivezi această opțiune din setările Chrome. <ph name="BEGIN_LINK" />Află mai multe<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Asistentul Google în Chrome este deschis la înălțimea completă.</translation>
+<translation id="6555233628095991027">Asistentul Google în Chrome a fost deschis la jumătate din înălțime.</translation>
 <translation id="6973932557599545801">Nu te mai pot ajuta. Continuă personal.</translation>
 <translation id="7658239707568436148">Anulează</translation>
 <translation id="7871791972254842204">Citește și acceptă termenii și condițiile domeniului <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> mai târziu</translation>
+<translation id="8253702004019660079">Asistentul Google în Chrome.</translation>
 <translation id="8723954843026426558">Sunt de acord cu termenii și condițiile, politica de confidențialitate și dreptul de retragere ale <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Cu Asistentul Google economisești timp la finalizarea achizițiilor pe web</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sk.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sk.xtb
index 1c95ffa3..da9a2a77 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sk.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sk.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="sk">
 <translation id="1135993792949700405">Chrome bude odosielať vybrané osobné údaje do domény <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Chcete otvoriť externý odkaz?</translation>
 <translation id="3604604794717279723">Súhlasím</translation>
+<translation id="4437727785356380473">Asistent Google v Chrome sa zavrel.</translation>
 <translation id="4850886885716139402">Zobraziť</translation>
 <translation id="5014174725590676422">Zobrazuje sa obrazovka pri prvom spustení Asistenta Google v Chrome</translation>
 <translation id="5188078772080029703">Chrome odošle Googlu webovú adresu a obsah webu spolu s vaším e‑mailom a typom kreditnej karty uloženej v Chome. Túto možnosť môžete vypnúť v nastaveniach. <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Asistent Google v Chrome sa otvoril na celú výšku.</translation>
+<translation id="6555233628095991027">Asistent Google v Chrome sa otvoril na polovičnú výšku.</translation>
 <translation id="6973932557599545801">Ľutujem, neviem pomôcť. Pokračujte samostatne.</translation>
 <translation id="7658239707568436148">Zrušiť</translation>
 <translation id="7871791972254842204">Zmluvné podmienky v doméne <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> si chcem prečítať a odsúhlasiť neskôr</translation>
+<translation id="8253702004019660079">Asistent Google v Chrome</translation>
 <translation id="8723954843026426558">Súhlasím so zmluvnými podmienkami, pravidlami ochrany súkromia a právom na odstúpenie, ktoré sa týkajú domény <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Asistent Google šetrí čas tým, že pomáha dokončovať nákupy cez internet</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sr.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sr.xtb
index b92f4b9..e5cb277 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sr.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sr.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="sr">
 <translation id="1135993792949700405">Chrome ће послати личне податке које сте изабрали на <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Желите ли да отворите спољни линк?</translation>
 <translation id="3604604794717279723">Прихватам</translation>
+<translation id="4437727785356380473">Google помоћник у Chrome-у је затворен.</translation>
 <translation id="4850886885716139402">Приказ</translation>
 <translation id="5014174725590676422">Приказује се екран за прво покретање Google помоћника у Chrome-у</translation>
 <translation id="5188078772080029703">Chrome ће послати Google-у URL и садржај сајта као и ваш имејл и тип кредитне картице сачуван у Chrome-у. Можете да искључите ово у Chrome подешавањима. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Google помоћник у Chrome-у је отворен у пуној висини.</translation>
+<translation id="6555233628095991027">Google помоћник у Chrome-у је отворен на пола висине.</translation>
 <translation id="6973932557599545801">Жао ми је, не могу да вам помогнем. Наставите сами.</translation>
 <translation id="7658239707568436148">Откажи</translation>
 <translation id="7871791972254842204">Прочитајте и прихватите услове и одредбе на <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> касније</translation>
+<translation id="8253702004019660079">Google помоћник у Chrome-у.</translation>
 <translation id="8723954843026426558">Прихватам услове и одредбе, политику приватности и право на одустајање за <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Google помоћник штеди време тако што вам помаже да брже прођете кроз процес плаћања на вебу</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sv.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sv.xtb
index e337744d..2159b6e3 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sv.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_sv.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="sv">
 <translation id="1135993792949700405">Chrome skickar valda personuppgifter till <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">Vill du öppna extern länk?</translation>
 <translation id="3604604794717279723">Godkänn</translation>
+<translation id="4437727785356380473">Google-assistenten i Chrome är stängd.</translation>
 <translation id="4850886885716139402">Visa</translation>
 <translation id="5014174725590676422">Skärmen vid första användningen av Googe-assistenten i Chrome visas</translation>
 <translation id="5188078772080029703">Chrome skickar webbplatsens adress och innehåll tillsammans med den e-postadress och den kreditkortstyp som du har sparat i Chrome till Google. Du kan inaktivera detta i inställningarna i Chrome. <ph name="BEGIN_LINK" />Läs mer<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Google-assistenten i Chrome öppnades och tar upp hela skärmen.</translation>
+<translation id="6555233628095991027">Google-assistenten i Chrome öppnades och tar upp halva skärmen.</translation>
 <translation id="6973932557599545801">Jag kan tyvärr inte hjälpa till. Fortsätt på egen hand.</translation>
 <translation id="7658239707568436148">Avbryt</translation>
 <translation id="7871791972254842204">Läs igenom och godkänn användarvillkoren på <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> senare</translation>
+<translation id="8253702004019660079">Google-assistenten i Chrome.</translation>
 <translation id="8723954843026426558">Jag godkänner användarvillkor, sekretesspolicy och ångerrätt på <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Med Google-assistentens hjälp kan du gå genom kassan snabbare på webben</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_th.xtb b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_th.xtb
index afadbfa..a485b9e 100644
--- a/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_th.xtb
+++ b/chrome/android/features/autofill_assistant/java/strings/translations/android_chrome_autofill_assistant_strings_th.xtb
@@ -2,13 +2,18 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="th">
 <translation id="1135993792949700405">Chrome จะส่งข้อมูลส่วนตัวที่คุณเลือกไปยัง <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
+<translation id="1625889395409731085">เปิดลิงก์ภายนอกไหม</translation>
 <translation id="3604604794717279723">ฉันยอมรับ</translation>
+<translation id="4437727785356380473">Google Assistant ใน Chrome ปิดอยู่</translation>
 <translation id="4850886885716139402">มุมมอง</translation>
 <translation id="5014174725590676422">กำลังแสดงหน้าจอเรียกใช้ Google Assistant ครั้งแรกใน Chrome</translation>
 <translation id="5188078772080029703">Chrome จะส่ง URL และเนื้อหาของเว็บไซต์ รวมถึงอีเมลและประเภทบัตรเครดิตที่คุณบันทึกไว้ใน Chrome ไปยัง Google คุณปิดการดำเนินการนี้ได้ในการตั้งค่า Chrome <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
+<translation id="5267269112080050255">Google Assistant ใน Chrome เปิดอยู่ที่ระดับความสูงเต็มหน้าจอ</translation>
+<translation id="6555233628095991027">Google Assistant ใน Chrome เปิดอยู่ที่ระดับความสูงครึ่งหนึ่งของหน้าจอ</translation>
 <translation id="6973932557599545801">ขออภัย ฉันช่วยคุณไม่ได้ โปรดดำเนินการต่อด้วยตนเอง</translation>
 <translation id="7658239707568436148">ยกเลิก</translation>
 <translation id="7871791972254842204">อ่านและยอมรับข้อกำหนดและเงื่อนไขเกี่ยวกับ <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ภายหลัง</translation>
+<translation id="8253702004019660079">Google Assistant ใน Chrome</translation>
 <translation id="8723954843026426558">ฉันยอมรับข้อกำหนดและเงื่อนไข นโยบายความเป็นส่วนตัว และสิทธิ์การถอนของ <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /></translation>
 <translation id="9138504265731110181">Google Assistant ช่วยคุณประหยัดเวลาในการชำระเงินบนเว็บ</translation>
 </translationbundle>
\ No newline at end of file
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 e34497c..a51527f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -1600,7 +1600,6 @@
     protected void showAppMenuForKeyboardEvent() {
         if (getAppMenuHandler() == null) return;
 
-        TextBubble.dismissBubbles();
         boolean hasPermanentMenuKey = ViewConfiguration.get(this).hasPermanentMenuKey();
         getAppMenuHandler().showAppMenu(
                 hasPermanentMenuKey ? null : getToolbarManager().getMenuButton(), false,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java
index 24610d0..ae43fb3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java
@@ -18,6 +18,7 @@
 
 import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.chrome.R;
+import org.chromium.chrome.browser.widget.textbubble.TextBubble;
 
 import java.util.ArrayList;
 
@@ -118,6 +119,7 @@
     @SuppressLint("ResourceType")
     public boolean showAppMenu(View anchorView, boolean startDragging, boolean showFromBottom) {
         if (!mDelegate.shouldShowAppMenu() || isAppMenuShowing()) return false;
+        TextBubble.dismissBubbles();
         boolean isByPermanentButton = false;
 
         int rotation = mActivity.getWindowManager().getDefaultDisplay().getRotation();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ChromeAnimation.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ChromeAnimation.java
deleted file mode 100644
index fb52b4e4..0000000
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ChromeAnimation.java
+++ /dev/null
@@ -1,484 +0,0 @@
-// Copyright 2010 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.compositor.layouts;
-
-import android.annotation.TargetApi;
-import android.os.Build;
-import android.os.SystemClock;
-import android.provider.Settings;
-import android.view.animation.Interpolator;
-
-import org.chromium.base.ContextUtils;
-import org.chromium.chrome.browser.compositor.animation.CompositorAnimator;
-import org.chromium.chrome.browser.util.MathUtils;
-
-import java.util.ArrayList;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * A class to handle simple animation sets.  This can animate any object passed in by overriding
- * the ChromeAnimation.Animation object.
- *
- * @param <T> The type of Object being animated by this ChromeAnimation set.
- */
-@SuppressWarnings("unchecked")
-public class ChromeAnimation<T> {
-    /**
-     * The amount we jump into the animation for the first frame.  We do this as we assume
-     * the object be animated is already resting in the initial value specified.  To avoid wasting
-     * a frame of animation on something that will look exactly the same, we jump into the
-     * animation by this frame offset (calculated by the desired time required to draw one frame
-     * at 60 FPS).
-     */
-    private static final int FIRST_FRAME_OFFSET_MS = 1000 / 60;
-
-    /**
-     * Multiplier for animation durations for debugging. Can be set in Developer Options and cached
-     * here.
-     */
-    private static Float sAnimationMultiplier;
-
-    private final AtomicBoolean mFinishCalled = new AtomicBoolean();
-    private final ArrayList<Animation<T>> mAnimations = new ArrayList<Animation<T>>();
-    private long mCurrentTime;
-
-    private static final Object sLock = new Object();
-
-    /**
-     * Adds a ChromeAnimation.Animation instance to this ChromeAnimation set.  This Animation will
-     * be managed by this ChromeAnimation from now on.
-     *
-     * @param a The ChromeAnimation.Animation object to be controlled and updated by this
-     *         ChromeAnimation.
-     */
-    public void add(ChromeAnimation.Animation<T> a) {
-        mAnimations.add(a);
-    }
-
-    /**
-     * Starts all of the Animation instances in this ChromeAnimation.  This sets up the appropriate
-     * state so that calls to update() can properly track how much time has passed and set the
-     * initial values for each Animation.
-     */
-    public void start() {
-        mFinishCalled.set(false);
-        mCurrentTime = 0;
-        for (int i = 0; i < mAnimations.size(); ++i) {
-            Animation<T> a = mAnimations.get(i);
-            a.start();
-        }
-    }
-
-    /**
-     * Aborts all animations of a specific type. This does not call finish on the animation.
-     * So the animation will not reach its final value.
-     * @param object   object to find animations to be aborted. If null, matches all the animations.
-     * @param property property to find animations to be aborted.
-     */
-    public void cancel(T object, int property) {
-        for (int i = mAnimations.size() - 1; i >= 0; i--) {
-            Animation<T> animation = mAnimations.get(i);
-            if ((object == null || animation.getAnimatedObject() == object)
-                    && animation.checkProperty(property)) {
-                mAnimations.remove(i);
-            }
-        }
-    }
-
-    /**
-     * Forces each Animation to finish itself, setting the properties to the final value of the
-     * Animation.
-     */
-    public void updateAndFinish() {
-        for (int i = 0; i < mAnimations.size(); ++i) {
-            mAnimations.get(i).updateAndFinish();
-        }
-        finishInternal();
-    }
-
-    /**
-     * Updates each Animation based on how much time has passed.  Each animation gets passed the
-     * delta since the last call to update() and can appropriately interpolate their values. The
-     * time reference is implicitly the actual uptime of the app.
-     *
-     * @return Whether or not this ChromeAnimation is finished animating.
-     */
-    public boolean update() {
-        return update(SystemClock.uptimeMillis());
-    }
-
-    /**
-     * Updates each Animation based on how much time has passed.  Each animation gets passed the
-     * delta since the last call to update() and can appropriately interpolate their values.
-     *
-     * @param time The current time of the app in ms.
-     * @return     Whether or not this ChromeAnimation is finished animating.
-     */
-    public boolean update(long time) {
-        if (mFinishCalled.get()) {
-            return true;
-        }
-        if (mCurrentTime == 0) mCurrentTime = time - FIRST_FRAME_OFFSET_MS;
-        long dtMs = time - mCurrentTime;
-        mCurrentTime += dtMs;
-        boolean finished = true;
-        for (int i = 0; i < mAnimations.size(); ++i) {
-            mAnimations.get(i).update(dtMs);
-            finished &= mAnimations.get(i).finished();
-        }
-
-        if (finished) updateAndFinish();
-        return false;
-    }
-
-    /**
-     * @return Whether or not this ChromeAnimation is finished animating.
-     */
-    public boolean finished() {
-        if (mFinishCalled.get()) return true;
-
-        for (int i = 0; i < mAnimations.size(); ++i) {
-            if (!mAnimations.get(i).finished()) return false;
-        }
-
-        return true;
-    }
-
-    private void finishInternal() {
-        if (mFinishCalled.get()) return;
-
-        finish();
-        mFinishCalled.set(true);
-    }
-
-    /**
-     * Callback to handle any necessary cleanups upon finishing the animation.
-     *
-     * <p>
-     * Called as part of {@link #update()} if the end of the animation is reached or
-     * {@link #updateAndFinish()}.
-     */
-    protected void finish() {
-    }
-
-    /**
-     * A particular animation instance, meant to be managed by a ChromeAnimation object.
-     *
-     * @param <T> The type of Object being animated by this Animation instance.  This object should
-     *         be accessed inside setProperty() where it can be manipulated by the new value.
-     */
-    public abstract static class Animation<T> {
-        protected T mAnimatedObject;
-        private float mStart;
-        private float mEnd;
-
-        private long mCurrentTime;
-        private long mDuration;
-        private long mStartDelay;
-        private boolean mDelayStartValue;
-        private boolean mHasFinished;
-        private Interpolator mInterpolator = CompositorAnimator.DECELERATE_INTERPOLATOR;
-
-        /**
-         * Creates a new Animation object with a custom Interpolator.
-         *
-         * @param t The object to be Animated.
-         * @param start The starting value of the animation.
-         * @param end The ending value of the animation.
-         * @param duration The duration of the animation.  This does not include the startTime.
-         *                 The duration must be strictly positive.
-         * @param startTime The time at which this animation should start.
-         * @param interpolator The Interpolator instance to use for animating the property from
-         *         start to finish.
-         */
-        public Animation(T t, float start, float end, long duration,
-                long startTime, Interpolator interpolator) {
-            this(t, start, end, duration, startTime);
-            mInterpolator = interpolator;
-        }
-
-        /**
-         * Creates a new Animation object.
-         *
-         * @param t The object to be Animated.
-         * @param start The starting value of the animation.
-         * @param end The ending value of the animation.
-         * @param duration The duration of the animation.  This does not include the startTime.
-         * @param startTime The time at which this animation should start.
-         */
-        public Animation(T t, float start, float end, long duration,
-                long startTime) {
-            mAnimatedObject = t;
-            mStart = start;
-            mEnd = end;
-            float animationMultiplier = getAnimationMultiplier();
-            mDuration = (long) (duration * animationMultiplier);
-            mStartDelay = (long) (startTime * animationMultiplier);
-            mCurrentTime = 0;
-        }
-
-        public static void setAnimationMultiplierForTesting(float animationMultiplier) {
-            synchronized (sLock) {
-                sAnimationMultiplier = animationMultiplier;
-            }
-        }
-
-        public static void unsetAnimationMultiplierForTesting() {
-            synchronized (sLock) {
-                sAnimationMultiplier = null;
-            }
-        }
-
-        @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
-        public static float getAnimationMultiplier() {
-            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) return 1f;
-
-            synchronized (sLock) {
-                if (sAnimationMultiplier == null) {
-                    sAnimationMultiplier = Settings.Global.getFloat(
-                            ContextUtils.getApplicationContext().getContentResolver(),
-                            Settings.Global.ANIMATOR_DURATION_SCALE, 1f);
-                }
-                return sAnimationMultiplier;
-            }
-        }
-
-        /**
-         * Returns the object being animated.
-         */
-        protected T getAnimatedObject() {
-            return mAnimatedObject;
-        }
-
-        /**
-         * @param delayStartValue Whether to delay setting the animation's initial value until
-         *        after the specified start delay (Default = false).
-         */
-        public void setStartValueAfterStartDelay(boolean delayStartValue) {
-            mDelayStartValue = delayStartValue;
-        }
-
-        /**
-         * Sets the internal timer to be at the end of the animation and calls setProperty with the
-         * final value.
-         */
-        public void updateAndFinish() {
-            mCurrentTime = mDuration + mStartDelay;
-            setProperty(mEnd);
-        }
-
-        /**
-         * Updates the internal timer based on the time delta passed in.  The proper property value
-         * is interpolated and passed to setProperty.
-         *
-         * @param dtMs The amount of time, in milliseconds, that this animation should be
-         *         progressed.
-         */
-        public void update(long dtMs) {
-            mCurrentTime += dtMs;
-
-            // Bound our time here so that our scale never goes above 1.0.
-            mCurrentTime = Math.min(mCurrentTime, mDuration + mStartDelay);
-
-            if (mDelayStartValue && mCurrentTime < mStartDelay) return;
-
-            // Figure out the relative fraction of time we need to animate.
-            long relativeTime = MathUtils.clamp(mCurrentTime - mStartDelay, 0, mDuration);
-
-            if (mDuration > 0) {
-                setProperty(MathUtils.interpolate(mStart, mEnd,
-                        mInterpolator.getInterpolation((float) relativeTime / (float) mDuration)));
-            } else {
-                setProperty(mEnd);
-            }
-        }
-
-        /**
-         * Starts the animation and calls setProperty() with the initial value.
-         */
-        public void start() {
-            mHasFinished = false;
-            mCurrentTime = 0;
-            update(0);
-        }
-
-        /**
-         * @return Whether or not this current animation is finished.
-         */
-        public boolean finished() {
-            if (!mHasFinished && mCurrentTime >= mDuration + mStartDelay) {
-                mHasFinished = true;
-                onPropertyAnimationFinished();
-            }
-
-            return mHasFinished;
-        }
-
-        /**
-         * Checks if the given property is being animated.
-         */
-        public boolean checkProperty(int prop) {
-            return true;
-        }
-
-        /**
-         * The abstract method that gets called with the new interpolated value based on the
-         * current time.  This gives inheriting classes the chance to set a property on the
-         * animating object.
-         *
-         * @param p The current animated value based on the current time and the Interpolator.
-         */
-        public abstract void setProperty(float p);
-
-        /**
-         * The abstract method that gets called when the property animation finished.
-         */
-        public abstract void onPropertyAnimationFinished();
-    }
-
-    /**
-     * Provides a interface for updating animatible properties.
-     */
-    public static interface Animatable {
-        /**
-         * Updates an animatable property.
-         *
-         * @param prop The property to update
-         * @param val The new value
-         */
-        public void setProperty(int prop, float val);
-
-        /**
-         * Notifies that the animation for a certain property has finished.
-         *
-         * @param prop The property that has finished animating.
-         */
-        public void onPropertyAnimationFinished(int prop);
-    }
-
-    /**
-     * An animation that can be applied to {@link ChromeAnimation.Animatable} objects.
-     */
-    public static class AnimatableAnimation extends Animation<Animatable> {
-        private final int mProperty;
-
-        /**
-         * @param animatable The object being animated
-         * @param property The property being animated
-         * @param start The starting value of the animation
-         * @param end The ending value of the animation
-         * @param duration The duration of the animation.  This does not include the startTime.
-         * @param startTime The time at which this animation should start.
-         * @param interpolator The interpolator to use for the animation
-         */
-        public AnimatableAnimation(Animatable animatable, int property, float start, float end,
-                long duration, long startTime, Interpolator interpolator) {
-            super(animatable, start, end, duration, startTime, interpolator);
-            mProperty = property;
-        }
-
-        @Override
-        public void setProperty(float p) {
-            mAnimatedObject.setProperty(mProperty, p);
-        }
-
-        @Override
-        public void onPropertyAnimationFinished() {
-            mAnimatedObject.onPropertyAnimationFinished(mProperty);
-        }
-
-        /**
-         * Helper method to add an {@link ChromeAnimation.AnimatableAnimation}
-         * to a {@link ChromeAnimation}
-         *
-         * @param set The set to add the animation to
-         * @param object The object being animated
-         * @param prop The property being animated
-         * @param start The starting value of the animation
-         * @param end The ending value of the animation
-         * @param duration The duration of the animation in ms
-         * @param startTime The start time in ms
-         */
-        public static void addAnimation(ChromeAnimation<Animatable> set, Animatable object,
-                int prop, float start, float end, long duration, long startTime) {
-            addAnimation(set, object, prop, start, end, duration, startTime, false);
-        }
-
-        /**
-         * Helper method to add an {@link ChromeAnimation.AnimatableAnimation}
-         * to a {@link ChromeAnimation}
-         *
-         * @param set The set to add the animation to
-         * @param object The object being animated
-         * @param prop The property being animated
-         * @param start The starting value of the animation
-         * @param end The ending value of the animation
-         * @param duration The duration of the animation in ms
-         * @param startTime The start time in ms
-         * @param setStartValueAfterStartDelay See
-         *            {@link ChromeAnimation.Animation#setStartValueAfterStartDelay(boolean)}
-         */
-        public static void addAnimation(ChromeAnimation<Animatable> set, Animatable object,
-                int prop, float start, float end, long duration, long startTime,
-                boolean setStartValueAfterStartDelay) {
-            addAnimation(set, object, prop, start, end, duration, startTime,
-                    setStartValueAfterStartDelay, CompositorAnimator.DECELERATE_INTERPOLATOR);
-        }
-
-        /**
-         * Helper method to add an {@link ChromeAnimation.AnimatableAnimation}
-         * to a {@link ChromeAnimation}
-         *
-         * @param set The set to add the animation to
-         * @param object The object being animated
-         * @param prop The property being animated
-         * @param start The starting value of the animation
-         * @param end The ending value of the animation
-         * @param duration The duration of the animation in ms
-         * @param startTime The start time in ms
-         * @param setStartValueAfterStartDelay See
-         *            {@link ChromeAnimation.Animation#setStartValueAfterStartDelay(boolean)}
-         * @param interpolator The interpolator to use for the animation
-         */
-        public static void addAnimation(ChromeAnimation<Animatable> set, Animatable object,
-                int prop, float start, float end, long duration, long startTime,
-                boolean setStartValueAfterStartDelay, Interpolator interpolator) {
-            if (duration <= 0) return;
-            Animation<Animatable> animation = createAnimation(object, prop, start, end, duration,
-                    startTime, setStartValueAfterStartDelay, interpolator);
-            set.add(animation);
-        }
-
-        /**
-         * Helper method to create an {@link ChromeAnimation.AnimatableAnimation}
-         *
-         * @param object The object being animated
-         * @param prop The property being animated
-         * @param start The starting value of the animation
-         * @param end The ending value of the animation
-         * @param duration The duration of the animation in ms
-         * @param startTime The start time in ms
-         * @param setStartValueAfterStartDelay See
-         *            {@link ChromeAnimation.Animation#setStartValueAfterStartDelay(boolean)}
-         * @param interpolator The interpolator to use for the animation
-         */
-        public static Animation<Animatable> createAnimation(Animatable object, int prop,
-                float start, float end, long duration, long startTime,
-                boolean setStartValueAfterStartDelay, Interpolator interpolator) {
-            Animation<Animatable> animation = new AnimatableAnimation(
-                    object, prop, start, end, duration, startTime, interpolator);
-            animation.setStartValueAfterStartDelay(setStartValueAfterStartDelay);
-            return animation;
-        }
-
-        /**
-         * Checks if the given property is being animated.
-         */
-        @Override
-        public boolean checkProperty(int prop) {
-            return mProperty == prop;
-        }
-    }
-}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java
index 28b7b94f..8bc9010 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java
@@ -8,51 +8,17 @@
 import android.content.res.Resources;
 import android.graphics.Color;
 import android.graphics.RectF;
-import android.support.annotation.IntDef;
 
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.compositor.animation.FloatProperty;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.util.MathUtils;
 
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
 /**
  * {@link LayoutTab} is used to keep track of a thumbnail's bitmap and position and to
  * draw itself onto the GL canvas at the desired Y Offset.
  */
-public class LayoutTab implements ChromeAnimation.Animatable {
-    /**
-     * Properties that can be animated by using a
-     * {@link org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable}.
-     */
-    @IntDef({Property.BORDER_ALPHA, Property.BORDER_SCALE, Property.ALPHA, Property.SATURATION,
-            Property.STATIC_TO_VIEW_BLEND, Property.SCALE, Property.TILTX, Property.TILTY,
-            Property.X, Property.Y, Property.MAX_CONTENT_WIDTH, Property.MAX_CONTENT_HEIGHT,
-            Property.TOOLBAR_ALPHA, Property.DECORATION_ALPHA, Property.TOOLBAR_Y_OFFSET,
-            Property.SIDE_BORDER_SCALE})
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface Property {
-        int BORDER_ALPHA = 0;
-        int BORDER_SCALE = 1;
-        int ALPHA = 2;
-        int SATURATION = 3;
-        int STATIC_TO_VIEW_BLEND = 4;
-        int SCALE = 5;
-        int TILTX = 6;
-        int TILTY = 7;
-        int X = 8;
-        int Y = 9;
-        int MAX_CONTENT_WIDTH = 10;
-        int MAX_CONTENT_HEIGHT = 11;
-        int TOOLBAR_ALPHA = 12;
-        int DECORATION_ALPHA = 13;
-        int TOOLBAR_Y_OFFSET = 14;
-        int SIDE_BORDER_SCALE = 15;
-    }
-
+public class LayoutTab {
     public static final float ALPHA_THRESHOLD = 1.0f / 255.0f;
 
     private static final float SNAP_SPEED = 1.0f; // dp per second
@@ -917,71 +883,6 @@
         return mTextBoxAlpha;
     }
 
-    /**
-     * Callback for
-     * {@link org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable}
-     *
-     * @param prop The property to set
-     * @param val The value to set it to
-     */
-    @Override
-    public void setProperty(@Property int prop, float val) {
-        switch (prop) {
-            case Property.BORDER_ALPHA:
-                setBorderAlpha(val);
-                break;
-            case Property.BORDER_SCALE:
-                setBorderScale(val);
-                break;
-            case Property.ALPHA:
-                setAlpha(val);
-                break;
-            case Property.SATURATION:
-                setSaturation(val);
-                break;
-            case Property.STATIC_TO_VIEW_BLEND:
-                setStaticToViewBlend(val);
-                break;
-            case Property.SCALE:
-                setScale(val);
-                break;
-            case Property.TILTX:
-                setTiltX(val, mTiltXPivotOffset);
-                break;
-            case Property.TILTY:
-                setTiltY(val, mTiltYPivotOffset);
-                break;
-            case Property.X:
-                setX(val);
-                break;
-            case Property.Y:
-                setY(val);
-                break;
-            case Property.MAX_CONTENT_WIDTH:
-                setMaxContentWidth(val);
-                break;
-            case Property.MAX_CONTENT_HEIGHT:
-                setMaxContentHeight(val);
-                break;
-            case Property.TOOLBAR_ALPHA:
-                setToolbarAlpha(val);
-                break;
-            case Property.DECORATION_ALPHA:
-                setDecorationAlpha(val);
-                break;
-            case Property.TOOLBAR_Y_OFFSET:
-                setToolbarYOffset(val);
-                break;
-            case Property.SIDE_BORDER_SCALE:
-                setSideBorderScale(val);
-                break;
-        }
-    }
-
-    @Override
-    public void onPropertyAnimationFinished(@Property int prop) {
-    }
-
     public static final FloatProperty<LayoutTab> ALPHA = new FloatProperty<LayoutTab>("ALPHA") {
         @Override
         public void setValue(LayoutTab layoutTab, float v) {
@@ -1110,6 +1011,30 @@
                 }
             };
 
+    public static final FloatProperty<LayoutTab> TILTX = new FloatProperty<LayoutTab>("TILTX") {
+        @Override
+        public void setValue(LayoutTab layoutTab, float v) {
+            layoutTab.setTiltX(v, layoutTab.mTiltXPivotOffset);
+        }
+
+        @Override
+        public Float get(LayoutTab layoutTab) {
+            return layoutTab.getTiltX();
+        }
+    };
+
+    public static final FloatProperty<LayoutTab> TILTY = new FloatProperty<LayoutTab>("TILTY") {
+        @Override
+        public void setValue(LayoutTab layoutTab, float v) {
+            layoutTab.setTiltY(v, layoutTab.mTiltYPivotOffset);
+        }
+
+        @Override
+        public Float get(LayoutTab layoutTab) {
+            return layoutTab.getTiltY();
+        }
+    };
+
     public static final FloatProperty<LayoutTab> X = new FloatProperty<LayoutTab>("X") {
         @Override
         public void setValue(LayoutTab layoutTab, float v) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/Stack.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/Stack.java
index e2026b2b..737c82a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/Stack.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/Stack.java
@@ -21,7 +21,6 @@
 import org.chromium.chrome.browser.compositor.animation.CompositorAnimationHandler;
 import org.chromium.chrome.browser.compositor.animation.CompositorAnimator;
 import org.chromium.chrome.browser.compositor.animation.FloatProperty;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation;
 import org.chromium.chrome.browser.compositor.layouts.Layout;
 import org.chromium.chrome.browser.compositor.layouts.Layout.Orientation;
 import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
@@ -44,13 +43,7 @@
  *
  * @VisibleForTesting
  */
-public abstract class Stack implements ChromeAnimation.Animatable {
-    @IntDef({Property.SCROLL_OFFSET})
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface Property {
-        int SCROLL_OFFSET = 0;
-    }
-
+public abstract class Stack {
     public static final int MAX_NUMBER_OF_STACKED_TABS_TOP = 3;
     public static final int MAX_NUMBER_OF_STACKED_TABS_BOTTOM = 3;
 
@@ -227,7 +220,6 @@
     private StackViewAnimation mViewAnimationFactory;
 
     // Running set of animations applied to tabs.
-    private ChromeAnimation<?> mTabAnimations;
     private Pair<AnimatorSet, ArrayList<FloatProperty>> mAnimatorSetTabAnimations;
     private Animator mViewAnimations;
 
@@ -562,22 +554,17 @@
                 // Build the AnimatorSet using the TabSwitcherAnimationFactory.
                 // This will give us the appropriate AnimatorSet based on the current
                 // state of the tab switcher and the OverviewAnimationType specified.
-                mTabAnimations = mAnimationFactory.createChromeAnimationSetForType(type, this,
-                        mStackTabs, focusIndex, sourceIndex, mSpacing, getDiscardRange());
                 mAnimatorSetTabAnimations = mAnimationFactory.createAnimatorSetForType(type, this,
                         mStackTabs, focusIndex, sourceIndex, mSpacing, getDiscardRange());
             }
 
-            if (mTabAnimations != null) mTabAnimations.start();
             if (mAnimatorSetTabAnimations != null) mAnimatorSetTabAnimations.first.start();
             if (mViewAnimations != null) mViewAnimations.start();
-            if (mTabAnimations != null || mAnimatorSetTabAnimations != null
-                    || mViewAnimations != null) {
+            if (mAnimatorSetTabAnimations != null || mViewAnimations != null) {
                 mLayout.onStackAnimationStarted();
             }
 
-            if ((mTabAnimations == null && mAnimatorSetTabAnimations == null
-                        && mViewAnimations == null)
+            if ((mAnimatorSetTabAnimations == null && mViewAnimations == null)
                     || finishImmediately) {
                 finishAnimation(time);
             }
@@ -592,11 +579,9 @@
      * @param time The current time of the app in ms.
      */
     protected void finishAnimation(long time) {
-        if (mTabAnimations != null) mTabAnimations.updateAndFinish();
         if (mAnimatorSetTabAnimations != null) mAnimatorSetTabAnimations.first.end();
         if (mViewAnimations != null) mViewAnimations.end();
-        if (mTabAnimations != null || mAnimatorSetTabAnimations != null
-                || mViewAnimations != null) {
+        if (mAnimatorSetTabAnimations != null || mViewAnimations != null) {
             mLayout.onStackAnimationFinished();
         }
 
@@ -651,7 +636,6 @@
         }
         mOverviewAnimationType = OverviewAnimationType.NONE;
 
-        mTabAnimations = null;
         mAnimatorSetTabAnimations = null;
         mViewAnimations = null;
     }
@@ -733,7 +717,6 @@
         if (mOverviewAnimationType == OverviewAnimationType.DISCARD
                 || mOverviewAnimationType == OverviewAnimationType.UNDISCARD
                 || mOverviewAnimationType == OverviewAnimationType.DISCARD_ALL) {
-            mTabAnimations.cancel(null, StackTab.Property.SCROLL_OFFSET);
             if (mAnimatorSetTabAnimations != null) {
                 Iterator<FloatProperty> propertyIterator =
                         mAnimatorSetTabAnimations.second.iterator();
@@ -774,42 +757,29 @@
     public boolean onUpdateCompositorAnimations(long time, boolean jumpToEnd) {
         if (!jumpToEnd) updateScrollOffset(time);
 
-        boolean chromeAnimationsFinished = true;
-        if (mTabAnimations != null) {
-            chromeAnimationsFinished =
-                    jumpToEnd ? mTabAnimations.finished() : mTabAnimations.update(time);
-        }
-
         boolean animatorSetFinished = true;
         if (mAnimatorSetTabAnimations != null) {
             animatorSetFinished = jumpToEnd ? true : !mAnimatorSetTabAnimations.first.isRunning();
         }
 
-        if (mTabAnimations != null || mAnimatorSetTabAnimations != null) {
-            finishAnimationsIfDone(time, jumpToEnd);
-        }
+        if (mAnimatorSetTabAnimations != null) finishAnimationsIfDone(time, jumpToEnd);
         if (jumpToEnd) forceScrollStop();
 
-        return chromeAnimationsFinished && animatorSetFinished;
+        return animatorSetFinished;
     }
 
     private void finishAnimationsIfDone(long time, boolean jumpToEnd) {
         boolean hasViewAnimations = mViewAnimations != null;
         boolean isViewFinished = hasViewAnimations ? !mViewAnimations.isRunning() : true;
 
-        boolean hasTabAnimations = mTabAnimations != null;
-        boolean isTabFinished = hasTabAnimations ? mTabAnimations.finished() : true;
-
         boolean hasAnimatorSetTabAnimations = mAnimatorSetTabAnimations != null;
         boolean isAnimatorSetTabFinished =
                 hasAnimatorSetTabAnimations ? !mAnimatorSetTabAnimations.first.isRunning() : true;
 
-        boolean hasAnimations =
-                hasViewAnimations || hasTabAnimations || hasAnimatorSetTabAnimations;
+        boolean hasAnimations = hasViewAnimations || hasAnimatorSetTabAnimations;
 
         boolean shouldFinish = jumpToEnd && hasAnimations;
         shouldFinish |= hasAnimations && (!hasViewAnimations || isViewFinished)
-                && (!hasTabAnimations || isTabFinished)
                 && (!hasAnimatorSetTabAnimations || isAnimatorSetTabFinished);
 
         if (shouldFinish) finishAnimation(time);
@@ -2007,9 +1977,9 @@
 
         mDiscardDirection = getDefaultDiscardDirection();
         final float opaqueTopPadding = mBorderTopPadding - mBorderTransparentTop;
-        mAnimationFactory = StackAnimation.createAnimationFactory(this, mLayout.getWidth(),
-                mLayout.getHeight(), mLayout.getTopBrowserControlsHeight(), mBorderTopPadding,
-                opaqueTopPadding, mBorderLeftPadding, mCurrentMode);
+        mAnimationFactory = new StackAnimation(this, mLayout.getWidth(), mLayout.getHeight(),
+                mLayout.getTopBrowserControlsHeight(), mBorderTopPadding, opaqueTopPadding,
+                mBorderLeftPadding, mCurrentMode);
         mViewAnimationFactory = new StackViewAnimation(mLayout.getContext().getResources());
         if (mStackTabs == null) return;
         float width = mLayout.getWidth();
@@ -2207,11 +2177,16 @@
         onUpOrCancel(time);
     }
 
-    @Override
-    public void setProperty(@Property int prop, float val) {
-        if (prop == Property.SCROLL_OFFSET) setScrollTarget(val, true);
-    }
+    public static final FloatProperty<Stack> SCROLL_OFFSET =
+            new FloatProperty<Stack>("SCROLL_OFFSET") {
+                @Override
+                public void setValue(Stack stack, float v) {
+                    stack.setScrollTarget(v, true);
+                }
 
-    @Override
-    public void onPropertyAnimationFinished(@Property int prop) {}
+                @Override
+                public Float get(Stack stack) {
+                    return stack.getScrollOffset();
+                }
+            };
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimation.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimation.java
index 95507e74..c2345729 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimation.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimation.java
@@ -4,22 +4,19 @@
 
 package org.chromium.chrome.browser.compositor.layouts.phone.stack;
 
-import static org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.AnimatableAnimation.addAnimation;
-
 import android.animation.Animator;
 import android.animation.AnimatorSet;
 import android.support.annotation.IntDef;
 import android.util.Pair;
-import android.view.animation.Interpolator;
 
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.compositor.animation.CompositorAnimationHandler;
 import org.chromium.chrome.browser.compositor.animation.CompositorAnimator;
 import org.chromium.chrome.browser.compositor.animation.FloatProperty;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable;
 import org.chromium.chrome.browser.compositor.layouts.Layout.Orientation;
 import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
+import org.chromium.chrome.browser.util.MathUtils;
+import org.chromium.ui.base.LocalizationUtils;
 import org.chromium.ui.interpolators.BakedBezierInterpolator;
 
 import java.lang.annotation.Retention;
@@ -29,7 +26,7 @@
 /**
  * A factory that builds animations for the tab stack.
  */
-public abstract class StackAnimation {
+public class StackAnimation {
     @IntDef({OverviewAnimationType.ENTER_STACK, OverviewAnimationType.NEW_TAB_OPENED,
             OverviewAnimationType.TAB_FOCUSED, OverviewAnimationType.VIEW_MORE,
             OverviewAnimationType.REACH_TOP, OverviewAnimationType.DISCARD,
@@ -55,46 +52,47 @@
         int NONE = 10;
     }
 
-    protected static final int ENTER_STACK_TOOLBAR_ALPHA_DURATION = 100;
-    protected static final int ENTER_STACK_TOOLBAR_ALPHA_DELAY = 100;
-    protected static final int ENTER_STACK_ANIMATION_DURATION = 300;
-    protected static final int ENTER_STACK_RESIZE_DELAY = 10;
-    protected static final int ENTER_STACK_BORDER_ALPHA_DURATION = 200;
-    protected static final float ENTER_STACK_SIZE_RATIO = 0.35f;
+    private static final int ENTER_STACK_TOOLBAR_ALPHA_DURATION = 100;
+    private static final int ENTER_STACK_TOOLBAR_ALPHA_DELAY = 100;
+    private static final int ENTER_STACK_ANIMATION_DURATION = 300;
+    private static final int ENTER_STACK_RESIZE_DELAY = 10;
+    private static final int ENTER_STACK_BORDER_ALPHA_DURATION = 200;
+    private static final float ENTER_STACK_SIZE_RATIO = 0.35f;
 
-    protected static final int TAB_FOCUSED_TOOLBAR_ALPHA_DURATION = 250;
-    protected static final int TAB_FOCUSED_TOOLBAR_ALPHA_DELAY = 0;
-    protected static final int TAB_FOCUSED_ANIMATION_DURATION = 400;
-    protected static final int TAB_FOCUSED_Y_STACK_DURATION = 200;
-    protected static final int TAB_FOCUSED_BORDER_ALPHA_DURATION = 200;
-    protected static final int TAB_FOCUSED_BORDER_ALPHA_DELAY = 0;
-    protected static final int TAB_FOCUSED_MAX_DELAY = 100;
+    private static final int TAB_FOCUSED_TOOLBAR_ALPHA_DURATION = 250;
+    private static final int TAB_FOCUSED_TOOLBAR_ALPHA_DELAY = 0;
+    private static final int TAB_FOCUSED_ANIMATION_DURATION = 400;
+    private static final int TAB_FOCUSED_Y_STACK_DURATION = 200;
+    private static final int TAB_FOCUSED_BORDER_ALPHA_DURATION = 200;
+    private static final int TAB_FOCUSED_BORDER_ALPHA_DELAY = 0;
+    private static final int TAB_FOCUSED_MAX_DELAY = 100;
 
-    protected static final int VIEW_MORE_ANIMATION_DURATION = 400;
-    protected static final float VIEW_MORE_SIZE_RATIO = 0.75f;
-    protected static final int VIEW_MORE_MIN_SIZE = 200;
+    private static final int VIEW_MORE_ANIMATION_DURATION = 400;
+    private static final float VIEW_MORE_SIZE_RATIO = 0.75f;
+    private static final int VIEW_MORE_MIN_SIZE = 200;
 
-    protected static final int REACH_TOP_ANIMATION_DURATION = 400;
+    private static final int REACH_TOP_ANIMATION_DURATION = 400;
 
-    protected static final int UNDISCARD_ANIMATION_DURATION = 150;
+    private static final int UNDISCARD_ANIMATION_DURATION = 150;
 
-    protected static final int TAB_OPENED_ANIMATION_DURATION = 300;
+    private static final int TAB_OPENED_ANIMATION_DURATION = 300;
 
-    protected static final int DISCARD_ANIMATION_DURATION = 150;
-    protected static final int TAB_REORDER_DURATION = 500;
-    protected static final int TAB_REORDER_START_SPAN = 400;
+    private static final int DISCARD_ANIMATION_DURATION = 150;
+    private static final int TAB_REORDER_DURATION = 500;
+    private static final int TAB_REORDER_START_SPAN = 400;
 
-    protected static final int START_PINCH_ANIMATION_DURATION = 75;
+    private static final int START_PINCH_ANIMATION_DURATION = 75;
 
-    protected static final int FULL_ROLL_ANIMATION_DURATION = 1000;
+    private static final int FULL_ROLL_ANIMATION_DURATION = 1000;
 
-    protected final float mWidth;
-    protected final float mHeight;
-    protected final float mTopBrowserControlsHeight;
-    protected final float mBorderTopHeight;
-    protected final float mBorderTopOpaqueHeight;
-    protected final float mBorderLeftWidth;
-    protected final Stack mStack;
+    private final float mWidth;
+    private final float mHeight;
+    private final float mTopBrowserControlsHeight;
+    private final float mBorderTopHeight;
+    private final float mBorderTopOpaqueHeight;
+    private final float mBorderLeftWidth;
+    private final Stack mStack;
+    private final @Orientation int mOrientation;
 
     /**
      * Protected constructor.
@@ -109,11 +107,12 @@
      */
     protected StackAnimation(Stack stack, float width, float height, float topBrowserControlsHeight,
             float borderFramePaddingTop, float borderFramePaddingTopOpaque,
-            float borderFramePaddingLeft) {
+            float borderFramePaddingLeft, @Orientation int orientation) {
         mStack = stack;
         mWidth = width;
         mHeight = height;
         mTopBrowserControlsHeight = topBrowserControlsHeight;
+        mOrientation = orientation;
 
         mBorderTopHeight = borderFramePaddingTop;
         mBorderTopOpaqueHeight = borderFramePaddingTopOpaque;
@@ -121,42 +120,6 @@
     }
 
     /**
-     * The factory method that creates the particular factory method based on the orientation
-     * parameter.
-     *
-     * @param stack                       The stack of tabs being animated.
-     * @param width                       The width of the layout in dp.
-     * @param height                      The height of the layout in dp.
-     * @param heightMinusBrowserControls  The height of the layout minus the browser controls in dp.
-     * @param borderFramePaddingTop       The top padding of the border frame in dp.
-     * @param borderFramePaddingTopOpaque The opaque top padding of the border frame in dp.
-     * @param borderFramePaddingLeft      The left padding of the border frame in dp.
-     * @param orientation                 The orientation that will be used to create the
-     *                                    appropriate {@link StackAnimation}.
-     * @return                            The TabSwitcherAnimationFactory instance.
-     */
-    public static StackAnimation createAnimationFactory(Stack stack, float width, float height,
-            float topBrowserControlsHeight, float borderFramePaddingTop,
-            float borderFramePaddingTopOpaque, float borderFramePaddingLeft,
-            @Orientation int orientation) {
-        StackAnimation factory = null;
-        switch (orientation) {
-            case Orientation.LANDSCAPE:
-                factory = new StackAnimationLandscape(stack, width, height,
-                        topBrowserControlsHeight, borderFramePaddingTop,
-                        borderFramePaddingTopOpaque, borderFramePaddingLeft);
-                break;
-            case Orientation.PORTRAIT:
-            default:
-                factory = new StackAnimationPortrait(stack, width, height, topBrowserControlsHeight,
-                        borderFramePaddingTop, borderFramePaddingTopOpaque, borderFramePaddingLeft);
-                break;
-        }
-
-        return factory;
-    }
-
-    /**
      * The wrapper method responsible for delegating the animations request to the appropriate
      * helper method.  Not all parameters are used for each request.
      *
@@ -169,196 +132,446 @@
      * @param sourceIndex   The index of the tab that triggered this animation.
      * @param spacing       The default spacing between the tabs.
      * @param discardRange  The range of the discard amount value.
-     * @return              The resulting TabSwitcherAnimation that will animate the tabs.
-     */
-    public ChromeAnimation<?> createChromeAnimationSetForType(@OverviewAnimationType int type,
-            Stack stack, StackTab[] tabs, int focusIndex, int sourceIndex, int spacing,
-            float discardRange) {
-        if (tabs == null) return null;
-        switch (type) {
-            case OverviewAnimationType.TAB_FOCUSED:
-                return createTabFocusedAnimatorSet(tabs, focusIndex, spacing);
-            case OverviewAnimationType.VIEW_MORE:
-                return createViewMoreAnimatorSet(tabs, sourceIndex);
-            case OverviewAnimationType.REACH_TOP:
-                return createReachTopAnimatorSet(tabs);
-            case OverviewAnimationType.DISCARD:
-            // Purposeful fall through
-            case OverviewAnimationType.DISCARD_ALL:
-            // Purposeful fall through
-            case OverviewAnimationType.UNDISCARD:
-                return createUpdateDiscardAnimatorSet(stack, tabs, spacing, discardRange);
-            case OverviewAnimationType.NEW_TAB_OPENED:
-                return createNewTabOpenedAnimatorSet(tabs, focusIndex, discardRange);
-            case OverviewAnimationType.START_PINCH:
-                return createStartPinchAnimatorSet(tabs);
-            case OverviewAnimationType.FULL_ROLL:
-                return createFullRollAnimatorSet(tabs);
-            default:
-                return null;
-        }
-    }
-
-    /**
-     * The wrapper method responsible for delegating the animations request to the appropriate
-     * helper method.  Not all parameters are used for each request.
-     *
-     * @param type          The type of animation to be created.  This is what
-     *                      determines which helper method is called.
-     * @param stack         The current stack.
-     * @param tabs          The tabs that make up the current stack that will
-     *                      be animated.
-     * @param focusIndex    The index of the tab that is the focus of this animation.
-     * @param sourceIndex   The index of the tab that triggered this animation.
-     * @param spacing       The default spacing between the tabs.
-     * @param discardRange  The range of the discard amount value.
-     * @return              The resulting TabSwitcherAnimation that will animate the tabs.
+     * @return              The resulting AnimatorSet that will animate the tabs
+     *                      (with related FloatProperty)
      */
     public Pair<AnimatorSet, ArrayList<FloatProperty>> createAnimatorSetForType(
             @OverviewAnimationType int type, Stack stack, StackTab[] tabs, int focusIndex,
             int sourceIndex, int spacing, float discardRange) {
         if (tabs == null) return null;
+
+        ArrayList<Animator> animationList = new ArrayList<>();
+        ArrayList<FloatProperty> propertyList = new ArrayList<>();
+        CompositorAnimationHandler handler = stack.getAnimationHandler();
+
         switch (type) {
+            case OverviewAnimationType.DISCARD: // Purposeful fall through
+            case OverviewAnimationType.DISCARD_ALL: // Purposeful fall through
+            case OverviewAnimationType.UNDISCARD:
+                createLandscapePortraitUpdateDiscardAnimatorSet(
+                        animationList, propertyList, handler, stack, tabs, spacing, discardRange);
+                break;
             case OverviewAnimationType.ENTER_STACK:
-                return createEnterStackAnimatorSet(
-                        tabs, focusIndex, spacing, stack.getAnimationHandler());
+                // Responsible for generating the animations that shows the stack being entered.
+                if (mOrientation == Orientation.LANDSCAPE) {
+                    createLandscapeEnterStackAnimatorSet(
+                            animationList, propertyList, handler, tabs, focusIndex, spacing);
+                } else {
+                    createPortraitEnterStackAnimatorSet(
+                            animationList, propertyList, handler, tabs, focusIndex, spacing);
+                }
+                break;
+            case OverviewAnimationType.FULL_ROLL:
+                // Responsible for generating the animations that make all the tabs do a full roll.
+                for (int i = 0; i < tabs.length; ++i) {
+                    LayoutTab layoutTab = tabs[i].getLayoutTab();
+                    // Set the pivot
+                    layoutTab.setTiltX(
+                            layoutTab.getTiltX(), layoutTab.getScaledContentHeight() / 2.0f);
+                    layoutTab.setTiltY(
+                            layoutTab.getTiltY(), layoutTab.getScaledContentWidth() / 2.0f);
+                    // Create the angle animation
+                    addLandscapePortraitTiltScrollAnimation(animationList, propertyList, handler,
+                            layoutTab, -360.0f, FULL_ROLL_ANIMATION_DURATION, 0);
+                }
+                break;
+            case OverviewAnimationType.NEW_TAB_OPENED:
+                // Responsible for generating the animations that shows a new tab being opened.
+                if (mOrientation == Orientation.LANDSCAPE) return null;
+
+                for (int i = 0; i < tabs.length; i++) {
+                    addToAnimation(animationList, propertyList, handler, tabs[i],
+                            StackTab.SCROLL_OFFSET, tabs[i].getScrollOffset(), 0.0f,
+                            TAB_OPENED_ANIMATION_DURATION, 0);
+                }
+                break;
+            case OverviewAnimationType.REACH_TOP:
+                // Responsible for generating the TabSwitcherAnimation that moves the tabs up so
+                // they reach the to top the screen.
+                float screenTarget = 0.0f;
+                for (int i = 0; i < tabs.length; ++i) {
+                    if (screenTarget
+                            >= getLandscapePortraitScreenPositionInScrollDirection(tabs[i]))
+                        break;
+                    addToAnimation(animationList, propertyList, handler, tabs[i],
+                            StackTab.SCROLL_OFFSET, tabs[i].getScrollOffset(),
+                            mStack.screenToScroll(screenTarget), REACH_TOP_ANIMATION_DURATION, 0);
+                    screenTarget += mOrientation == Orientation.LANDSCAPE
+                            ? tabs[i].getLayoutTab().getScaledContentWidth()
+                            : tabs[i].getLayoutTab().getScaledContentHeight();
+                }
+                break;
+            case OverviewAnimationType.START_PINCH:
+                // Responsible for generating the animations that flattens tabs when a pinch begins.
+                for (int i = 0; i < tabs.length; ++i) {
+                    addLandscapePortraitTiltScrollAnimation(animationList, propertyList, handler,
+                            tabs[i].getLayoutTab(), 0, START_PINCH_ANIMATION_DURATION, 0);
+                }
+                break;
+            case OverviewAnimationType.TAB_FOCUSED:
+                createLandscapePortraitTabFocusedAnimatorSet(
+                        animationList, propertyList, handler, tabs, focusIndex, spacing);
+                break;
+            case OverviewAnimationType.VIEW_MORE:
+                // Responsible for generating the animations that Shows more of the selected tab.
+                if (sourceIndex + 1 >= tabs.length) return null;
+
+                float offset = mOrientation == Orientation.LANDSCAPE
+                        ? tabs[sourceIndex].getLayoutTab().getScaledContentWidth()
+                        : tabs[sourceIndex].getLayoutTab().getScaledContentHeight();
+                offset = offset * VIEW_MORE_SIZE_RATIO + tabs[sourceIndex].getScrollOffset()
+                        - tabs[sourceIndex + 1].getScrollOffset();
+                offset = Math.max(VIEW_MORE_MIN_SIZE, offset);
+
+                for (int i = sourceIndex + 1; i < tabs.length; ++i) {
+                    addToAnimation(animationList, propertyList, handler, tabs[i],
+                            StackTab.SCROLL_OFFSET, tabs[i].getScrollOffset(),
+                            tabs[i].getScrollOffset() + offset, VIEW_MORE_ANIMATION_DURATION, 0);
+                }
+                break;
             default:
                 return null;
         }
+
+        AnimatorSet set = new AnimatorSet();
+        set.playTogether(animationList);
+        return Pair.create(set, propertyList);
     }
 
-    protected abstract float getScreenSizeInScrollDirection();
+    private float getLandscapePortraitScreenPositionInScrollDirection(StackTab tab) {
+        return mOrientation == Orientation.LANDSCAPE ? tab.getLayoutTab().getX()
+                                                     : tab.getLayoutTab().getY();
+    }
 
-    protected abstract float getScreenPositionInScrollDirection(StackTab tab);
-
-    protected abstract void addTiltScrollAnimation(
-            ChromeAnimation<Animatable> set, LayoutTab tab, float end, int duration, int startTime);
+    private void addLandscapePortraitTiltScrollAnimation(ArrayList<Animator> animationList,
+            ArrayList<FloatProperty> propertyList, CompositorAnimationHandler handler,
+            LayoutTab tab, float end, int duration, int startTime) {
+        if (mOrientation == Orientation.LANDSCAPE) {
+            addToAnimation(animationList, propertyList, handler, tab, LayoutTab.TILTY,
+                    tab.getTiltY(), end, duration, startTime);
+        } else {
+            addToAnimation(animationList, propertyList, handler, tab, LayoutTab.TILTX,
+                    tab.getTiltX(), end, duration, startTime);
+        }
+    }
 
     // If this flag is enabled, we're using the non-overlapping tab switcher.
-    protected boolean isHorizontalTabSwitcherFlagEnabled() {
+    private boolean isHorizontalTabSwitcherFlagEnabled() {
         return ChromeFeatureList.isEnabled(ChromeFeatureList.HORIZONTAL_TAB_SWITCHER_ANDROID);
     }
 
-    /**
-     * Responsible for generating the animations that shows the stack being entered.
-     *
-     * @param tabs       The tabs that make up the stack.  These are the
-     *                   tabs that will be affected by the TabSwitcherAnimation.
-     * @param focusIndex The focused index.  In this case, this is the index of
-     *                   the tab that was being viewed before entering the stack.
-     * @param spacing    The default spacing between tabs.
-     * @param handler    Handler for animations.
-     * @return           The Pair with AnimatorSet instance that will tween the tabs to
-     *                   create the appropriate animation and associated FloatProperty info.
-     */
-    protected abstract Pair<AnimatorSet, ArrayList<FloatProperty>> createEnterStackAnimatorSet(
-            StackTab[] tabs, int focusIndex, int spacing, CompositorAnimationHandler handler);
+    private void createPortraitEnterStackAnimatorSet(ArrayList<Animator> animationList,
+            ArrayList<FloatProperty> propertyList, CompositorAnimationHandler handler,
+            StackTab[] tabs, int focusIndex, int spacing) {
+        final float initialScrollOffset = mStack.screenToScroll(0);
+
+        float trailingScrollOffset = 0.f;
+        if (focusIndex >= 0 && focusIndex < tabs.length - 1) {
+            final float focusOffset = tabs[focusIndex].getScrollOffset();
+            final float nextOffset = tabs[focusIndex + 1].getScrollOffset();
+            final float topSpacing = focusIndex == 0 ? spacing : 0.f;
+            final float extraSpace = tabs[focusIndex].getLayoutTab().getScaledContentHeight()
+                    * ENTER_STACK_SIZE_RATIO;
+            trailingScrollOffset = Math.max(focusOffset - nextOffset + topSpacing + extraSpace, 0);
+        }
+
+        for (int i = 0; i < tabs.length; ++i) {
+            StackTab tab = tabs[i];
+
+            tab.resetOffset();
+            tab.setScale(mStack.getScaleAmount());
+            tab.setAlpha(1.f);
+            tab.getLayoutTab().setToolbarAlpha(0.f);
+            tab.getLayoutTab().setBorderScale(1.f);
+
+            float scrollOffset = mStack.screenToScroll(i * spacing);
+
+            if (i < focusIndex) {
+                tab.getLayoutTab().setMaxContentHeight(mStack.getMaxTabHeight());
+                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCROLL_OFFSET,
+                        initialScrollOffset, scrollOffset, ENTER_STACK_ANIMATION_DURATION, 0);
+            } else if (i > focusIndex) {
+                tab.getLayoutTab().setMaxContentHeight(mStack.getMaxTabHeight());
+                tab.setScrollOffset(scrollOffset + trailingScrollOffset);
+                addToAnimation(animationList, propertyList, handler, tab,
+                        StackTab.Y_IN_STACK_OFFSET, mHeight, 0, ENTER_STACK_ANIMATION_DURATION, 0);
+            } else { // i == focusIndex
+                tab.setScrollOffset(scrollOffset);
+
+                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                        LayoutTab.MAX_CONTENT_HEIGHT,
+                        tab.getLayoutTab().getUnclampedOriginalContentHeight(),
+                        mStack.getMaxTabHeight(), ENTER_STACK_ANIMATION_DURATION,
+                        ENTER_STACK_RESIZE_DELAY);
+                addToAnimation(animationList, propertyList, handler, tab,
+                        StackTab.Y_IN_STACK_INFLUENCE, 0.0f, 1.0f,
+                        ENTER_STACK_BORDER_ALPHA_DURATION, 0);
+                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCALE, 1.0f,
+                        mStack.getScaleAmount(), ENTER_STACK_BORDER_ALPHA_DURATION, 0);
+                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                        LayoutTab.TOOLBAR_ALPHA, 1.f, 0.f, ENTER_STACK_BORDER_ALPHA_DURATION,
+                        ENTER_STACK_TOOLBAR_ALPHA_DELAY);
+                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                        LayoutTab.TOOLBAR_Y_OFFSET, 0.f, getToolbarOffsetToLineUpWithBorder(),
+                        ENTER_STACK_BORDER_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
+                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                        LayoutTab.SIDE_BORDER_SCALE, 0.f, 1.f, ENTER_STACK_BORDER_ALPHA_DURATION,
+                        TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
+
+                tab.setYOutOfStack(getStaticTabPosition());
+            }
+        }
+    }
+
+    private void createLandscapeEnterStackAnimatorSet(ArrayList<Animator> animationList,
+            ArrayList<FloatProperty> propertyList, CompositorAnimationHandler handler,
+            StackTab[] tabs, int focusIndex, int spacing) {
+        final float initialScrollOffset = mStack.screenToScroll(0);
+
+        for (int i = 0; i < tabs.length; ++i) {
+            StackTab tab = tabs[i];
+
+            tab.resetOffset();
+            tab.setScale(mStack.getScaleAmount());
+            tab.setAlpha(1.f);
+            tab.getLayoutTab().setToolbarAlpha(0.f);
+            tab.getLayoutTab().setBorderScale(1.f);
+
+            final float scrollOffset = mStack.screenToScroll(i * spacing);
+
+            addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                    LayoutTab.MAX_CONTENT_HEIGHT,
+                    tab.getLayoutTab().getUnclampedOriginalContentHeight(),
+                    mStack.getMaxTabHeight(), ENTER_STACK_ANIMATION_DURATION, 0);
+            if (i < focusIndex) {
+                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCROLL_OFFSET,
+                        initialScrollOffset, scrollOffset, ENTER_STACK_ANIMATION_DURATION, 0);
+            } else if (i > focusIndex) {
+                tab.setScrollOffset(scrollOffset);
+                addToAnimation(animationList, propertyList, handler, tab,
+                        StackTab.X_IN_STACK_OFFSET,
+                        (mWidth > mHeight && LocalizationUtils.isLayoutRtl()) ? -mWidth : mWidth,
+                        0.0f, ENTER_STACK_ANIMATION_DURATION, 0);
+            } else { // i == focusIndex
+                tab.setScrollOffset(scrollOffset);
+                addToAnimation(animationList, propertyList, handler, tab,
+                        StackTab.X_IN_STACK_INFLUENCE, 0.0f, 1.0f,
+                        ENTER_STACK_BORDER_ALPHA_DURATION, 0);
+                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCALE, 1.0f,
+                        mStack.getScaleAmount(), ENTER_STACK_BORDER_ALPHA_DURATION, 0);
+                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                        LayoutTab.TOOLBAR_ALPHA, 1.f, 0.f, ENTER_STACK_TOOLBAR_ALPHA_DURATION,
+                        ENTER_STACK_TOOLBAR_ALPHA_DELAY);
+                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                        LayoutTab.TOOLBAR_Y_OFFSET, 0.f, getToolbarOffsetToLineUpWithBorder(),
+                        ENTER_STACK_BORDER_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
+                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                        LayoutTab.SIDE_BORDER_SCALE, 0.f, 1.f, ENTER_STACK_BORDER_ALPHA_DURATION,
+                        TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
+            }
+        }
+    }
 
     /**
      * Responsible for generating the animations that shows a tab being
      * focused (the stack is being left).
      *
-     * @param tabs       The tabs that make up the stack.  These are the
-     *                   tabs that will be affected by the TabSwitcherAnimation.
-     * @param focusIndex The focused index.  In this case, this is the index of
-     *                   the tab clicked and is being brought up to view.
-     * @param spacing    The default spacing between tabs.
-     * @return           The TabSwitcherAnimation instance that will tween the
-     *                   tabs to create the appropriate animation.
-     */
-    protected abstract ChromeAnimation<?> createTabFocusedAnimatorSet(
-            StackTab[] tabs, int focusIndex, int spacing);
-
-    /**
-     * Responsible for generating the animations that Shows more of the selected tab.
-     *
+     * @param animationList List for created animations.
+     * @param propertyList  List of FloatProperty used for creating animations.
+     * @param handler       Handler for animations.
      * @param tabs          The tabs that make up the stack.  These are the
      *                      tabs that will be affected by the TabSwitcherAnimation.
-     * @param selectedIndex The selected index. In this case, this is the index of
+     * @param focusIndex    The focused index.  In this case, this is the index of
      *                      the tab clicked and is being brought up to view.
-     * @return              The TabSwitcherAnimation instance that will tween the
-     *                      tabs to create the appropriate animation.
+     * @param spacing       The default spacing between tabs.
      */
-    protected abstract ChromeAnimation<?> createViewMoreAnimatorSet(
-            StackTab[] tabs, int selectedIndex);
+    private void createLandscapePortraitTabFocusedAnimatorSet(ArrayList<Animator> animationList,
+            ArrayList<FloatProperty> propertyList, CompositorAnimationHandler handler,
+            StackTab[] tabs, int focusIndex, int spacing) {
+        for (int i = 0; i < tabs.length; ++i) {
+            StackTab tab = tabs[i];
+            LayoutTab layoutTab = tab.getLayoutTab();
 
-    /**
-     * Responsible for generating the TabSwitcherAnimation that moves the tabs up so they
-     * reach the to top the screen.
-     *
-     * @param tabs          The tabs that make up the stack.  These are the
-     *                      tabs that will be affected by the TabSwitcherAnimation.
-     * @return              The TabSwitcherAnimation instance that will tween the
-     *                      tabs to create the appropriate animation.
-     */
-    protected abstract ChromeAnimation<?> createReachTopAnimatorSet(StackTab[] tabs);
+            addLandscapePortraitTiltScrollAnimation(animationList, propertyList, handler, layoutTab,
+                    0.0f, TAB_FOCUSED_ANIMATION_DURATION, 0);
+            addToAnimation(animationList, propertyList, handler, tab, StackTab.DISCARD_AMOUNT,
+                    tab.getDiscardAmount(), 0.0f, TAB_FOCUSED_ANIMATION_DURATION, 0);
+
+            if (i < focusIndex) {
+                // Landscape: for tabs left of the focused tab move them left to 0.
+                // Portrait: for tabs above the focused tab move them up to 0.
+                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCROLL_OFFSET,
+                        tab.getScrollOffset(),
+                        mOrientation == Orientation.LANDSCAPE
+                                ? Math.max(0.0f, tab.getScrollOffset() - mWidth - spacing)
+                                : tab.getScrollOffset() - mHeight - spacing,
+                        TAB_FOCUSED_ANIMATION_DURATION, 0);
+                continue;
+            } else if (i > focusIndex) {
+                if (mOrientation == Orientation.LANDSCAPE) {
+                    // We also need to animate the X Translation to move them right
+                    // off the screen.
+                    float coveringTabPosition = layoutTab.getX();
+                    float distanceToBorder = LocalizationUtils.isLayoutRtl()
+                            ? coveringTabPosition + layoutTab.getScaledContentWidth()
+                            : mWidth - coveringTabPosition;
+                    float clampedDistanceToBorder = MathUtils.clamp(distanceToBorder, 0, mWidth);
+                    float delay = TAB_FOCUSED_MAX_DELAY * clampedDistanceToBorder / mWidth;
+                    addToAnimation(animationList, propertyList, handler, tab,
+                            StackTab.X_IN_STACK_OFFSET, tab.getXInStackOffset(),
+                            tab.getXInStackOffset()
+                                    + (LocalizationUtils.isLayoutRtl() ? -mWidth : mWidth),
+                            (TAB_FOCUSED_ANIMATION_DURATION - (long) delay), (long) delay);
+                } else { // mOrientation == Orientation.PORTRAIT
+                    // We also need to animate the Y Translation to move them down
+                    // off the screen.
+                    float coveringTabPosition = layoutTab.getY();
+                    float distanceToBorder =
+                            MathUtils.clamp(mHeight - coveringTabPosition, 0, mHeight);
+                    float delay = TAB_FOCUSED_MAX_DELAY * distanceToBorder / mHeight;
+                    addToAnimation(animationList, propertyList, handler, tab,
+                            StackTab.Y_IN_STACK_OFFSET, tab.getYInStackOffset(),
+                            tab.getYInStackOffset() + mHeight,
+                            (TAB_FOCUSED_ANIMATION_DURATION - (long) delay), (long) delay);
+                }
+                continue;
+            }
+
+            // This is the focused tab.  We need to scale it back to
+            // 1.0f, move it to the top of the screen, and animate the
+            // X Translation (for Landscape) / Y Translation (for Portrait) so that it looks like it
+            // is zooming into the full screen view.
+            //
+            // In Landscape we additionally move the card to the top left and extend it out so it
+            // becomes a full card.
+            tab.setXOutOfStack(0);
+            tab.setYOutOfStack(0.0f);
+            layoutTab.setBorderScale(1.f);
+
+            if (mOrientation == Orientation.LANDSCAPE) {
+                addToAnimation(animationList, propertyList, handler, tab,
+                        StackTab.X_IN_STACK_INFLUENCE, tab.getXInStackInfluence(), 0.0f,
+                        TAB_FOCUSED_ANIMATION_DURATION, 0);
+                if (!isHorizontalTabSwitcherFlagEnabled()) {
+                    addToAnimation(animationList, propertyList, handler, tab,
+                            StackTab.SCROLL_OFFSET, tab.getScrollOffset(), mStack.screenToScroll(0),
+                            TAB_FOCUSED_ANIMATION_DURATION, 0);
+                }
+            } else { // mOrientation == Orientation.PORTRAIT
+                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCROLL_OFFSET,
+                        tab.getScrollOffset(),
+                        Math.max(0.0f, tab.getScrollOffset() - mWidth - spacing),
+                        TAB_FOCUSED_ANIMATION_DURATION, 0);
+            }
+
+            addToAnimation(animationList, propertyList, handler, tab, StackTab.SCALE,
+                    tab.getScale(), 1.0f, TAB_FOCUSED_ANIMATION_DURATION, 0);
+            addToAnimation(animationList, propertyList, handler, tab, StackTab.Y_IN_STACK_INFLUENCE,
+                    tab.getYInStackInfluence(), 0.0f, TAB_FOCUSED_Y_STACK_DURATION, 0);
+
+            addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                    LayoutTab.MAX_CONTENT_HEIGHT, tab.getLayoutTab().getMaxContentHeight(),
+                    tab.getLayoutTab().getUnclampedOriginalContentHeight(),
+                    TAB_FOCUSED_ANIMATION_DURATION, 0);
+            tab.setYOutOfStack(getStaticTabPosition());
+
+            if (layoutTab.shouldStall()) {
+                addToAnimation(animationList, propertyList, handler, layoutTab,
+                        LayoutTab.SATURATION, 1.0f, 0.0f, TAB_FOCUSED_BORDER_ALPHA_DURATION,
+                        TAB_FOCUSED_BORDER_ALPHA_DELAY);
+            }
+            addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                    LayoutTab.TOOLBAR_ALPHA, layoutTab.getToolbarAlpha(), 1.f,
+                    TAB_FOCUSED_TOOLBAR_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
+            addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                    LayoutTab.TOOLBAR_Y_OFFSET, getToolbarOffsetToLineUpWithBorder(), 0.f,
+                    TAB_FOCUSED_TOOLBAR_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
+            addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                    LayoutTab.SIDE_BORDER_SCALE, 1.f, 0.f, TAB_FOCUSED_TOOLBAR_ALPHA_DURATION,
+                    TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
+        }
+    }
 
     /**
      * Responsible for generating the animations that moves the tabs back in from
      * discard attempt or commit the current discard (if any). It also re-even the tabs
      * if one of then is removed.
      *
-     * @param tabs         The tabs that make up the stack. These are the
-     *                     tabs that will be affected by the TabSwitcherAnimation.
-     * @param spacing      The default spacing between tabs.
-     * @param discardRange The maximum value the discard amount.
-     * @return             The TabSwitcherAnimation instance that will tween the
-     *                     tabs to create the appropriate animation.
+     * @param animationList List for created animations.
+     * @param propertyList  List of FloatProperty used for creating animations.
+     * @param handler       Handler for animations.
+     * @param stack         Stack.
+     * @param tabs          The tabs that make up the stack. These are the
+     *                      tabs that will be affected by the TabSwitcherAnimation.
+     * @param spacing       The default spacing between tabs.
+     * @param discardRange  The maximum value the discard amount.
      */
-    protected ChromeAnimation<?> createUpdateDiscardAnimatorSet(
-            Stack stack, StackTab[] tabs, int spacing, float discardRange) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<Animatable>();
-
+    private void createLandscapePortraitUpdateDiscardAnimatorSet(ArrayList<Animator> animationList,
+            ArrayList<FloatProperty> propertyList, CompositorAnimationHandler handler, Stack stack,
+            StackTab[] tabs, int spacing, float discardRange) {
         int dyingTabsCount = 0;
         int firstDyingTabIndex = -1;
         float firstDyingTabOffset = 0;
         for (int i = 0; i < tabs.length; ++i) {
             StackTab tab = tabs[i];
 
-            addTiltScrollAnimation(set, tab.getLayoutTab(), 0.0f, UNDISCARD_ANIMATION_DURATION, 0);
+            addLandscapePortraitTiltScrollAnimation(animationList, propertyList, handler,
+                    tab.getLayoutTab(), 0.0f, UNDISCARD_ANIMATION_DURATION, 0);
 
             if (tab.isDying()) {
                 dyingTabsCount++;
                 if (dyingTabsCount == 1) {
                     firstDyingTabIndex = i;
-                    firstDyingTabOffset = getScreenPositionInScrollDirection(tab);
+                    firstDyingTabOffset = getLandscapePortraitScreenPositionInScrollDirection(tab);
                 }
             }
         }
 
-        Interpolator interpolator = BakedBezierInterpolator.FADE_OUT_CURVE;
+        float screenSizeInScrollDirection =
+                mOrientation == Orientation.LANDSCAPE ? mWidth : mHeight;
+
+        // This is used to determine the discard direction when user just clicks X to close a
+        // tab. On portrait, positive direction (x) is right hand side (on clicking the close
+        // button, discard the tab to the right on LTR, to the left on RTL). On landscape,
+        // positive direction (y) is towards bottom.
+        boolean defaultDiscardDirectionPositive =
+                mOrientation == Orientation.LANDSCAPE ? true : !LocalizationUtils.isLayoutRtl();
 
         int newIndex = 0;
         for (int i = 0; i < tabs.length; ++i) {
             StackTab tab = tabs[i];
-            // If the non-overlapping horizontal tab switcher is enabled, we shift all the tabs over
-            // simultaneously. Otherwise we stagger the animation start times to create a ripple
-            // effect.
+            // If the non-overlapping horizontal tab switcher is enabled, we shift all the
+            // tabs over simultaneously. Otherwise we stagger the animation start times to
+            // create a ripple effect.
             long startTime = isHorizontalTabSwitcherFlagEnabled()
                     ? 0
                     : (long) Math.max(0,
-                              TAB_REORDER_START_SPAN / getScreenSizeInScrollDirection()
-                                      * (getScreenPositionInScrollDirection(tab)
-                                                - firstDyingTabOffset));
+                            TAB_REORDER_START_SPAN / screenSizeInScrollDirection
+                                    * (getLandscapePortraitScreenPositionInScrollDirection(tab)
+                                            - firstDyingTabOffset));
             if (tab.isDying()) {
                 float discard = tab.getDiscardAmount();
-                if (discard == 0.0f) discard = isDefaultDiscardDirectionPositive() ? 0.0f : -0.0f;
+                if (discard == 0.0f) discard = defaultDiscardDirectionPositive ? 0.0f : -0.0f;
                 float s = Math.copySign(1.0f, discard);
                 long duration = (long) (DISCARD_ANIMATION_DURATION
                         * (1.0f - Math.abs(discard / discardRange)));
-                addAnimation(set, tab, StackTab.Property.DISCARD_AMOUNT, discard, discardRange * s,
-                        duration, 0, false, interpolator);
+
+                animationList.add(CompositorAnimator.ofFloatProperty(handler, tab,
+                        StackTab.DISCARD_AMOUNT, discard, discardRange * s, duration,
+                        BakedBezierInterpolator.FADE_OUT_CURVE));
+                propertyList.add(StackTab.DISCARD_AMOUNT);
             } else {
                 if (tab.getDiscardAmount() != 0.f) {
-                    addAnimation(set, tab, StackTab.Property.DISCARD_AMOUNT, tab.getDiscardAmount(),
-                            0.0f, UNDISCARD_ANIMATION_DURATION, 0);
+                    addToAnimation(animationList, propertyList, handler, tab,
+                            StackTab.DISCARD_AMOUNT, tab.getDiscardAmount(), 0.0f,
+                            UNDISCARD_ANIMATION_DURATION, 0);
                 }
-                addAnimation(set, tab, StackTab.Property.SCALE, tab.getScale(),
-                        mStack.getScaleAmount(), DISCARD_ANIMATION_DURATION, 0);
+                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCALE,
+                        tab.getScale(), mStack.getScaleAmount(), DISCARD_ANIMATION_DURATION, 0);
 
-                addAnimation(set, tab.getLayoutTab(), LayoutTab.Property.MAX_CONTENT_HEIGHT,
-                        tab.getLayoutTab().getMaxContentHeight(), mStack.getMaxTabHeight(),
-                        DISCARD_ANIMATION_DURATION, 0);
+                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
+                        LayoutTab.MAX_CONTENT_HEIGHT, tab.getLayoutTab().getMaxContentHeight(),
+                        mStack.getMaxTabHeight(), DISCARD_ANIMATION_DURATION, 0);
 
                 float newScrollOffset = mStack.screenToScroll(spacing * newIndex);
 
@@ -371,8 +584,9 @@
                 } else {
                     float start = tab.getScrollOffset();
                     if (start != newScrollOffset) {
-                        addAnimation(set, tab, StackTab.Property.SCROLL_OFFSET, start,
-                                newScrollOffset, TAB_REORDER_DURATION, 0);
+                        addToAnimation(animationList, propertyList, handler, tab,
+                                StackTab.SCROLL_OFFSET, start, newScrollOffset,
+                                TAB_REORDER_DURATION, 0);
                     }
                 }
                 newIndex++;
@@ -384,19 +598,19 @@
             NonOverlappingStack nonOverlappingStack = (NonOverlappingStack) stack;
             int centeredTabIndex = nonOverlappingStack.getCenteredTabIndex();
 
-            // For all tab closures (except for the last one), we slide the remaining tabs in to
-            // fill the gap.
+            // For all tab closures (except for the last one), we slide the remaining tabs
+            // in to fill the gap.
             //
-            // There are two cases where we also need to animate the NonOverlappingStack's overall
-            // scroll position over by one tab:
+            // There are two cases where we also need to animate the NonOverlappingStack's
+            // overall scroll position over by one tab:
             //
-            // - Closing the last tab while centered on it (since we don't have a tab we can slide
-            //   over to replace it)
+            // - Closing the last tab while centered on it (since we don't have a tab we can
+            //   slide over to replace it)
             //
-            // - Closing any tab prior to the currently centered one (so we can keep the same tab
-            //   centered). Together with animating the individual scroll offsets for each tab, this
-            //   has the visual appearance of sliding in the prior tabs from the left (in LTR mode)
-            //   to fill the gap.
+            // - Closing any tab prior to the currently centered one (so we can keep the
+            //   same tab centered). Together with animating the individual scroll offsets for
+            //   each tab, this has the visual appearance of sliding in the prior tabs from the
+            //   left (in LTR mode) to fill the gap.
             boolean closingLastTabWhileCentered =
                     firstDyingTabIndex == tabs.length - 1 && firstDyingTabIndex == centeredTabIndex;
             boolean closingPriorTab =
@@ -406,101 +620,25 @@
 
             if (shouldAnimateStackScrollOffset) {
                 nonOverlappingStack.suppressScrollClampingForAnimation();
-                addAnimation(set, nonOverlappingStack, Stack.Property.SCROLL_OFFSET,
-                        stack.getScrollOffset(), -(centeredTabIndex - 1) * stack.getSpacing(),
-                        TAB_REORDER_DURATION, 0);
+                addToAnimation(animationList, propertyList, handler, nonOverlappingStack,
+                        Stack.SCROLL_OFFSET, stack.getScrollOffset(),
+                        -(centeredTabIndex - 1) * stack.getSpacing(), TAB_REORDER_DURATION, 0);
             }
         }
-
-        return set;
     }
 
     /**
-     * This is used to determine the discard direction when user just clicks X to close a tab.
-     * On portrait, positive direction (x) is right hand side.
-     * On landscape, positive direction (y) is towards bottom.
-     * @return True, if default discard direction is positive.
+     * @return The offset for the toolbar to line the top up with the opaque component of
+     *         the border.
      */
-    protected abstract boolean isDefaultDiscardDirectionPositive();
-
-    /**
-     * Responsible for generating the animations that shows a new tab being opened.
-     *
-     * @param tabs          The tabs that make up the stack.  These are the
-     *                      tabs that will be affected by the TabSwitcherAnimation.
-     * @param focusIndex    The focused index.  In this case, this is the index of
-     *                      the tab that was just created.
-     * @param discardRange  The maximum value the discard amount.
-     * @return              The TabSwitcherAnimation instance that will tween the
-     *                      tabs to create the appropriate animation.
-     */
-    protected ChromeAnimation<?> createNewTabOpenedAnimatorSet(
-            StackTab[] tabs, int focusIndex, float discardRange) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<>();
-
-        for (int i = 0; i < tabs.length; i++) {
-            addAnimation(set, tabs[i], StackTab.Property.SCROLL_OFFSET, tabs[i].getScrollOffset(),
-                    0.0f, TAB_OPENED_ANIMATION_DURATION, 0, false,
-                    CompositorAnimator.DECELERATE_INTERPOLATOR);
-        }
-
-        return set;
-    }
-
-    /**
-     * Responsible for generating the animations that flattens tabs when a pinch begins.
-     *
-     * @param tabs The tabs that make up the stack. These are the tabs that will
-     *             be affected by the animations.
-     * @return     The TabSwitcherAnimation instance that will tween the tabs to
-     *             create the appropriate animation.
-     */
-    protected ChromeAnimation<?> createStartPinchAnimatorSet(StackTab[] tabs) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<Animatable>();
-
-        for (int i = 0; i < tabs.length; ++i) {
-            addTiltScrollAnimation(
-                    set, tabs[i].getLayoutTab(), 0, START_PINCH_ANIMATION_DURATION, 0);
-        }
-
-        return set;
-    }
-
-    /**
-     * Responsible for generating the animations that make all the tabs do a full roll.
-     *
-     * @param tabs The tabs that make up the stack. These are the tabs that will be affected by the
-     *             animations.
-     * @return     The TabSwitcherAnimation instance that will tween the tabs to create the
-     *             appropriate animation.
-     */
-    protected ChromeAnimation<?> createFullRollAnimatorSet(StackTab[] tabs) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<Animatable>();
-
-        for (int i = 0; i < tabs.length; ++i) {
-            LayoutTab layoutTab = tabs[i].getLayoutTab();
-            // Set the pivot
-            layoutTab.setTiltX(layoutTab.getTiltX(), layoutTab.getScaledContentHeight() / 2.0f);
-            layoutTab.setTiltY(layoutTab.getTiltY(), layoutTab.getScaledContentWidth() / 2.0f);
-            // Create the angle animation
-            addTiltScrollAnimation(set, layoutTab, -360.0f, FULL_ROLL_ANIMATION_DURATION, 0);
-        }
-
-        return set;
-    }
-
-    /**
-     * @return The offset for the toolbar to line the top up with the opaque component of the
-     *         border.
-     */
-    protected float getToolbarOffsetToLineUpWithBorder() {
+    private float getToolbarOffsetToLineUpWithBorder() {
         return mTopBrowserControlsHeight - mBorderTopOpaqueHeight;
     }
 
     /**
      * @return The position of the static tab when entering or exiting the tab switcher.
      */
-    protected float getStaticTabPosition() {
+    private float getStaticTabPosition() {
         return mTopBrowserControlsHeight - mBorderTopHeight;
     }
 
@@ -509,23 +647,23 @@
      * to a list of {@link Animator} and add associated {@link FloatProperty} info
      * to a list of {@link FloatProperty}
      *
-     * @param animationList The list of {@link Animator} to add animation to
-     * @param propertyList The list of {@link FloatProperty} to add FloatProperty info to
-     * @param handler The associated handler for animations
-     * @param target Target associated with animated property
-     * @param property The property being animated
-     * @param start The starting value of the animation
-     * @param end The ending value of the animation
-     * @param duration The duration of the animation in ms
-     * @param startTime The start time in ms
+     * @param animationList The list of {@link Animator} to add animation to.
+     * @param propertyList  The list of {@link FloatProperty} to add FloatProperty info to.
+     * @param handler       The associated handler for animations.
+     * @param target        Target associated with animated property.
+     * @param property      The property being animated.
+     * @param startValue    The starting value of the animation.
+     * @param endValue      The ending value of the animation.
+     * @param durationMs    The duration of the animation.
+     * @param startTimeMs   The start time.
      */
     public static <T> void addToAnimation(ArrayList<Animator> animationList,
             ArrayList<FloatProperty> propertyList, CompositorAnimationHandler handler,
-            final T target, final FloatProperty<T> property, float start, float end, long duration,
-            long startTime) {
-        CompositorAnimator compositorAnimator =
-                CompositorAnimator.ofFloatProperty(handler, target, property, start, end, duration);
-        compositorAnimator.setStartDelay(startTime);
+            final T target, final FloatProperty<T> property, float startValue, float endValue,
+            long durationMs, long startTimeMs) {
+        CompositorAnimator compositorAnimator = CompositorAnimator.ofFloatProperty(
+                handler, target, property, startValue, endValue, durationMs);
+        compositorAnimator.setStartDelay(startTimeMs);
 
         animationList.add(compositorAnimator);
         propertyList.add(property);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationLandscape.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationLandscape.java
deleted file mode 100644
index f006e62..0000000
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationLandscape.java
+++ /dev/null
@@ -1,228 +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.compositor.layouts.phone.stack;
-
-import static org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.AnimatableAnimation.addAnimation;
-
-import android.animation.Animator;
-import android.animation.AnimatorSet;
-import android.util.Pair;
-
-import org.chromium.chrome.browser.compositor.animation.CompositorAnimationHandler;
-import org.chromium.chrome.browser.compositor.animation.FloatProperty;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable;
-import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
-import org.chromium.chrome.browser.util.MathUtils;
-import org.chromium.ui.base.LocalizationUtils;
-
-import java.util.ArrayList;
-
-class StackAnimationLandscape extends StackAnimation {
-    /**
-     * Only Constructor.
-     */
-    public StackAnimationLandscape(Stack stack, float width, float height,
-            float topBrowserControlsHeight, float borderFramePaddingTop,
-            float borderFramePaddingTopOpaque, float borderFramePaddingLeft) {
-        super(stack, width, height, topBrowserControlsHeight, borderFramePaddingTop,
-                borderFramePaddingTopOpaque, borderFramePaddingLeft);
-    }
-
-    @Override
-    protected Pair<AnimatorSet, ArrayList<FloatProperty>> createEnterStackAnimatorSet(
-            StackTab[] tabs, int focusIndex, int spacing, CompositorAnimationHandler handler) {
-        ArrayList<Animator> animationList = new ArrayList<>();
-        ArrayList<FloatProperty> propertyList = new ArrayList<>();
-
-        final float initialScrollOffset = mStack.screenToScroll(0);
-
-        for (int i = 0; i < tabs.length; ++i) {
-            StackTab tab = tabs[i];
-
-            tab.resetOffset();
-            tab.setScale(mStack.getScaleAmount());
-            tab.setAlpha(1.f);
-            tab.getLayoutTab().setToolbarAlpha(0.f);
-            tab.getLayoutTab().setBorderScale(1.f);
-
-            final float scrollOffset = mStack.screenToScroll(i * spacing);
-
-            addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
-                    LayoutTab.MAX_CONTENT_HEIGHT,
-                    tab.getLayoutTab().getUnclampedOriginalContentHeight(),
-                    mStack.getMaxTabHeight(), ENTER_STACK_ANIMATION_DURATION, 0);
-            if (i < focusIndex) {
-                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCROLL_OFFSET,
-                        initialScrollOffset, scrollOffset, ENTER_STACK_ANIMATION_DURATION, 0);
-            } else if (i > focusIndex) {
-                tab.setScrollOffset(scrollOffset);
-                addToAnimation(animationList, propertyList, handler, tab,
-                        StackTab.X_IN_STACK_OFFSET,
-                        (mWidth > mHeight && LocalizationUtils.isLayoutRtl()) ? -mWidth : mWidth,
-                        0.0f, ENTER_STACK_ANIMATION_DURATION, 0);
-            } else {
-                tab.setScrollOffset(scrollOffset);
-                addToAnimation(animationList, propertyList, handler, tab,
-                        StackTab.X_IN_STACK_INFLUENCE, 0.0f, 1.0f,
-                        ENTER_STACK_BORDER_ALPHA_DURATION, 0);
-                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCALE, 1.0f,
-                        mStack.getScaleAmount(), ENTER_STACK_BORDER_ALPHA_DURATION, 0);
-                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
-                        LayoutTab.TOOLBAR_ALPHA, 1.f, 0.f, ENTER_STACK_TOOLBAR_ALPHA_DURATION,
-                        ENTER_STACK_TOOLBAR_ALPHA_DELAY);
-                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
-                        LayoutTab.TOOLBAR_Y_OFFSET, 0.f, getToolbarOffsetToLineUpWithBorder(),
-                        ENTER_STACK_BORDER_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
-                        LayoutTab.SIDE_BORDER_SCALE, 0.f, 1.f, ENTER_STACK_BORDER_ALPHA_DURATION,
-                        TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-            }
-        }
-
-        AnimatorSet set = new AnimatorSet();
-        set.playTogether(animationList);
-        return Pair.create(set, propertyList);
-    }
-
-    @Override
-    protected ChromeAnimation<?> createTabFocusedAnimatorSet(
-            StackTab[] tabs, int focusIndex, int spacing) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<Animatable>();
-        for (int i = 0; i < tabs.length; ++i) {
-            StackTab tab = tabs[i];
-            LayoutTab layoutTab = tab.getLayoutTab();
-
-            addTiltScrollAnimation(set, layoutTab, 0.0f, TAB_FOCUSED_ANIMATION_DURATION, 0);
-            addAnimation(set, tab, StackTab.Property.DISCARD_AMOUNT, tab.getDiscardAmount(), 0.0f,
-                    TAB_FOCUSED_ANIMATION_DURATION, 0);
-
-            if (i < focusIndex) {
-                // For tabs left of the focused tab move them left to 0.
-                addAnimation(set, tab, StackTab.Property.SCROLL_OFFSET, tab.getScrollOffset(),
-                        Math.max(0.0f, tab.getScrollOffset() - mWidth - spacing),
-                        TAB_FOCUSED_ANIMATION_DURATION, 0);
-            } else if (i > focusIndex) {
-                // We also need to animate the X Translation to move them right
-                // off the screen.
-                float coveringTabPosition = layoutTab.getX();
-                float distanceToBorder = LocalizationUtils.isLayoutRtl()
-                        ? coveringTabPosition + layoutTab.getScaledContentWidth()
-                        : mWidth - coveringTabPosition;
-                float clampedDistanceToBorder = MathUtils.clamp(distanceToBorder, 0, mWidth);
-                float delay = TAB_FOCUSED_MAX_DELAY * clampedDistanceToBorder / mWidth;
-                addAnimation(set, tab, StackTab.Property.X_IN_STACK_OFFSET, tab.getXInStackOffset(),
-                        tab.getXInStackOffset()
-                                + (LocalizationUtils.isLayoutRtl() ? -mWidth : mWidth),
-                        (TAB_FOCUSED_ANIMATION_DURATION - (long) delay), (long) delay);
-            } else {
-                // This is the focused tab.  We need to scale it back to
-                // 1.0f, move it to the top of the screen, and animate the
-                // X Translation so that it looks like it is zooming into the
-                // full screen view.  We move the card to the top left and extend it out so
-                // it becomes a full card.
-                tab.setXOutOfStack(0);
-                tab.setYOutOfStack(0.0f);
-                layoutTab.setBorderScale(1.f);
-
-                if (!isHorizontalTabSwitcherFlagEnabled()) {
-                    addAnimation(set, tab, StackTab.Property.SCROLL_OFFSET, tab.getScrollOffset(),
-                            mStack.screenToScroll(0), TAB_FOCUSED_ANIMATION_DURATION, 0);
-                }
-
-                addAnimation(set, tab, StackTab.Property.SCALE, tab.getScale(), 1.0f,
-                        TAB_FOCUSED_ANIMATION_DURATION, 0);
-                addAnimation(set, tab, StackTab.Property.X_IN_STACK_INFLUENCE,
-                        tab.getXInStackInfluence(), 0.0f, TAB_FOCUSED_ANIMATION_DURATION, 0);
-                addAnimation(set, tab, StackTab.Property.Y_IN_STACK_INFLUENCE,
-                        tab.getYInStackInfluence(), 0.0f, TAB_FOCUSED_Y_STACK_DURATION, 0);
-
-                addAnimation(set, tab.getLayoutTab(), LayoutTab.Property.MAX_CONTENT_HEIGHT,
-                        tab.getLayoutTab().getMaxContentHeight(),
-                        tab.getLayoutTab().getUnclampedOriginalContentHeight(),
-                        TAB_FOCUSED_ANIMATION_DURATION, 0);
-                tab.setYOutOfStack(getStaticTabPosition());
-
-                if (layoutTab.shouldStall()) {
-                    addAnimation(set, layoutTab, LayoutTab.Property.SATURATION, 1.0f, 0.0f,
-                            TAB_FOCUSED_BORDER_ALPHA_DURATION, TAB_FOCUSED_BORDER_ALPHA_DELAY);
-                }
-                addAnimation(set, tab.getLayoutTab(), LayoutTab.Property.TOOLBAR_ALPHA,
-                        layoutTab.getToolbarAlpha(), 1.f, TAB_FOCUSED_TOOLBAR_ALPHA_DURATION,
-                        TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-                addAnimation(set, tab.getLayoutTab(), LayoutTab.Property.TOOLBAR_Y_OFFSET,
-                        getToolbarOffsetToLineUpWithBorder(), 0.f,
-                        TAB_FOCUSED_TOOLBAR_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-                addAnimation(set, tab.getLayoutTab(), LayoutTab.Property.SIDE_BORDER_SCALE, 1.f,
-                        0.f, TAB_FOCUSED_TOOLBAR_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-            }
-        }
-
-        return set;
-    }
-
-    @Override
-    protected ChromeAnimation<?> createViewMoreAnimatorSet(StackTab[] tabs, int selectedIndex) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<Animatable>();
-
-        if (selectedIndex + 1 >= tabs.length) return set;
-
-        float offset = tabs[selectedIndex].getScrollOffset()
-                - tabs[selectedIndex + 1].getScrollOffset()
-                + (tabs[selectedIndex].getLayoutTab().getScaledContentWidth()
-                               * VIEW_MORE_SIZE_RATIO);
-        offset = Math.max(VIEW_MORE_MIN_SIZE, offset);
-        for (int i = selectedIndex + 1; i < tabs.length; ++i) {
-            addAnimation(set, tabs[i], StackTab.Property.SCROLL_OFFSET, tabs[i].getScrollOffset(),
-                    tabs[i].getScrollOffset() + offset, VIEW_MORE_ANIMATION_DURATION, 0);
-        }
-
-        return set;
-    }
-
-    @Override
-    protected ChromeAnimation<?> createReachTopAnimatorSet(StackTab[] tabs) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<Animatable>();
-
-        float screenTarget = 0.0f;
-        for (int i = 0; i < tabs.length; ++i) {
-            if (screenTarget >= tabs[i].getLayoutTab().getX()) {
-                break;
-            }
-            addAnimation(set, tabs[i], StackTab.Property.SCROLL_OFFSET, tabs[i].getScrollOffset(),
-                    mStack.screenToScroll(screenTarget), REACH_TOP_ANIMATION_DURATION, 0);
-            screenTarget += tabs[i].getLayoutTab().getScaledContentWidth();
-        }
-
-        return set;
-    }
-
-    @Override
-    protected ChromeAnimation<?> createNewTabOpenedAnimatorSet(
-            StackTab[] tabs, int focusIndex, float discardRange) {
-        return null;
-    }
-
-    @Override
-    protected boolean isDefaultDiscardDirectionPositive() {
-        return true;
-    }
-
-    @Override
-    protected float getScreenPositionInScrollDirection(StackTab tab) {
-        return tab.getLayoutTab().getX();
-    }
-
-    @Override
-    protected void addTiltScrollAnimation(ChromeAnimation<Animatable> set, LayoutTab tab, float end,
-            int duration, int startTime) {
-        addAnimation(set, tab, LayoutTab.Property.TILTY, tab.getTiltY(), end, duration, startTime);
-    }
-
-    @Override
-    protected float getScreenSizeInScrollDirection() {
-        return mWidth;
-    }
-}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java
deleted file mode 100644
index af238f4..0000000
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java
+++ /dev/null
@@ -1,227 +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.compositor.layouts.phone.stack;
-
-import static org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.AnimatableAnimation.addAnimation;
-
-import android.animation.Animator;
-import android.animation.AnimatorSet;
-import android.util.Pair;
-
-import org.chromium.chrome.browser.compositor.animation.CompositorAnimationHandler;
-import org.chromium.chrome.browser.compositor.animation.FloatProperty;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable;
-import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
-import org.chromium.chrome.browser.util.MathUtils;
-import org.chromium.ui.base.LocalizationUtils;
-
-import java.util.ArrayList;
-
-class StackAnimationPortrait extends StackAnimation {
-    /**
-     * Only Constructor.
-     */
-    public StackAnimationPortrait(Stack stack, float width, float height,
-            float topBrowserControlsHeight, float borderFramePaddingTop,
-            float borderFramePaddingTopOpaque, float borderFramePaddingLeft) {
-        super(stack, width, height, topBrowserControlsHeight, borderFramePaddingTop,
-                borderFramePaddingTopOpaque, borderFramePaddingLeft);
-    }
-
-    @Override
-    protected Pair<AnimatorSet, ArrayList<FloatProperty>> createEnterStackAnimatorSet(
-            StackTab[] tabs, int focusIndex, int spacing, CompositorAnimationHandler handler) {
-        ArrayList<Animator> animationList = new ArrayList<>();
-        ArrayList<FloatProperty> propertyList = new ArrayList<>();
-
-        final float initialScrollOffset = mStack.screenToScroll(0);
-
-        float trailingScrollOffset = 0.f;
-        if (focusIndex >= 0 && focusIndex < tabs.length - 1) {
-            final float focusOffset = tabs[focusIndex].getScrollOffset();
-            final float nextOffset = tabs[focusIndex + 1].getScrollOffset();
-            final float topSpacing = focusIndex == 0 ? spacing : 0.f;
-            final float extraSpace = tabs[focusIndex].getLayoutTab().getScaledContentHeight()
-                    * ENTER_STACK_SIZE_RATIO;
-            trailingScrollOffset = Math.max(focusOffset - nextOffset + topSpacing + extraSpace, 0);
-        }
-
-        for (int i = 0; i < tabs.length; ++i) {
-            StackTab tab = tabs[i];
-
-            tab.resetOffset();
-            tab.setScale(mStack.getScaleAmount());
-            tab.setAlpha(1.f);
-            tab.getLayoutTab().setToolbarAlpha(0.f);
-            tab.getLayoutTab().setBorderScale(1.f);
-
-            float scrollOffset = mStack.screenToScroll(i * spacing);
-
-            if (i < focusIndex) {
-                tab.getLayoutTab().setMaxContentHeight(mStack.getMaxTabHeight());
-                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCROLL_OFFSET,
-                        initialScrollOffset, scrollOffset, ENTER_STACK_ANIMATION_DURATION, 0);
-            } else if (i > focusIndex) {
-                tab.getLayoutTab().setMaxContentHeight(mStack.getMaxTabHeight());
-                tab.setScrollOffset(scrollOffset + trailingScrollOffset);
-                addToAnimation(animationList, propertyList, handler, tab,
-                        StackTab.Y_IN_STACK_OFFSET, mHeight, 0, ENTER_STACK_ANIMATION_DURATION, 0);
-            } else {
-                tab.setScrollOffset(scrollOffset);
-
-                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
-                        LayoutTab.MAX_CONTENT_HEIGHT,
-                        tab.getLayoutTab().getUnclampedOriginalContentHeight(),
-                        mStack.getMaxTabHeight(), ENTER_STACK_ANIMATION_DURATION,
-                        ENTER_STACK_RESIZE_DELAY);
-                addToAnimation(animationList, propertyList, handler, tab,
-                        StackTab.Y_IN_STACK_INFLUENCE, 0.0f, 1.0f,
-                        ENTER_STACK_BORDER_ALPHA_DURATION, 0);
-                addToAnimation(animationList, propertyList, handler, tab, StackTab.SCALE, 1.0f,
-                        mStack.getScaleAmount(), ENTER_STACK_BORDER_ALPHA_DURATION, 0);
-                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
-                        LayoutTab.TOOLBAR_ALPHA, 1.f, 0.f, ENTER_STACK_BORDER_ALPHA_DURATION,
-                        ENTER_STACK_TOOLBAR_ALPHA_DELAY);
-                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
-                        LayoutTab.TOOLBAR_Y_OFFSET, 0.f, getToolbarOffsetToLineUpWithBorder(),
-                        ENTER_STACK_BORDER_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-                addToAnimation(animationList, propertyList, handler, tab.getLayoutTab(),
-                        LayoutTab.SIDE_BORDER_SCALE, 0.f, 1.f, ENTER_STACK_BORDER_ALPHA_DURATION,
-                        TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-
-                tab.setYOutOfStack(getStaticTabPosition());
-            }
-        }
-
-        AnimatorSet set = new AnimatorSet();
-        set.playTogether(animationList);
-        return Pair.create(set, propertyList);
-    }
-
-    @Override
-    protected ChromeAnimation<?> createTabFocusedAnimatorSet(
-            StackTab[] tabs, int focusIndex, int spacing) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<Animatable>();
-        for (int i = 0; i < tabs.length; ++i) {
-            StackTab tab = tabs[i];
-            LayoutTab layoutTab = tab.getLayoutTab();
-
-            addTiltScrollAnimation(
-                    set, layoutTab, 0.0f, StackAnimation.TAB_FOCUSED_ANIMATION_DURATION, 0);
-            addAnimation(set, tab, StackTab.Property.DISCARD_AMOUNT, tab.getDiscardAmount(), 0.0f,
-                    TAB_FOCUSED_ANIMATION_DURATION, 0);
-
-            if (i < focusIndex) {
-                // For tabs above the focused tab move them up to 0.
-                addAnimation(set, tab, StackTab.Property.SCROLL_OFFSET, tab.getScrollOffset(),
-                        tab.getScrollOffset() - mHeight - spacing, TAB_FOCUSED_ANIMATION_DURATION,
-                        0);
-            } else if (i > focusIndex) {
-                // We also need to animate the Y Translation to move them down
-                // off the screen.
-                float coveringTabPosition = layoutTab.getY();
-                float distanceToBorder = MathUtils.clamp(mHeight - coveringTabPosition, 0, mHeight);
-                float delay = TAB_FOCUSED_MAX_DELAY * distanceToBorder / mHeight;
-                addAnimation(set, tab, StackTab.Property.Y_IN_STACK_OFFSET, tab.getYInStackOffset(),
-                        tab.getYInStackOffset() + mHeight,
-                        (TAB_FOCUSED_ANIMATION_DURATION - (long) delay), (long) delay);
-            } else {
-                // This is the focused tab.  We need to scale it back to
-                // 1.0f, move it to the top of the screen, and animate the
-                // YTranslation so that it looks like it is zooming into the
-                // full screen view.
-                tab.setXOutOfStack(0.0f);
-                tab.setYOutOfStack(0.0f);
-                layoutTab.setBorderScale(1.f);
-
-                addAnimation(set, tab, StackTab.Property.SCROLL_OFFSET, tab.getScrollOffset(),
-                        Math.max(0.0f, tab.getScrollOffset() - mWidth - spacing),
-                        TAB_FOCUSED_ANIMATION_DURATION, 0);
-                addAnimation(set, tab, StackTab.Property.SCALE, tab.getScale(), 1.0f,
-                        TAB_FOCUSED_ANIMATION_DURATION, 0);
-                addAnimation(set, tab, StackTab.Property.Y_IN_STACK_INFLUENCE,
-                        tab.getYInStackInfluence(), 0.0f, TAB_FOCUSED_Y_STACK_DURATION, 0);
-                addAnimation(set, tab.getLayoutTab(), LayoutTab.Property.MAX_CONTENT_HEIGHT,
-                        tab.getLayoutTab().getMaxContentHeight(),
-                        tab.getLayoutTab().getUnclampedOriginalContentHeight(),
-                        TAB_FOCUSED_ANIMATION_DURATION, 0);
-                tab.setYOutOfStack(getStaticTabPosition());
-                if (layoutTab.shouldStall()) {
-                    addAnimation(set, layoutTab, LayoutTab.Property.SATURATION, 1.0f, 0.0f,
-                            TAB_FOCUSED_BORDER_ALPHA_DURATION, TAB_FOCUSED_BORDER_ALPHA_DELAY);
-                }
-                addAnimation(set, tab.getLayoutTab(), LayoutTab.Property.TOOLBAR_ALPHA,
-                        layoutTab.getToolbarAlpha(), 1.f, TAB_FOCUSED_TOOLBAR_ALPHA_DURATION,
-                        TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-                addAnimation(set, tab.getLayoutTab(), LayoutTab.Property.TOOLBAR_Y_OFFSET,
-                        getToolbarOffsetToLineUpWithBorder(), 0.f,
-                        TAB_FOCUSED_TOOLBAR_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-                addAnimation(set, tab.getLayoutTab(), LayoutTab.Property.SIDE_BORDER_SCALE, 1.f,
-                        0.f, TAB_FOCUSED_TOOLBAR_ALPHA_DURATION, TAB_FOCUSED_TOOLBAR_ALPHA_DELAY);
-            }
-        }
-
-        return set;
-    }
-
-    @Override
-    protected ChromeAnimation<?> createViewMoreAnimatorSet(StackTab[] tabs, int selectedIndex) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<Animatable>();
-
-        if (selectedIndex + 1 >= tabs.length) return set;
-
-        float offset = tabs[selectedIndex].getScrollOffset()
-                - tabs[selectedIndex + 1].getScrollOffset()
-                + (tabs[selectedIndex].getLayoutTab().getScaledContentHeight()
-                               * VIEW_MORE_SIZE_RATIO);
-        offset = Math.max(VIEW_MORE_MIN_SIZE, offset);
-        for (int i = selectedIndex + 1; i < tabs.length; ++i) {
-            addAnimation(set, tabs[i], StackTab.Property.SCROLL_OFFSET, tabs[i].getScrollOffset(),
-                    tabs[i].getScrollOffset() + offset, VIEW_MORE_ANIMATION_DURATION, 0);
-        }
-
-        return set;
-    }
-
-    @Override
-    protected ChromeAnimation<?> createReachTopAnimatorSet(StackTab[] tabs) {
-        ChromeAnimation<Animatable> set = new ChromeAnimation<Animatable>();
-
-        float screenTarget = 0.0f;
-        for (int i = 0; i < tabs.length; ++i) {
-            if (screenTarget >= tabs[i].getLayoutTab().getY()) {
-                break;
-            }
-            addAnimation(set, tabs[i], StackTab.Property.SCROLL_OFFSET, tabs[i].getScrollOffset(),
-                    mStack.screenToScroll(screenTarget), REACH_TOP_ANIMATION_DURATION, 0);
-            screenTarget += tabs[i].getLayoutTab().getScaledContentHeight();
-        }
-
-        return set;
-    }
-
-    @Override
-    protected boolean isDefaultDiscardDirectionPositive() {
-        // On clicking the close button, discard the tab to the right on LTR, to the left on RTL.
-        return !LocalizationUtils.isLayoutRtl();
-    }
-
-    @Override
-    protected float getScreenPositionInScrollDirection(StackTab tab) {
-        return tab.getLayoutTab().getY();
-    }
-
-    @Override
-    protected void addTiltScrollAnimation(ChromeAnimation<Animatable> set, LayoutTab tab, float end,
-            int duration, int startTime) {
-        addAnimation(set, tab, LayoutTab.Property.TILTX, tab.getTiltX(), end, duration, startTime);
-    }
-
-    @Override
-    protected float getScreenSizeInScrollDirection() {
-        return mHeight;
-    }
-}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackTab.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackTab.java
index e9bc84c..5d9027e7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackTab.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackTab.java
@@ -6,44 +6,18 @@
 
 import android.content.Context;
 import android.content.res.Resources;
-import android.support.annotation.IntDef;
 
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.compositor.animation.FloatProperty;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation;
 import org.chromium.chrome.browser.compositor.layouts.Layout.Orientation;
 import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
 
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
 /**
  * StackTab is used to keep track of a thumbnail's bitmap and position and to
  * draw itself onto the GL canvas at the desired Y Offset.
  * @VisibleForTesting
  */
-public class StackTab implements ChromeAnimation.Animatable {
-    /**
-     * Properties that can be animated by using a
-     * {@link org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable}.
-     */
-    @IntDef({Property.SCALE, Property.SCROLL_OFFSET, Property.ALPHA, Property.X_IN_STACK_INFLUENCE,
-            Property.X_IN_STACK_OFFSET, Property.X_OUT_OF_STACK, Property.Y_IN_STACK_INFLUENCE,
-            Property.Y_IN_STACK_OFFSET, Property.Y_OUT_OF_STACK, Property.DISCARD_AMOUNT})
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface Property {
-        int SCALE = 0;
-        int SCROLL_OFFSET = 1;
-        int ALPHA = 2;
-        int X_IN_STACK_INFLUENCE = 3;
-        int X_IN_STACK_OFFSET = 4;
-        int X_OUT_OF_STACK = 5;
-        int Y_IN_STACK_INFLUENCE = 6;
-        int Y_IN_STACK_OFFSET = 7;
-        int Y_OUT_OF_STACK = 8;
-        int DISCARD_AMOUNT = 9;
-    }
-
+public class StackTab {
     // Cached values from values/dimens.xml
     public static float sStackedTabVisibleSize; // stacked_tab_visible_size
     public static float sStackBufferWidth; // stack_buffer_width
@@ -90,6 +64,19 @@
 
     private LayoutTab mLayoutTab;
 
+    public static final FloatProperty<StackTab> DISCARD_AMOUNT =
+            new FloatProperty<StackTab>("DISCARD_AMOUNT") {
+                @Override
+                public void setValue(StackTab layoutTab, float v) {
+                    layoutTab.setDiscardAmount(v);
+                }
+
+                @Override
+                public Float get(StackTab layoutTab) {
+                    return layoutTab.getDiscardAmount();
+                }
+            };
+
     public static final FloatProperty<StackTab> SCALE = new FloatProperty<StackTab>("SCALE") {
         @Override
         public void setValue(StackTab layoutTab, float v) {
@@ -521,50 +508,4 @@
     public int getOrderSortingValue() {
         return mOrderSortingValue;
     }
-
-    /**
-     * Callback for
-     * {@link org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable}
-     *
-     * @param prop The property to set
-     * @param val The value to set it to
-     */
-    @Override
-    public void setProperty(@Property int prop, float val) {
-        switch (prop) {
-            case Property.SCALE:
-                setScale(val);
-                break;
-            case Property.SCROLL_OFFSET:
-                setScrollOffset(val);
-                break;
-            case Property.ALPHA:
-                setAlpha(val);
-                break;
-            case Property.X_IN_STACK_INFLUENCE:
-                setXInStackInfluence(val);
-                break;
-            case Property.X_IN_STACK_OFFSET:
-                setXInStackOffset(val);
-                break;
-            case Property.X_OUT_OF_STACK:
-                setXOutOfStack(val);
-                break;
-            case Property.Y_IN_STACK_INFLUENCE:
-                setYInStackInfluence(val);
-                break;
-            case Property.Y_IN_STACK_OFFSET:
-                setYInStackOffset(val);
-                break;
-            case Property.Y_OUT_OF_STACK:
-                setYOutOfStack(val);
-                break;
-            case Property.DISCARD_AMOUNT:
-                setDiscardAmount(val);
-                break;
-        }
-    }
-
-    @Override
-    public void onPropertyAnimationFinished(@Property int prop) {}
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/home/metrics/UmaUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/home/metrics/UmaUtils.java
index 5038a49a..40b3d45 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/home/metrics/UmaUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/home/metrics/UmaUtils.java
@@ -14,6 +14,7 @@
 import org.chromium.chrome.download.R;
 import org.chromium.components.offline_items_collection.OfflineItem;
 import org.chromium.components.offline_items_collection.OfflineItemFilter;
+import org.chromium.components.offline_items_collection.RenameResult;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -295,4 +296,13 @@
         RecordHistogram.recordEnumeratedHistogram(
                 "Android.Download.Rename.Dialog.Action", action, RenameDialogAction.NUM_ENTRIES);
     }
+
+    /**
+     * Called to record metrics for the given rename result.
+     * @param result The given rename result.
+     */
+    public static void recordRenameResult(@RenameResult int result) {
+        RecordHistogram.recordEnumeratedHistogram(
+                "Android.Download.Rename.Result", result, RenameResult.MAX_VALUE);
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/home/rename/RenameDialogManager.java b/chrome/android/java/src/org/chromium/chrome/browser/download/home/rename/RenameDialogManager.java
index d91d05d1..6a1f2e90 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/home/rename/RenameDialogManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/home/rename/RenameDialogManager.java
@@ -4,6 +4,7 @@
 package org.chromium.chrome.browser.download.home.rename;
 
 import static org.chromium.chrome.browser.download.home.metrics.UmaUtils.recordRenameAction;
+import static org.chromium.chrome.browser.download.home.metrics.UmaUtils.recordRenameResult;
 
 import android.content.Context;
 import android.support.annotation.IntDef;
@@ -162,6 +163,7 @@
                                 : RenameDialogState.RENAME_DIALOG_COMMIT_ERROR,
                         DialogDismissalCause.POSITIVE_BUTTON_CLICKED);
             }
+            recordRenameResult(result);
         });
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
index 706a6a9..1dded26 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
@@ -42,9 +42,9 @@
         implements ListObservable.ListObserver<PartialBindCallback> {
     protected final SuggestionsUiDelegate mUiDelegate;
     protected final ContextMenuManager mContextMenuManager;
-    private final OfflinePageBridge mOfflinePageBridge;
+    protected final OfflinePageBridge mOfflinePageBridge;
 
-    private final @Nullable View mAboveTheFoldView;
+    protected final @Nullable View mAboveTheFoldView;
     protected final UiConfig mUiConfig;
     protected SuggestionsRecyclerView mRecyclerView;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java
index f33c3fe..1503178 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java
@@ -4,6 +4,7 @@
 
 package org.chromium.chrome.browser.ntp.cards;
 
+import android.os.Bundle;
 import android.support.annotation.CallSuper;
 import android.support.v7.widget.RecyclerView;
 import android.view.View;
@@ -61,6 +62,21 @@
     }
 
     /**
+     * Allows the concrete ViewHolder to override behavior to consume the focus token and focus its
+     * view or part of its view.
+     * @param focusBundle A bundle that was made by the previously focused ViewHolder.
+     */
+    public void requestFocusWithBundle(Bundle focusBundle) {}
+
+    /**
+     * Sets the focus listener to be called whenever a focusable view is focused. This allows the
+     * top level component to maintain the current focus state as it changes, so that it can be
+     * serialized when the page state is saved
+     * @param callback The listener to be invoked when focused.
+     */
+    public void setOnFocusListener(Callback<Bundle> callback) {}
+
+    /**
      * A callback to perform a partial bind on a {@link NewTabPageViewHolder}.
      *
      * This interface is used to strengthen type assertions, as those would be less useful with a
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsRecyclerView.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsRecyclerView.java
index c9eb3e4..69bb24a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsRecyclerView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsRecyclerView.java
@@ -87,8 +87,13 @@
         this(context, null);
     }
 
-    @SuppressWarnings("RestrictTo")
     public SuggestionsRecyclerView(Context context, AttributeSet attrs) {
+        this(context, attrs, new LinearLayoutManager(context));
+    }
+
+    @SuppressWarnings("RestrictTo")
+    protected SuggestionsRecyclerView(
+            Context context, AttributeSet attrs, LinearLayoutManager layoutManager) {
         super(new ContextThemeWrapper(context, R.style.NewTabPageRecyclerView), attrs);
 
         Resources res = getContext().getResources();
@@ -109,8 +114,8 @@
                         return retVal;
                     }
                 });
-        mLayoutManager = new LinearLayoutManager(getContext());
-        setLayoutManager(mLayoutManager);
+        mLayoutManager = layoutManager;
+        setLayoutManager(layoutManager);
         setHasFixedSize(true);
 
         ItemTouchHelper helper = new ItemTouchHelper(new ItemTouchCallbacks());
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 1a5fade9..8ec4489 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">عدم ترجمة هذا الموقع مطلقًا</translation>
 <translation id="1291207594882862231">محو السجل وملفات تعريف الارتباط وبيانات المواقع وذاكرة التخزين المؤقت...</translation>
 <translation id="129553762522093515">المغلقة حديثًا</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> - تم الإرسال من <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">‏للحصول على علامات التبويب من أجهزتك الأخرى، سجّل الدخول إلى Chrome.</translation>
 <translation id="1331212799747679585">‏يتعذَّر تحديث Chrome. يُرجى الاطِّلاع على مزيد من الخيارات</translation>
 <translation id="1332501820983677155">‏اختصارات ميزات Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">تعديل البطاقة</translation>
 <translation id="2154710561487035718">‏نسخ عنوان URL</translation>
 <translation id="2156074688469523661">المواقع المتبقية (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">مشاركة</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />، تطبيق ويب. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">المتابعة باسم <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">‏خدمات Google والمزامنة</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">‏قد تستخدم Google سجلّك لتخصيص البحث والإعلانات وخدمات Google الأخرى.</translation>
 <translation id="5804241973901381774">الأذونات</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{قبل ساعة واحدة (#)}zero{قبل # ساعة}two{قبل ساعتين (#)}few{قبل # ساعات}many{قبل # ساعة}other{قبل # ساعة}}</translation>
+<translation id="5810288467834065221">‏حقوق الطبع والنشر لعام <ph name="YEAR" /> لشركة Google LLC. جميع الحقوق محفوظة.</translation>
 <translation id="5817918615728894473">إقران</translation>
 <translation id="583281660410589416">غير معروف</translation>
 <translation id="5833984609253377421">مشاركة الرابط</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">‏بيانات Chrome التي تم محوها</translation>
 <translation id="757524316907819857">منع مواقع الويب من تشغيل المحتوى المحمي</translation>
 <translation id="757855969265046257">{FILES,plural, =1{تم تنزيل ملف <ph name="FILES_DOWNLOADED_ONE" />}zero{تم تنزيل <ph name="FILES_DOWNLOADED_MANY" /> ملفات}two{تم تنزيل ملفين (<ph name="FILES_DOWNLOADED_MANY" />)}few{تم تنزيل <ph name="FILES_DOWNLOADED_MANY" /> ملفات}many{تم تنزيل <ph name="FILES_DOWNLOADED_MANY" /> ملفًا}other{تم تنزيل <ph name="FILES_DOWNLOADED_MANY" /> ملف}}</translation>
+<translation id="7588219262685291874">تفعيل المظهر الداكن عند تفعيل توفير شحن البطارية للجهاز</translation>
 <translation id="7589445247086920869">حظر محرّك البحث الحالي</translation>
 <translation id="7593557518625677601">‏فتح إعدادات Android وإعادة تفعيل مزامنة نظام Android لبدء مزامنة Chrome</translation>
 <translation id="7596558890252710462">نظام التشغيل</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">موقع التنزيل</translation>
 <translation id="8274165955039650276">الاطِّلاع على التنزيلات</translation>
 <translation id="8283853025636624853">تتم المزامنة مع <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">تتم الإدارة من خلال التطبيق</translation>
 <translation id="8310344678080805313">علامات التبويب القياسية</translation>
 <translation id="8313455859591948645">تعديل صفحة بدء التشغيل</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> ومواقع أخرى</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_bn.xtb b/chrome/android/java/strings/translations/android_chrome_strings_bn.xtb
index 67a7afb..a86c8e31 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_bn.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_bn.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">কখনই এই সাইটটিকে অনুবাদ করবেন না</translation>
 <translation id="1291207594882862231">ইতিহাস, কুকিজ, সাইট ডেটা, ক্যাশে সাফ করে...</translation>
 <translation id="129553762522093515">সম্প্রতি বন্ধ হয়েছে</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> - <ph name="DEVICE_NAME" /> থেকে পাঠানো হয়েছে</translation>
 <translation id="1326317727527857210">আপনার অন্য ডিভাইসগুলি থেকে আপনার ট্যাবগুলি পেতে, Chrome এ প্রবেশ করুন।</translation>
 <translation id="1331212799747679585">Chrome আপডেট হচ্ছে না। আরও বিকল্প</translation>
 <translation id="1332501820983677155">Google Chrome এর বাছাই করা শর্টকাটগুলি</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">কার্ড সম্পাদনা করুন</translation>
 <translation id="2154710561487035718">URL কপি করুন</translation>
 <translation id="2156074688469523661">(<ph name="NUMBER_OF_SITES" />)টি সাইট বাকি আছে</translation>
+<translation id="218608176142494674">শেয়ার করা সংক্রান্ত বিজ্ঞপ্তি</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, ওয়েব অ্যাপ্লিকেশান৷ <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> হিসেবে চালিয়ে যান</translation>
 <translation id="2234876718134438132">সিঙ্ক এবং Google পরিষেবাগুলি</translation>
@@ -650,6 +652,7 @@
 <translation id="5797070761912323120">সার্চ, বিজ্ঞাপন এবং অন্যান্য Google পরিষেবাকে আপনার মতো করে সাজিয়ে নিতে Google আপনার ইতিহাস ব্যবহার করতে পারে</translation>
 <translation id="5804241973901381774">অনুমতিগুলি</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# ঘণ্টা আগে}one{# ঘণ্টা আগে}other{# ঘণ্টা আগে}}</translation>
+<translation id="5810288467834065221">কপিরাইট <ph name="YEAR" /> Google LLC সব স্বত্ব সংরক্ষিত আছে।</translation>
 <translation id="5817918615728894473">যুক্ত করুন</translation>
 <translation id="583281660410589416">অজানা</translation>
 <translation id="5833984609253377421">লিঙ্ক শেয়ার করুন</translation>
@@ -902,6 +905,7 @@
 <translation id="756809126120519699">Chrome ডেটা সাফ হয়েছে</translation>
 <translation id="757524316907819857">সুরক্ষিত কন্টেন্ট চালানো থেকে সাইটকে ব্লক করুন</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" />টি ফাইল ডাউনলোড হয়েছে}one{<ph name="FILES_DOWNLOADED_MANY" />টি ফাইল ডাউনলোড হয়েছে}other{<ph name="FILES_DOWNLOADED_MANY" />টি ফাইল ডাউনলোড হয়েছে}}</translation>
+<translation id="7588219262685291874">আপনার ডিভাইস ব্যাটারি সেভারে চললে গাঢ় থিম চালু করুন</translation>
 <translation id="7589445247086920869">বর্তমান সার্চ ইঞ্জিনের জন্য অবরুদ্ধ করুন</translation>
 <translation id="7593557518625677601">Android সেটিংস খুলে Chrome সিঙ্ক শুরু করতে Android সিস্টেমকে পুনরায় সক্ষম করুন</translation>
 <translation id="7596558890252710462">অপারেটিং সিস্টেম</translation>
@@ -1000,6 +1004,7 @@
 <translation id="8266862848225348053">যেখানে ডাউনলোড হবে</translation>
 <translation id="8274165955039650276">ডাউনলোড দেখুন</translation>
 <translation id="8283853025636624853"><ph name="SYNC_ACCOUNT_USER_NAME" /> এ সিঙ্ক হচ্ছে</translation>
+<translation id="8300705686683892304">অ্যাপ ম্যানেজ করে</translation>
 <translation id="8310344678080805313">স্ট্যান্ডার্ড ট্যাব</translation>
 <translation id="8313455859591948645">শুরুর পৃষ্ঠা এডিট করুন</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> এবং আরও অনেক সাইট</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
index 5d3d2d3..e4346de5 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
@@ -144,7 +144,7 @@
 <translation id="2018707881002649255">Els contactes que seleccionis a continuació es compartiran amb el lloc web <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" />.</translation>
 <translation id="2021896219286479412">Controls de pantalla completa</translation>
 <translation id="2038563949887743358">Activa Mostra com a ordinador</translation>
-<translation id="2041019821020695769">Perquè Chrome et pugui enviar notificacions, també has d'activar les notificacions a la <ph name="BEGIN_LINK" />configuració d'Android<ph name="END_LINK" />.</translation>
+<translation id="2041019821020695769">Perquè Chrome et pugui enviar notificacions, també has d'activar-les a la <ph name="BEGIN_LINK" />configuració d'Android<ph name="END_LINK" />.</translation>
 <translation id="204321170514947529"><ph name="APP_NAME" /> també té dades a Chrome</translation>
 <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB en altres aplicacions</translation>
 <translation id="2049574241039454490"><ph name="FILE_SIZE_OF_TOTAL" /> <ph name="SEPARATOR" /> <ph name="DESCRIPTION" /></translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
index c181d00..60c9e685 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Tento web nikdy nepřekládat</translation>
 <translation id="1291207594882862231">Vymazat historii, soubory cookie, data webů, mezipaměť…</translation>
 <translation id="129553762522093515">Nedávno zavřené</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – odesláno ze zařízení <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Chcete-li získat přístup ke kartám ze svých ostatních zařízení, přihlaste se do Chromu.</translation>
 <translation id="1331212799747679585">Chrome nelze aktualizovat. Další možnosti</translation>
 <translation id="1332501820983677155">Zkratky funkcí prohlížeče Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Úprava karty</translation>
 <translation id="2154710561487035718">Kopírovat adresu URL</translation>
 <translation id="2156074688469523661">Zbývající weby (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Sdílení</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, webová aplikace <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Pokračovat jako uživatel <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Synchronizace a služby Google</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google vaši historii může používat k personalizaci Vyhledávání, reklam a dalších služeb Google</translation>
 <translation id="5804241973901381774">Oprávnění</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{před # hodinou}few{před # hodinami}many{před # hodiny}other{před # hodinami}}</translation>
+<translation id="5810288467834065221">Copyright <ph name="YEAR" /> Google LLC. Všechna práva vyhrazena.</translation>
 <translation id="5817918615728894473">Spárovat</translation>
 <translation id="583281660410589416">Neznámé</translation>
 <translation id="5833984609253377421">Sdílet odkaz</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Vymazání údajů Chromu</translation>
 <translation id="757524316907819857">Bránit webům v přehrávání chráněného obsahu</translation>
 <translation id="757855969265046257">{FILES,plural, =1{Byl stažen <ph name="FILES_DOWNLOADED_ONE" /> soubor}few{Byly staženy <ph name="FILES_DOWNLOADED_MANY" /> soubory}many{Bylo staženo <ph name="FILES_DOWNLOADED_MANY" /> souboru}other{Bylo staženo <ph name="FILES_DOWNLOADED_MANY" /> souborů}}</translation>
+<translation id="7588219262685291874">Když je na zařízení zapnutý spořič baterie, zapnout tmavý motiv</translation>
 <translation id="7589445247086920869">Blokovat pro aktuální vyhledávač</translation>
 <translation id="7593557518625677601">Chcete-li spustit synchronizaci Chromu, povolte synchronizaci systému Android.</translation>
 <translation id="7596558890252710462">Operační systém</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Umístění stažených souborů</translation>
 <translation id="8274165955039650276">Zobrazit stažený obsah</translation>
 <translation id="8283853025636624853">Data se synchronizují do účtu <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Spravováno aplikací</translation>
 <translation id="8310344678080805313">Standardní karty</translation>
 <translation id="8313455859591948645">Úprava počáteční stránky</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> a další weby</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 2d40128..f698b93 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Oversæt aldrig dette website</translation>
 <translation id="1291207594882862231">Ryd historik, cookies, websitedata, cache...</translation>
 <translation id="129553762522093515">Senest lukkede</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – sendt fra <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Log ind på Chrome for at få adgang til dine faner på dine andre enheder.</translation>
 <translation id="1331212799747679585">Chrome kan ikke opdateres. Flere valgmuligheder</translation>
 <translation id="1332501820983677155">Funktionsgenveje i Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Rediger kort</translation>
 <translation id="2154710561487035718">Kopier webadresse</translation>
 <translation id="2156074688469523661">Tilbageværende websites (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Deling</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, webapp. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Fortsæt som <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Synkr. og Google-tjenester</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google kan bruge din historik til at tilpasse Søgning, annoncer og andre Google-tjenester</translation>
 <translation id="5804241973901381774">Tilladelser</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{For 1 time siden}one{For # time siden}other{For # timer siden}}</translation>
+<translation id="5810288467834065221">Copyright <ph name="YEAR" /> Google LLC. Alle rettigheder forbeholdes.</translation>
 <translation id="5817918615728894473">Start parring</translation>
 <translation id="583281660410589416">Ukendt</translation>
 <translation id="5833984609253377421">Del link</translation>
@@ -669,7 +672,7 @@
 <translation id="5937580074298050696">Du har sparet <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Nulstil</translation>
 <translation id="5942872142862698679">Søgning via Google</translation>
-<translation id="5944669582486359588">Chrome indlæser sider hurtigere og bruger op til 60 procent mindre data i Lite-tilstand. Googles skyteknologi optimerer de sider, du besøger.</translation>
+<translation id="5944669582486359588">Chrome indlæser sider hurtigere og bruger op til 60 procent mindre data i Lite-tilstand. Googles Cloud-teknologi optimerer de sider, du besøger.</translation>
 <translation id="5952764234151283551">Sender webadressen på en side, du forsøger at åbne, til Google</translation>
 <translation id="5956665950594638604">Åbn Hjælp til Chrome i en ny fane</translation>
 <translation id="5958275228015807058">Find dine filer og sider i Downloads</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Chrome-dataene blev ryddet</translation>
 <translation id="757524316907819857">Bloker afspilning af beskyttet indhold på websites</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> fil blev downloadet}one{<ph name="FILES_DOWNLOADED_MANY" /> fil blev downloadet}other{<ph name="FILES_DOWNLOADED_MANY" /> filer blev downloadet}}</translation>
+<translation id="7588219262685291874">Aktivér mørkt tema, når enhedens batterisparefunktion er aktiveret</translation>
 <translation id="7589445247086920869">Bloker for den aktuelle søgemaskine</translation>
 <translation id="7593557518625677601">Åbn Android-indstillinger, og genaktiver synkronisering af Android-systemet for at starte Chrome-synkroniseringen</translation>
 <translation id="7596558890252710462">Operativsystem</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Downloadplacering</translation>
 <translation id="8274165955039650276">Se downloads</translation>
 <translation id="8283853025636624853">Synkroniserer til <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Administreres af en app</translation>
 <translation id="8310344678080805313">Standardfaner</translation>
 <translation id="8313455859591948645">Rediger opstartsside</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> og andre websites</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
index 9da339d..c8bf877c 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Να μην γίνεται ποτέ μετάφραση αυτού του ιστότοπου</translation>
 <translation id="1291207594882862231">Διαγραφή ιστορικού, cookie, δεδομένων ιστότοπου, κρυφής μνήμης…</translation>
 <translation id="129553762522093515">Έκλεισαν πρόσφατα</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> - Εστάλη από <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Για να εμφανίζονται οι καρτέλες από τις άλλες συσκευές σας, συνδεθείτε στο Chrome.</translation>
 <translation id="1331212799747679585">Δεν είναι δυνατή η ενημέρωση του Chrome. Περισσότερες επιλογές</translation>
 <translation id="1332501820983677155">Συντομεύσεις λειτουργιών Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Επεξεργασία κάρτας</translation>
 <translation id="2154710561487035718">Αντιγραφή διεύθυνσης URL</translation>
 <translation id="2156074688469523661">Ιστότοποι που απομένουν (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Κοινοποίηση</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, εφαρμογή ιστού. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Συνέχεια ως <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Συγχρονισμός και υπηρ. Google</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Η Google μπορεί να χρησιμοποιήσει το ιστορικό σας για την εξατομίκευση της Αναζήτησης, των διαφημίσεων και άλλων υπηρεσιών Google</translation>
 <translation id="5804241973901381774">Άδειες</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{Πριν από # ώρα}other{Πριν από # ώρες}}</translation>
+<translation id="5810288467834065221">Πνευματικά δικαιώματα <ph name="YEAR" /> Google LLC. Με την επιφύλαξη παντός δικαιώματος.</translation>
 <translation id="5817918615728894473">Σύζευξη</translation>
 <translation id="583281660410589416">Άγνωστο</translation>
 <translation id="5833984609253377421">Κοινοποίηση συνδέσμου</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Τα δεδομένα του Chrome διαγράφηκαν</translation>
 <translation id="757524316907819857">Αποκλεισμός αναπαραγωγής προστατευόμενου περιεχομένου από ιστοτόπους</translation>
 <translation id="757855969265046257">{FILES,plural, =1{Έγινε λήψη <ph name="FILES_DOWNLOADED_ONE" /> αρχείου}other{Έγινε λήψη <ph name="FILES_DOWNLOADED_MANY" /> αρχείων}}</translation>
+<translation id="7588219262685291874">Ενεργοποιήστε το σκούρο θέμα όταν η λειτουργία εξοικονόμησης μπαταρίας της συσκευής σας είναι ενεργοποιημένη.</translation>
 <translation id="7589445247086920869">Αποκλεισμός για την τρέχουσα μηχανή αναζήτησης</translation>
 <translation id="7593557518625677601">Ανοίξτε Ρυθμίσεις Android και ενεργοποιήστε τον συγχρ. συστ. Android για έναρξη Συγχρ. Chrome</translation>
 <translation id="7596558890252710462">Λειτουργικό σύστημα</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Τοποθεσία λήψης</translation>
 <translation id="8274165955039650276">Εμφάνιση λήψεων</translation>
 <translation id="8283853025636624853">Συγχρονισμός με <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Διαχείριση από εφαρμογή</translation>
 <translation id="8310344678080805313">Τυπικές καρτέλες</translation>
 <translation id="8313455859591948645">Επεξεργασία σελίδας εκκίνησης</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> και άλλους ιστοτόπους</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_et.xtb b/chrome/android/java/strings/translations/android_chrome_strings_et.xtb
index f259673..b5f8958 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_et.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_et.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Ära kunagi seda saiti tõlgi</translation>
 <translation id="1291207594882862231">Ajaloo, küpsiste, saidiandmete, vahemälu kustutamine …</translation>
 <translation id="129553762522093515">Viimati suletud</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – saadetud seadmest <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Vahelehtede hankimiseks oma teistest seadmetest logige Chrome'i sisse.</translation>
 <translation id="1331212799747679585">Chrome'i ei saa värskendada. Rohkem valikuid</translation>
 <translation id="1332501820983677155">Google Chrome'i funktsioonide otseteed</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Kaardi muutmine</translation>
 <translation id="2154710561487035718">Kopeeri URL</translation>
 <translation id="2156074688469523661">Järelejäänud saidid (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Jagamine</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, veebirakendus. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Jätka kasutajana <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Sünkroonimine ja Google'i teen.</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google võib kasutada teie ajalugu otsingu, reklaamide ja muude Google'i teenuste isikupärastamiseks</translation>
 <translation id="5804241973901381774">Load</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# tund tagasi}other{# tundi tagasi}}</translation>
+<translation id="5810288467834065221">Autoriõigus <ph name="YEAR" /> Google LLC. Kõik õigused on kaitstud.</translation>
 <translation id="5817918615728894473">Seo</translation>
 <translation id="583281660410589416">Tundmatu</translation>
 <translation id="5833984609253377421">Jaga linki</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Chrome'i andmed kustutati</translation>
 <translation id="757524316907819857">Saitidel kaitstud sisu esitamise blokeerimine</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> fail laaditi alla}other{<ph name="FILES_DOWNLOADED_MANY" /> faili laaditi alla}}</translation>
+<translation id="7588219262685291874">Aktiveeri tume teema, kui akusäästja on seadmes sisse lülitatud</translation>
 <translation id="7589445247086920869">Blokeerib praeguse otsingumootori puhul</translation>
 <translation id="7593557518625677601">Chrome'i sünkroonimise alustamiseks avage Androidi seaded ja lubage uuesti Androidi süsteemi sünkroonimine</translation>
 <translation id="7596558890252710462">Operatsioonisüsteem</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Allalaadimise asukoht</translation>
 <translation id="8274165955039650276">Kuva allalaadimised</translation>
 <translation id="8283853025636624853">Sünkroonimine kontoga <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Neid haldab rakendus</translation>
 <translation id="8310344678080805313">Tavapärased vahekaardid</translation>
 <translation id="8313455859591948645">Käivitamisel avatava lehe muutmine</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> ja muud saidid</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
index b2a646b..adbbeb1 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">این سایت هرگز ترجمه نشود</translation>
 <translation id="1291207594882862231">پاک کردن سابقه، کوکی‌ها، داده‌های سایت، حافظه پنهان…</translation>
 <translation id="129553762522093515">اخیراً بسته‌شده</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> - ارسال‌شده از <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">‏برای دسترسی به برگه‌هایتان در دستگاه‌های دیگر، به سیستم Chrome وارد شوید.</translation>
 <translation id="1331212799747679585">‏Chrome به‌روزرسانی نشد. گزینه‌های دیگر</translation>
 <translation id="1332501820983677155">‏میان‌برهای ویژه Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">ویرایش کارت</translation>
 <translation id="2154710561487035718">کپی نشانی وب</translation>
 <translation id="2156074688469523661">سایت‌های باقی‌مانده (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">هم‌رسانی</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />، برنامه وب. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">ادامه دادن به‌عنوان <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">‏همگام‌سازی و سرویس‌های Google</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">‏Google ممکن است از سابقه مرور شما برای شخصی کردن جستجو، آگهی‌ها و سایر سرویس‌های Google استفاده کند</translation>
 <translation id="5804241973901381774">مجوزها</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{۱ ساعت قبل}one{# ساعت قبل}other{# ساعت قبل}}</translation>
+<translation id="5810288467834065221">‏حق نسخه‌برداری <ph name="YEAR" /> Google LLC.‎ کلیه حقوق محفوظ است.</translation>
 <translation id="5817918615728894473">مرتبط‌سازی</translation>
 <translation id="583281660410589416">ناشناس</translation>
 <translation id="5833984609253377421">اشتراک‌گذاری پیوند</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">‏داده‌های Chrome پاک شد</translation>
 <translation id="757524316907819857">مسدود کردن سایت‌ها برای پخش محتوای محافظت‌شده</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> فایل بارگیری شد}one{<ph name="FILES_DOWNLOADED_MANY" /> فایل بارگیری شد}other{<ph name="FILES_DOWNLOADED_MANY" /> فایل بارگیری شد}}</translation>
+<translation id="7588219262685291874">روشن شدن طرح زمینه تیره وقتی «بهینه‌سازی باتری» دستگاه روشن است</translation>
 <translation id="7589445247086920869">مسدود کردن موتور جستجوی کنونی</translation>
 <translation id="7593557518625677601">‏برای شروع همگام‌سازی Chrome، تنظیمات Android را باز کنید و همگام‌سازی سیستم Android را دوباره فعال کنید</translation>
 <translation id="7596558890252710462">سیستم عامل</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">مکان بارگیری</translation>
 <translation id="8274165955039650276">مشاهده بارگیری‌ها</translation>
 <translation id="8283853025636624853">در حال همگام‌سازی در <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">مدیریت‌شده توسط برنامه</translation>
 <translation id="8310344678080805313">برگه‌های استاندارد</translation>
 <translation id="8313455859591948645">ویرایش صفحه شروع</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> و سایت‌های دیگر</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_gu.xtb b/chrome/android/java/strings/translations/android_chrome_strings_gu.xtb
index c33f296d..de0dbf4 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_gu.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_gu.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">આ સાઇટનું ક્યારેય ભાષાંતર કરશો નહીં</translation>
 <translation id="1291207594882862231">ઇતિહાસ, કુકી, સાઇટ ડેટા, કૅશ સાફ કરો…</translation>
 <translation id="129553762522093515">તાજેતરમાં બંધ કરેલા</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> - <ph name="DEVICE_NAME" /> પરથી મોકલેલ</translation>
 <translation id="1326317727527857210">તમારા અન્ય ઉપકરણો પરથી તમારા ટૅબ્સ મેળવવા માટે, Chrome માં સાઇન ઇન કરો.</translation>
 <translation id="1331212799747679585">Chrome અપડેટ કરી શકાતું નથી. વધુ વિકલ્પો</translation>
 <translation id="1332501820983677155">Google Chrome સુવિધાના શૉર્ટકટ્સ</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">કાર્ડમાં ફેરફાર કરો</translation>
 <translation id="2154710561487035718">URL ની કૉપિ કરો</translation>
 <translation id="2156074688469523661">બાકી સાઇટ (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">શેરિંગ</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, વેબ ઍપ. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> તરીકે ચાલુ રાખો</translation>
 <translation id="2234876718134438132">સિંક અને Google સેવાઓ</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google, શોધ, જાહેરાતો અને અન્ય Google સેવાઓને વ્યક્તિગત કરવા માટે તમારા ઇતિહાસનો ઉપયોગ કરી શકે છે</translation>
 <translation id="5804241973901381774">પરવાનગીઓ</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# કલાક પહેલાં}one{# કલાક પહેલાં}other{# કલાક પહેલાં}}</translation>
+<translation id="5810288467834065221">કૉપિરાઇટ <ph name="YEAR" /> Google LLC. સર્વાધિકાર સુરક્ષિત.</translation>
 <translation id="5817918615728894473">જોડી કરો</translation>
 <translation id="583281660410589416">અજ્ઞાત</translation>
 <translation id="5833984609253377421">લિંક શેર કરો</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Chrome ડેટા સાફ કર્યો</translation>
 <translation id="757524316907819857">સાઇટને સંરક્ષિત કન્ટેન્ટ ચલાવવાથી બ્લૉક કરો</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> ફાઇલ ડાઉનલોડ કરી}one{<ph name="FILES_DOWNLOADED_MANY" /> ફાઇલ ડાઉનલોડ કરી}other{<ph name="FILES_DOWNLOADED_MANY" /> ફાઇલ ડાઉનલોડ કરી}}</translation>
+<translation id="7588219262685291874">જ્યારે તમારા ડિવાઇસનું બૅટરી સેવર ચાલુ હોય ત્યારે ઘેરી થીમ ચાલુ કરો</translation>
 <translation id="7589445247086920869">હાલનું શોધ એંજિન અવરોધિત કરો</translation>
 <translation id="7593557518625677601">Chrome સિંક શરૂ કરવા Android સેટિંગ ખોલો અને Android સિસ્ટમ સિંક ફરી ચાલુ કરો</translation>
 <translation id="7596558890252710462">ઓપરેટિંગ સિસ્ટમ</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">સ્થાન ડાઉનલોડ કરો</translation>
 <translation id="8274165955039650276">ડાઉનલોડ જુઓ</translation>
 <translation id="8283853025636624853"><ph name="SYNC_ACCOUNT_USER_NAME" /> પર સમન્વયિત કરી રહ્યાં છે</translation>
+<translation id="8300705686683892304">ઍપ દ્વારા મેનેજ થતી</translation>
 <translation id="8310344678080805313">માનક ટેબ્સ</translation>
 <translation id="8313455859591948645">સ્ટાર્ટઅપ પેજમાં ફેરફાર કરો</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> અને વધુ સાઇટ</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
index 38a02408..be56253 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">कभी भी इस साइट का अनुवाद न करें</translation>
 <translation id="1291207594882862231">इतिहास, कुकी, साइट डेटा, कैश साफ़ करें…</translation>
 <translation id="129553762522093515">हाल ही में बंद किए गए</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> - <ph name="DEVICE_NAME" /> से भेजा गया</translation>
 <translation id="1326317727527857210">अपने दूसरे डिवाइस से अपने टैब पाने के लिए, Chrome में साइन इन करें.</translation>
 <translation id="1331212799747679585">Chrome अपडेट नहीं किया जा सकता. ज़्यादा विकल्प</translation>
 <translation id="1332501820983677155">Google Chrome सुविधा शॉर्टकट</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">कार्ड में बदलाव करें</translation>
 <translation id="2154710561487035718">URL की कॉपी बनाएं</translation>
 <translation id="2156074688469523661">बाकी साइटें (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">शेयर किया जा रहा है</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, वेब ऐप्लिकेशन. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> के रूप में जारी रखें</translation>
 <translation id="2234876718134438132">सिंक और Google सेवाएं</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">खोज, विज्ञापन, और दूसरी Google सेवाओं को मनमुताबिक बनाने के लिए, Google आपके इतिहास का इस्तेमाल कर सकता है</translation>
 <translation id="5804241973901381774">अनुमतियां</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# घंटा पहले}one{# घंटे पहले}other{# घंटे पहले}}</translation>
+<translation id="5810288467834065221">कॉपीराइट <ph name="YEAR" /> Google LLC. सर्वाधिकार सुरक्षित.</translation>
 <translation id="5817918615728894473">युग्‍मित करें</translation>
 <translation id="583281660410589416">अज्ञात</translation>
 <translation id="5833984609253377421">लिंक शेयर करें</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">साफ़ किया गया Chrome डेटा</translation>
 <translation id="757524316907819857">साइटों को सुरक्षित सामग्री चलाने से रोकें</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> फ़ाइल डाउनलोड की गई}one{<ph name="FILES_DOWNLOADED_MANY" /> फ़ाइलें डाउनलोड की गईं}other{<ph name="FILES_DOWNLOADED_MANY" /> फ़ाइलें डाउनलोड की गईं}}</translation>
+<translation id="7588219262685291874">आपके डिवाइस की 'बैटरी सेवर' सुविधा चालू होने पर 'गहरे रंग वाली थीम' चालू करें</translation>
 <translation id="7589445247086920869">मौजूदा सर्च इंजन के लिए ब्लॉक करें</translation>
 <translation id="7593557518625677601">Android सेटिंग खोलें और Chrome सिंक शुरू करने के लिए Android सिस्टम सिंक फिर से चालू करें</translation>
 <translation id="7596558890252710462">ऑपरेटिंग सिस्टम</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">डाउनलोड सेव करने की जगह</translation>
 <translation id="8274165955039650276">डाउनलोड देखें</translation>
 <translation id="8283853025636624853"><ph name="SYNC_ACCOUNT_USER_NAME" /> से समन्वयित हो रहा है</translation>
+<translation id="8300705686683892304">ऐप्लिकेशन प्रबंधित करता है</translation>
 <translation id="8310344678080805313">मानक टैब</translation>
 <translation id="8313455859591948645">शुरुआती पन्ने में बदलाव करें</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> और कई साइटें</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
index afbb0cf..511cb0c9 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Nikad nemoj prevoditi ovu web-lokaciju</translation>
 <translation id="1291207594882862231">Brisanje povijesti, kolačića, podataka web-lokacija, predmemorije...</translation>
 <translation id="129553762522093515">Nedavno zatvoreno</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – poslano s uređaja <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Da bi se prikazale kartice s vaših ostalih uređaja, prijavite se na Chrome.</translation>
 <translation id="1331212799747679585">Chrome se ne može ažurirati. Više opcija</translation>
 <translation id="1332501820983677155">Prečaci za značajke Google Chromea</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Uredite karticu</translation>
 <translation id="2154710561487035718">Kopiraj URL</translation>
 <translation id="2156074688469523661">Preostale web-lokacije (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Dijeljenje</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, web-aplikacija. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Nastavite kao <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Sinkronizacija i Googleove usluge</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google može upotrebljavati vašu povijest za prilagodbu Pretraživanja, oglasa i drugih Googleovih usluga</translation>
 <translation id="5804241973901381774">Dozvoljeno</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{prije # sata}one{prije # sata}few{prije # sata}other{prije # sati}}</translation>
+<translation id="5810288467834065221">Autorska prava <ph name="YEAR" />. Google LLC. Sva prava pridržana.</translation>
 <translation id="5817918615728894473">Upari</translation>
 <translation id="583281660410589416">Nepoznato</translation>
 <translation id="5833984609253377421">Dijeli vezu</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Chromeovi su podaci izbrisani</translation>
 <translation id="757524316907819857">Web-lokacijama nije dopušteno reproduciranje zaštićenog sadržaja</translation>
 <translation id="757855969265046257">{FILES,plural, =1{Preuzeta je <ph name="FILES_DOWNLOADED_ONE" /> datoteka}one{Preuzeta je <ph name="FILES_DOWNLOADED_MANY" /> datoteka}few{Preuzete su <ph name="FILES_DOWNLOADED_MANY" /> datoteke}other{Preuzeto je <ph name="FILES_DOWNLOADED_MANY" /> datoteka}}</translation>
+<translation id="7588219262685291874">Uključi tamnu temu kada je uključena Štednja baterije na uređaju</translation>
 <translation id="7589445247086920869">Blokiraj za trenutačnu tražilicu</translation>
 <translation id="7593557518625677601">U postavkama omogućite sink. sustava Android da se pokrene Chrome sinkronizacija</translation>
 <translation id="7596558890252710462">Operativni sustav</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Lokacija za preuzimanje</translation>
 <translation id="8274165955039650276">Pregled preuzimanja</translation>
 <translation id="8283853025636624853">Sinkronizira se s računom <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Upravlja aplikacija</translation>
 <translation id="8310344678080805313">Standardne kartice</translation>
 <translation id="8313455859591948645">Uređivanje početne stranice</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> i druge web-lokacije</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
index cf30a49..5bad8b6 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Ezt a webhelyet soha ne fordítsa le</translation>
 <translation id="1291207594882862231">Előzmények, cookie-k, webhelyadatok és a gyorsítótár törlése…</translation>
 <translation id="129553762522093515">Mostanában bezárt</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – A(z) <ph name="DEVICE_NAME" /> eszközről</translation>
 <translation id="1326317727527857210">Ha a többi eszközéről is szeretné elérni a lapjait, jelentkezzen be a Chrome-ba.</translation>
 <translation id="1331212799747679585">A Chrome frissítése nem lehetséges. További lehetőségek</translation>
 <translation id="1332501820983677155">A Google Chrome-funkciók billentyűparancsai</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Kártya szerkesztése</translation>
 <translation id="2154710561487035718">URL másolása</translation>
 <translation id="2156074688469523661">A többi webhely (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Megosztás</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, internetes alkalmazás. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Folytatás mint <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Szinkronizálás és Google</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">A Google felhasználhatja az Ön előzményeit a Keresés, a hirdetések és más Google-szolgáltatások személyre szabására</translation>
 <translation id="5804241973901381774">Engedélyek</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# órája}other{# órája}}</translation>
+<translation id="5810288467834065221">Copyright <ph name="YEAR" /> Google LLC. Minden jog fenntartva.</translation>
 <translation id="5817918615728894473">Párosítás</translation>
 <translation id="583281660410589416">Ismeretlen</translation>
 <translation id="5833984609253377421">Link megosztása</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Chrome-adatok törölve</translation>
 <translation id="757524316907819857">Védett tartalom lejátszásának letiltása a webhelyeken</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> fájl letöltve}other{<ph name="FILES_DOWNLOADED_MANY" /> fájl letöltve}}</translation>
+<translation id="7588219262685291874">Sötét téma bekapcsolása, amikor az eszköz Akkumulátorkímélő módja be van kapcsolva</translation>
 <translation id="7589445247086920869">Tiltja a jelenlegi keresőmotor számára</translation>
 <translation id="7593557518625677601">Aktiválja újra az Android rendszer szinkronizálását a Chrome-szinkronizáláshoz</translation>
 <translation id="7596558890252710462">Operációs rendszer</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Letöltés helye</translation>
 <translation id="8274165955039650276">Letöltések megtekintése</translation>
 <translation id="8283853025636624853">Szinkronizálás a következővel: <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Alkalmazás által kezelt</translation>
 <translation id="8310344678080805313">Szabványos lapok</translation>
 <translation id="8313455859591948645">Kezdőoldal szerkesztése</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> és további webhelyek</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
index f9f3f2d..458bb3f 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">このサイトは翻訳しない</translation>
 <translation id="1291207594882862231">履歴、Cookie、サイトデータ、キャッシュを削除…</translation>
 <translation id="129553762522093515">最近閉じたタブ</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> - <ph name="DEVICE_NAME" /> から送信</translation>
 <translation id="1326317727527857210">他のデバイスと同じタブを使用するには、Chrome にログインします。</translation>
 <translation id="1331212799747679585">Chrome を更新できません。その他のオプション</translation>
 <translation id="1332501820983677155">Google Chrome 機能のショートカット</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">カードを編集</translation>
 <translation id="2154710561487035718">URL をコピー</translation>
 <translation id="2156074688469523661">その他のサイト(<ph name="NUMBER_OF_SITES" /> 件)</translation>
+<translation id="218608176142494674">共有</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" /> はウェブアプリです(<ph name="APP_URL" />)。</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> として続行</translation>
 <translation id="2234876718134438132">同期と Google サービス</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">検索、広告、その他の Google サービスをカスタマイズするために、Google で履歴が使用されることがあります</translation>
 <translation id="5804241973901381774">権限</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# 時間前}other{# 時間前}}</translation>
+<translation id="5810288467834065221">Copyright <ph name="YEAR" /> Google LLC. All rights reserved.</translation>
 <translation id="5817918615728894473">ペア設定</translation>
 <translation id="583281660410589416">不明</translation>
 <translation id="5833984609253377421">リンクを共有</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Chrome データの消去完了</translation>
 <translation id="757524316907819857">サイトでの保護されたコンテンツの再生をブロックする</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> 件のファイルをダウンロードしました}other{<ph name="FILES_DOWNLOADED_MANY" /> 件のファイルをダウンロードしました}}</translation>
+<translation id="7588219262685291874">デバイスがバッテリー セーバー モードの場合にダークテーマを有効にする</translation>
 <translation id="7589445247086920869">現在の検索エンジンに対してブロック</translation>
 <translation id="7593557518625677601">Chrome の同期を開始するには、Android の設定で Android システムの同期を再度有効にします</translation>
 <translation id="7596558890252710462">オペレーティング システム</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">ダウンロード場所</translation>
 <translation id="8274165955039650276">ダウンロードを表示</translation>
 <translation id="8283853025636624853"><ph name="SYNC_ACCOUNT_USER_NAME" /> に同期しています</translation>
+<translation id="8300705686683892304">アプリによる管理</translation>
 <translation id="8310344678080805313">標準のタブ</translation>
 <translation id="8313455859591948645">起動ページの編集</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> とその他のサイト</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 df78d7b..f868b24 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Nekad netulkot šo vietni</translation>
 <translation id="1291207594882862231">Dzēst vēsturi, sīkfailus, vietnes datus, kešatmiņu…</translation>
 <translation id="129553762522093515">Nesen aizvērtas</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> — Nosūtīts no ierīces <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Pierakstieties pārlūkā Chrome, lai būtu pieejamas cilnes no citām jūsu ierīcēm.</translation>
 <translation id="1331212799747679585">Nevar atjaunināt Chrome — citas opcijas</translation>
 <translation id="1332501820983677155">Google Chrome funkciju īsinājumtaustiņi</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Kartes informācijas rediģēšana</translation>
 <translation id="2154710561487035718">Kopēt URL</translation>
 <translation id="2156074688469523661">Pārējās vietnes (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Kopīgošana</translation>
 <translation id="2206488550163399966">Tīmekļa lietotne <ph name="APP_NAME" />. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Turpināt kā: <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Sinhronizēšana un Google pakalp.</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google var izmantot jūsu vēsturi, lai personalizētu Meklēšanu, reklāmas un citus Google pakalpojumus.</translation>
 <translation id="5804241973901381774">Atļaujas</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{pirms # stundas}zero{pirms # stundām}one{pirms # stundas}other{pirms # stundām}}</translation>
+<translation id="5810288467834065221">Autortiesības: <ph name="YEAR" /> Google LLC. Visas tiesības paturētas.</translation>
 <translation id="5817918615728894473">Savienot pārī</translation>
 <translation id="583281660410589416">Nezināms</translation>
 <translation id="5833984609253377421">Kopīgot saiti</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Chrome dati tika notīrīti</translation>
 <translation id="757524316907819857">Neļaut vietnēm atskaņot aizsargātu saturu</translation>
 <translation id="757855969265046257">{FILES,plural, =1{Lejupielādēts <ph name="FILES_DOWNLOADED_ONE" /> fails}zero{Lejupielādēti <ph name="FILES_DOWNLOADED_MANY" /> faili}one{Lejupielādēts <ph name="FILES_DOWNLOADED_MANY" /> fails}other{Lejupielādēti <ph name="FILES_DOWNLOADED_MANY" /> faili}}</translation>
+<translation id="7588219262685291874">Ieslēgt tumšo motīvu, kad ierīcē ir ieslēgts akumulatora jaudas taupīšanas režīms</translation>
 <translation id="7589445247086920869">Aizliegšana pašreizējai meklētājprogrammai</translation>
 <translation id="7593557518625677601">Lai sāktu Chrome sinhronizēšanu, atveriet Android iestatījumus un atkārtoti iespējojiet Android sistēmas sinhronizēšanu</translation>
 <translation id="7596558890252710462">Operētājsistēma</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Lejupielādes atrašanās vieta</translation>
 <translation id="8274165955039650276">Skatīt lejupielādes</translation>
 <translation id="8283853025636624853">Sinhronizēšana ar <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Pārvalda lietotne</translation>
 <translation id="8310344678080805313">Standarta cilnes</translation>
 <translation id="8313455859591948645">Sākumlapas rediģēšana</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> un citas vietnes</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
index c64da77..576a2913 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Nigdy nie tłumacz tej witryny</translation>
 <translation id="1291207594882862231">Wyczyść historię, pliki cookie, dane witryn, pamięć podręczną…</translation>
 <translation id="129553762522093515">Ostatnio zamknięte</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – wysłane z: <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Aby korzystać z kart ze swoich innych urządzeń, zaloguj się w Chrome.</translation>
 <translation id="1331212799747679585">Nie udało się zaktualizować Chrome. Więcej opcji</translation>
 <translation id="1332501820983677155">Skróty do funkcji Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Edytowanie karty</translation>
 <translation id="2154710561487035718">Kopiuj adres URL</translation>
 <translation id="2156074688469523661">Pozostałe strony (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Udostępnianie</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" /> – aplikacja internetowa. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Kontynuuj jako <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Synchronizacja i usługi Google</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google może korzystać z Twojej historii, by personalizować wyniki wyszukiwania, reklamy i działanie innych usług</translation>
 <translation id="5804241973901381774">Uprawnienia</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# godzinę temu}few{# godziny temu}many{# godzin temu}other{# godziny temu}}</translation>
+<translation id="5810288467834065221">Copyright <ph name="YEAR" /> Google LLC. Wszelkie prawa zastrzeżone.</translation>
 <translation id="5817918615728894473">Sparuj</translation>
 <translation id="583281660410589416">Nieznany</translation>
 <translation id="5833984609253377421">Udostępnij link</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Wyczyszczono dane Chrome</translation>
 <translation id="757524316907819857">Blokuj odtwarzanie treści chronionej na stronach</translation>
 <translation id="757855969265046257">{FILES,plural, =1{Pobrano <ph name="FILES_DOWNLOADED_ONE" /> plik}few{Pobrano <ph name="FILES_DOWNLOADED_MANY" /> pliki}many{Pobrano <ph name="FILES_DOWNLOADED_MANY" /> plików}other{Pobrano <ph name="FILES_DOWNLOADED_MANY" /> pliku}}</translation>
+<translation id="7588219262685291874">Włącz ciemny motyw, gdy na urządzeniu jest aktywne oszczędzanie baterii</translation>
 <translation id="7589445247086920869">Blokuj dostęp obecnej wyszukiwarce</translation>
 <translation id="7593557518625677601">Otwórz ustawienia Androida i ponownie włącz jego synchronizację, by uruchomić Synchronizację Chrome</translation>
 <translation id="7596558890252710462">System operacyjny</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Miejsce zapisywania pobranych plików</translation>
 <translation id="8274165955039650276">Zobacz pobrane</translation>
 <translation id="8283853025636624853">Synchronizowanie z kontem <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Zarządzane przez aplikację</translation>
 <translation id="8310344678080805313">Karty standardowe</translation>
 <translation id="8313455859591948645">Zmiana strony startowej</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> i więcej stron</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
index c447664..8e4f82e 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Nunca traduzir este site</translation>
 <translation id="1291207594882862231">Limpar histórico, cookies, dados do site, cache…</translation>
 <translation id="129553762522093515">Recentemente fechadas</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" />: enviado de <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Para ver as guias dos seus outros dispositivos, faça login no Chrome.</translation>
 <translation id="1331212799747679585">Não é possível atualizar o Chrome. Mais opções</translation>
 <translation id="1332501820983677155">Atalhos de recursos do Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Editar cartão</translation>
 <translation id="2154710561487035718">Copiar URL</translation>
 <translation id="2156074688469523661">Sites restantes (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Compartilhamento</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, aplicativo da Web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continuar como <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Serviços do Google e de sincronização</translation>
@@ -649,6 +651,7 @@
 <translation id="5797070761912323120">O Google pode usar seu histórico para personalizar a Pesquisa, os anúncios e outros serviços que ele oferece</translation>
 <translation id="5804241973901381774">Permissões</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# hora atrás}one{# horas atrás}other{# horas atrás}}</translation>
+<translation id="5810288467834065221">Copyright <ph name="YEAR" /> Google LLC. Todos os direitos reservados.</translation>
 <translation id="5817918615728894473">Parear</translation>
 <translation id="583281660410589416">Desconhecido</translation>
 <translation id="5833984609253377421">Compartilhar link</translation>
@@ -901,6 +904,7 @@
 <translation id="756809126120519699">Dados do Chrome apagados</translation>
 <translation id="757524316907819857">Impedir que sites reproduzam conteúdos protegidos</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> arquivo transferido por download}one{<ph name="FILES_DOWNLOADED_MANY" /> arquivo transferido por download}other{<ph name="FILES_DOWNLOADED_MANY" /> arquivos transferidos por download}}</translation>
+<translation id="7588219262685291874">Ativar o tema escuro quando a Economia de bateria do seu dispositivo estiver ativada</translation>
 <translation id="7589445247086920869">Bloquear o mecanismo de pesquisa atual</translation>
 <translation id="7593557518625677601">Abrir configs. Android e reativar sincronização do Android p/ sincronizar Chrome</translation>
 <translation id="7596558890252710462">Sistema operacional</translation>
@@ -999,6 +1003,7 @@
 <translation id="8266862848225348053">Local de download</translation>
 <translation id="8274165955039650276">Ver downloads</translation>
 <translation id="8283853025636624853">Sincronizando com <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Gerenciado por app</translation>
 <translation id="8310344678080805313">Guias padrão</translation>
 <translation id="8313455859591948645">Editar página de inicialização</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> e outros sites</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
index df6f096..5f5ae891 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Nunca traduzir este site</translation>
 <translation id="1291207594882862231">Limpar histórico, cookies, dados de sites, cache…</translation>
 <translation id="129553762522093515">Fechados recentemente</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – Enviado de <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Para obter os separadores dos seus outros dispositivos, inicie sessão no Chrome.</translation>
 <translation id="1331212799747679585">Não é possível atualizar o Chrome. Mais opções.</translation>
 <translation id="1332501820983677155">Atalhos das funcionalidades do Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Editar cartão</translation>
 <translation id="2154710561487035718">Copiar URL</translation>
 <translation id="2156074688469523661">Sites restantes (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Partilha</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, aplicação Web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continuar como <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Sincronização e serviços Google</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">A Google pode utilizar o seu histórico para personalizar a Pesquisa, os anúncios e outros serviços Google.</translation>
 <translation id="5804241973901381774">Permissões</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{Há # hora}other{Há # horas}}</translation>
+<translation id="5810288467834065221">Copyright <ph name="YEAR" /> Google LLC. Todos os direitos reservados.</translation>
 <translation id="5817918615728894473">Sincronizar</translation>
 <translation id="583281660410589416">Desconhecido</translation>
 <translation id="5833984609253377421">Partilhar link</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Dados do Chrome limpos</translation>
 <translation id="757524316907819857">Impedir que os sites reproduzam conteúdos protegidos</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> ficheiro transferido}other{<ph name="FILES_DOWNLOADED_MANY" /> ficheiros transferidos}}</translation>
+<translation id="7588219262685291874">Ativar o tema escuro quando a Poupança de bateria do dispositivo estiver ativada.</translation>
 <translation id="7589445247086920869">Bloquear o motor de pesquisa atual</translation>
 <translation id="7593557518625677601">Abrir definiç. Android e reativar sinc. sistema Android p/ iniciar sinc. Chrome</translation>
 <translation id="7596558890252710462">Sistema operativo</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Localização da transferência</translation>
 <translation id="8274165955039650276">Ver transferências</translation>
 <translation id="8283853025636624853">A sincronizar com <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Geridos por aplicação</translation>
 <translation id="8310344678080805313">Separadores padrão</translation>
 <translation id="8313455859591948645">Editar página inicial</translation>
 <translation id="8316092324682955408">De <ph name="DOMAIN_NAME" /> e de mais sites</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
index 1e03c70..441e381 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Nu traduce niciodată acest site</translation>
 <translation id="1291207594882862231">Șterge istoricul, cookie-urile, datele privind site-urile și memoria cache…</translation>
 <translation id="129553762522093515">Închise recent</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – Trimis de la <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Pentru a accesa filele de pe alte dispozitive, conectează-te la Chrome.</translation>
 <translation id="1331212799747679585">Chrome nu se poate actualiza. Mai multe opțiuni</translation>
 <translation id="1332501820983677155">Comenzi rapide pentru funcțiile Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Editează cardul</translation>
 <translation id="2154710561487035718">Copiați adresa URL</translation>
 <translation id="2156074688469523661">Site-uri rămase (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Trimitere</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, aplicație web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continuă ca <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Sincronizarea și serviciile Google</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google poate folosi istoricul pentru a personaliza Căutarea, anunțurile și alte servicii Google</translation>
 <translation id="5804241973901381774">Permisiuni</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{Acum # oră}few{Acum # ore}other{Acum # de ore}}</translation>
+<translation id="5810288467834065221">Drept de autor <ph name="YEAR" /> Google LLC. Toate drepturile rezervate.</translation>
 <translation id="5817918615728894473">Asociază</translation>
 <translation id="583281660410589416">Necunoscut</translation>
 <translation id="5833984609253377421">Trimite linkul</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Datele Chrome au fost șterse</translation>
 <translation id="757524316907819857">Împiedică site-urile să redea conținutul protejat</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> fișier descărcat}few{<ph name="FILES_DOWNLOADED_MANY" /> fișiere descărcate}other{<ph name="FILES_DOWNLOADED_MANY" /> de fișiere descărcate}}</translation>
+<translation id="7588219262685291874">Activează tema întunecată când este activată Economisirea bateriei pentru dispozitiv</translation>
 <translation id="7589445247086920869">Blochează pentru motorul de căutare actual</translation>
 <translation id="7593557518625677601">Deschide setările Android și reactivează sincronizarea sistemului Android pentru a porni sincronizarea Chrome</translation>
 <translation id="7596558890252710462">Sistem de operare</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Locația de descărcare</translation>
 <translation id="8274165955039650276">Vezi descărcările</translation>
 <translation id="8283853025636624853">Se sincronizează cu <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Gestionat de aplicație</translation>
 <translation id="8310344678080805313">File standard</translation>
 <translation id="8313455859591948645">Editează pagina de pornire</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> și alte site-uri</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
index bf898a7..4dba7e4 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
@@ -702,7 +702,7 @@
 <translation id="6194112207524046168">Чтобы Chrome получил доступ к камере, включите ее в <ph name="BEGIN_LINK" />настройках Android<ph name="END_LINK" />.</translation>
 <translation id="6196640612572343990">Блокировать сторонние файлы cookie</translation>
 <translation id="6206551242102657620">Подключение защищено. Информация о сайте</translation>
-<translation id="6210748933810148297">Не <ph name="EMAIL" />?</translation>
+<translation id="6210748933810148297"><ph name="EMAIL" /> не ваш аккаунт?</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" />: параметры</translation>
 <translation id="6221633008163990886">Чтобы экспортировать пароли, разблокируйте экран</translation>
 <translation id="6232535412751077445">Если вы запретите отслеживание, в запросы браузера будет включена специальная команда. Сайты могут интерпретировать ее и отвечать на нее по-разному.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
index bbfefd3..9049c16 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Nikdy neprekladať tieto webové stránky</translation>
 <translation id="1291207594882862231">Vymazať históriu, súbory cookie, dáta webov, vyrovnávaciu pamäť…</translation>
 <translation id="129553762522093515">Nedávno zatvorené</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – odoslané zo zariadenia <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Ak chcete získať karty z ďalších svojich zariadení, prihláste sa do Chromu.</translation>
 <translation id="1331212799747679585">Chrome sa nedá aktualizovať. Ďalšie možnosti</translation>
 <translation id="1332501820983677155">Skratky pre funkcie prehliadača Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Úprava karty</translation>
 <translation id="2154710561487035718">Kopírovať webovú adresu</translation>
 <translation id="2156074688469523661">Zostávajúce weby (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Zdieľanie</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, webová aplikácia: <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Pokračovať ako <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Synchronizácia a služby Googlu</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google môže pomocou vašej histórie prispôsobiť Vyhľadávanie, reklamy a ďalšie služby Googlu</translation>
 <translation id="5804241973901381774">Povolenia</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{pred # hodinou}few{pred # hodinami}many{pred # hodinou}other{pred # hodinami}}</translation>
+<translation id="5810288467834065221">Copyright <ph name="YEAR" /> Google LLC. Všetky práva vyhradené.</translation>
 <translation id="5817918615728894473">Párovať</translation>
 <translation id="583281660410589416">Neznáme</translation>
 <translation id="5833984609253377421">Zdieľať odkaz</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Údaje Chromu boli vymazané</translation>
 <translation id="757524316907819857">Zakázať webom prehrávať chránený obsah</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> stiahnutý súbor}few{<ph name="FILES_DOWNLOADED_MANY" /> stiahnuté súbory}many{<ph name="FILES_DOWNLOADED_MANY" /> files downloaded}other{<ph name="FILES_DOWNLOADED_MANY" /> stiahnutých súborov}}</translation>
+<translation id="7588219262685291874">Zapnúť tmavý motív, keď je v zariadení zapnutý šetrič batérie</translation>
 <translation id="7589445247086920869">Blokovať pre aktuálny vyhľadávač</translation>
 <translation id="7593557518625677601">V nastaveniach Androidu spustite synchronizáciu Chromu opätovným povolením synchronizácie Androidu</translation>
 <translation id="7596558890252710462">Operačný systém</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Umiestnenie sťahovaných súborov</translation>
 <translation id="8274165955039650276">Zobraziť stiahnuté</translation>
 <translation id="8283853025636624853">Synchronizácia do účtu <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Spravované aplikáciou</translation>
 <translation id="8310344678080805313">Štandardné karty</translation>
 <translation id="8313455859591948645">Úprava stránky pri spustení</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> a ďalšie weby</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
index e1fef9c..05cdb71c 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Никад не преводи овај сајт</translation>
 <translation id="1291207594882862231">Обришите историју, колачиће, податке о сајтовима, кеш...</translation>
 <translation id="129553762522093515">Недавно затворено</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – послато је са уређаја <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Да би вам картице биле доступне на другим уређајима, пријавите се у Chrome.</translation>
 <translation id="1331212799747679585">Chrome не може да се ажурира. Још опција</translation>
 <translation id="1332501820983677155">Пречице за Google Chrome функције</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Измените картицу</translation>
 <translation id="2154710561487035718">Копирање URL адресе</translation>
 <translation id="2156074688469523661">Преостали сајтови (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Дељење</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, веб-апликација. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Настави као <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Синхронизација и Google услуге</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google може да користи историју за персонализацију Претраге, огласа и других Google услуга</translation>
 <translation id="5804241973901381774">Дозволе</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{Пре # сата}one{Пре # сата}few{Пре # сата}other{Пре # сати}}</translation>
+<translation id="5810288467834065221">Ауторска права <ph name="YEAR" />. Google LLC. Сва права задржана.</translation>
 <translation id="5817918615728894473">Упари</translation>
 <translation id="583281660410589416">Непознато</translation>
 <translation id="5833984609253377421">Дели линк</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Chrome подаци су обрисани</translation>
 <translation id="757524316907819857">Блокирај да сајтови пуштају заштићени садржај</translation>
 <translation id="757855969265046257">{FILES,plural, =1{Преузели сте <ph name="FILES_DOWNLOADED_ONE" /> датотеку}one{Преузели сте <ph name="FILES_DOWNLOADED_MANY" /> датотеку}few{Преузели сте <ph name="FILES_DOWNLOADED_MANY" /> датотеке}other{Преузели сте <ph name="FILES_DOWNLOADED_MANY" /> датотека}}</translation>
+<translation id="7588219262685291874">Укључи тамну тему када је Уштеда батерије на уређају укључена</translation>
 <translation id="7589445247086920869">Блокирај за актуелни претраживач</translation>
 <translation id="7593557518625677601">Отворите Android подешавања и поново омогућите синхронизацију Android система да бисте започели Chrome синхронизацију</translation>
 <translation id="7596558890252710462">Оперативни систем</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Локација за преузимање</translation>
 <translation id="8274165955039650276">Погледајте преузимања</translation>
 <translation id="8283853025636624853">Синхронизује се са <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Управља апликација</translation>
 <translation id="8310344678080805313">Стандардне картице</translation>
 <translation id="8313455859591948645">Измените почетну страницу</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> и још сајтова</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
index c5b72960..d725f27 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">Översätt aldrig den här webbplatsen</translation>
 <translation id="1291207594882862231">Rensa historiken, cookies, webbplatsdata, cacheminnet …</translation>
 <translation id="129553762522093515">Nyligen stängda</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> – Skickades från <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">Logga in i Chrome om du vill ha samma flikar tillgängliga på alla enheter.</translation>
 <translation id="1331212799747679585">Det går inte att uppdatera Chrome. Fler alternativ</translation>
 <translation id="1332501820983677155">Kortkommandon för funktioner i Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">Redigera kortet</translation>
 <translation id="2154710561487035718">Kopiera webbadress</translation>
 <translation id="2156074688469523661">Återstående webbplatser (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">Delar</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, webbapp. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Fortsätt som <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">Synk och Googles tjänster</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google kan anpassa Sök, annonser och andra Google-tjänster utifrån historiken</translation>
 <translation id="5804241973901381774">Behörigheter</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{för # timme sedan}other{för # timmar sedan}}</translation>
+<translation id="5810288467834065221">Copyright <ph name="YEAR" /> Google LLC. Med ensamrätt.</translation>
 <translation id="5817918615728894473">Koppla</translation>
 <translation id="583281660410589416">Okänd</translation>
 <translation id="5833984609253377421">Dela länk</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">Data i Chrome har rensats</translation>
 <translation id="757524316907819857">Blockera webbplatser från att spela upp skyddat innehåll</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> fil har laddats ned}other{<ph name="FILES_DOWNLOADED_MANY" /> filer har laddats ned}}</translation>
+<translation id="7588219262685291874">Aktivera mörkt tema när enhetens batterisparläge är på</translation>
 <translation id="7589445247086920869">Blockera för den nuvarande sökmotorn</translation>
 <translation id="7593557518625677601">Återaktivera synkronisering i Android-inställningarna så börjar Chrome synkas</translation>
 <translation id="7596558890252710462">Operativsystem</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">Nedladdningsplats</translation>
 <translation id="8274165955039650276">Visa nedladdningar</translation>
 <translation id="8283853025636624853">Synkroniseras med <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">Hanteras av app</translation>
 <translation id="8310344678080805313">Standardflikar</translation>
 <translation id="8313455859591948645">Redigera startfliken</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> och fler webbplatser</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ta.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ta.xtb
index 9741d890..57985af 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ta.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ta.xtb
@@ -43,7 +43,7 @@
 <translation id="1272079795634619415">நிறுத்து</translation>
 <translation id="1283039547216852943">விரிவாக்க, தட்டவும்</translation>
 <translation id="1285320974508926690">இந்த தளத்தை எப்போதும் மொழிபெயர்க்க வேண்டாம்</translation>
-<translation id="1291207594882862231">வரலாறு, குக்கீகள், தளத் தரவு, தற்காலிக சேமிப்பை அழி…</translation>
+<translation id="1291207594882862231">வரலாறு, குக்கீகள், தளத் தரவு, தற்காலிகச் சேமிப்பை அழி…</translation>
 <translation id="129553762522093515">சமீபத்தில் மூடியவை</translation>
 <translation id="1326317727527857210">உங்கள் பிற சாதனங்களிலிருந்து தாவல்களைப் பெற, Chrome இல் உள்நுழையவும்.</translation>
 <translation id="1331212799747679585">Chromeமைப் புதுப்பிக்க முடியாது. கூடுதல் விருப்பங்கள்</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
index 30c24415..74b0ff280 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
@@ -45,6 +45,7 @@
 <translation id="1285320974508926690">ไม่ต้องแปลไซต์นี้</translation>
 <translation id="1291207594882862231">ล้างประวัติการเข้าชม คุกกี้ ข้อมูลเว็บไซต์ แคช…</translation>
 <translation id="129553762522093515">เพิ่งปิด</translation>
+<translation id="1303507811548703290"><ph name="DOMAIN" /> - ส่งจาก <ph name="DEVICE_NAME" /></translation>
 <translation id="1326317727527857210">ลงชื่อเข้าใช้ Chrome เพื่อรับแท็บจากอุปกรณ์เครื่องอื่นๆ ของคุณ</translation>
 <translation id="1331212799747679585">อัปเดต Chrome ไม่ได้ ตัวเลือกอื่นๆ</translation>
 <translation id="1332501820983677155">แป้นพิมพ์ลัดสำหรับฟีเจอร์ของ Google Chrome</translation>
@@ -170,6 +171,7 @@
 <translation id="2154484045852737596">แก้ไขบัตร</translation>
 <translation id="2154710561487035718">คัดลอก URL</translation>
 <translation id="2156074688469523661">เว็บไซต์ที่เหลือ (<ph name="NUMBER_OF_SITES" />)</translation>
+<translation id="218608176142494674">การแชร์</translation>
 <translation id="2206488550163399966">เว็บแอป <ph name="APP_NAME" />, <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">ดำเนินการต่อในชื่อ <ph name="USER_FULL_NAME" /></translation>
 <translation id="2234876718134438132">การซิงค์และบริการของ Google</translation>
@@ -648,6 +650,7 @@
 <translation id="5797070761912323120">Google อาจใช้ประวัติการเข้าชมเพื่อปรับเปลี่ยน Search, โฆษณา และบริการอื่นๆ ของ Google ให้เข้ากับคุณ</translation>
 <translation id="5804241973901381774">การอนุญาต</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# ชั่วโมงที่ผ่านมา}other{# ชั่วโมงที่ผ่านมา}}</translation>
+<translation id="5810288467834065221">ลิขสิทธิ์ <ph name="YEAR" /> Google LLC สงวนลิขสิทธิ์</translation>
 <translation id="5817918615728894473">จับคู่</translation>
 <translation id="583281660410589416">ไม่รู้จัก</translation>
 <translation id="5833984609253377421">แชร์ลิงก์</translation>
@@ -900,6 +903,7 @@
 <translation id="756809126120519699">ล้างข้อมูล Chrome แล้ว</translation>
 <translation id="757524316907819857">บล็อกไม่ให้เว็บไซต์เล่นเนื้อหาที่ได้รับความคุ้มครอง</translation>
 <translation id="757855969265046257">{FILES,plural, =1{ดาวน์โหลดแล้ว <ph name="FILES_DOWNLOADED_ONE" /> ไฟล์}other{ดาวน์โหลดแล้ว <ph name="FILES_DOWNLOADED_MANY" /> ไฟล์}}</translation>
+<translation id="7588219262685291874">เปิดธีมสีเข้มเมื่อโหมดประหยัดแบตเตอรี่ของอุปกรณ์เปิดอยู่</translation>
 <translation id="7589445247086920869">บล็อกสำหรับเครื่องมือค้นหาปัจจุบัน</translation>
 <translation id="7593557518625677601">เปิดการตั้งค่า Android และเปิดการซิงค์ Android ใหม่เพื่อเริ่มการซิงค์ของ Chrome</translation>
 <translation id="7596558890252710462">ระบบปฏิบัติการ</translation>
@@ -998,6 +1002,7 @@
 <translation id="8266862848225348053">ตำแหน่งที่ดาวน์โหลด</translation>
 <translation id="8274165955039650276">ดูการดาวน์โหลด</translation>
 <translation id="8283853025636624853">กำลังซิงค์กับ <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
+<translation id="8300705686683892304">จัดการโดยแอป</translation>
 <translation id="8310344678080805313">แท็บมาตรฐาน</translation>
 <translation id="8313455859591948645">แก้ไขหน้าเริ่มต้นใช้งาน</translation>
 <translation id="8316092324682955408"><ph name="DOMAIN_NAME" /> และเว็บไซต์อื่นๆ</translation>
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/ChromeAnimationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/ChromeAnimationTest.java
deleted file mode 100644
index e689ceb..0000000
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/ChromeAnimationTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright 2016 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.compositor.layouts;
-
-import static org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.AnimatableAnimation.createAnimation;
-
-import android.os.SystemClock;
-import android.support.annotation.IntDef;
-import android.support.test.filters.SmallTest;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.chromium.base.test.util.Feature;
-import org.chromium.chrome.browser.compositor.animation.CompositorAnimator;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable;
-import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Unit tests for {@link org.chromium.chrome.browser.compositor.layouts.ChromeAnimation}.
- */
-@RunWith(ChromeJUnit4ClassRunner.class)
-public class ChromeAnimationTest implements Animatable {
-    @IntDef({Property.FAST_ANIMATION, Property.SLOW_ANIMATION})
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface Property {
-        int FAST_ANIMATION = 0;
-        int SLOW_ANIMATION = 1;
-    }
-
-    private static final long FAST_DURATION = 100;
-    private static final long SLOW_DURATION = 1000;
-
-    private ChromeAnimation<Animatable> mAnimations;
-
-    private boolean mHasFinishedFastAnimation;
-    private boolean mHasFinishedSlowAnimation;
-
-    @Before
-    public void setUp() throws Exception {
-        mHasFinishedFastAnimation = false;
-        mHasFinishedSlowAnimation = false;
-        ChromeAnimation.Animation.setAnimationMultiplierForTesting(1f);
-    }
-
-    @After
-    public void tearDown() {
-        ChromeAnimation.Animation.unsetAnimationMultiplierForTesting();
-    }
-
-    @Override
-    public void setProperty(@Property int prop, float val) {}
-
-    @Override
-    public void onPropertyAnimationFinished(@Property int prop) {
-        if (prop == Property.FAST_ANIMATION) {
-            mHasFinishedFastAnimation = true;
-        } else if (prop == Property.SLOW_ANIMATION) {
-            mHasFinishedSlowAnimation = true;
-        }
-    }
-
-    /**
-     * Creates an {@link org.chromium.chrome.browser.compositor.layouts.ChromeAnimation.Animatable}
-     * and adds it to the animation.
-     * Automatically sets the start value at the beginning of the animation.
-     *
-     * @param <T>                     The Enum type of the Property being used
-     * @param object                  The object being animated
-     * @param prop                    The property being animated
-     * @param start                   The starting value of the animation
-     * @param end                     The ending value of the animation
-     * @param duration                The duration of the animation in ms
-     * @param startTime               The start time in ms
-     */
-    private void addToAnimation(
-            Animatable object, int prop, float start, float end, long duration, long startTime) {
-        ChromeAnimation.Animation<Animatable> component = createAnimation(object, prop, start, end,
-                duration, startTime, false, CompositorAnimator.DECELERATE_INTERPOLATOR);
-        addToAnimation(component);
-    }
-
-    /**
-     * Appends an Animation to the current animation set and starts it immediately.  If the set is
-     * already finished or doesn't exist, the animation set is also started.
-     */
-    private void addToAnimation(ChromeAnimation.Animation<Animatable> component) {
-        if (mAnimations == null || mAnimations.finished()) {
-            mAnimations = new ChromeAnimation<>();
-            mAnimations.start();
-        }
-        component.start();
-        mAnimations.add(component);
-    }
-
-    @Test
-    @SmallTest
-    @Feature({"ContextualSearch"})
-    public void testConcurrentAnimationsFinishSeparately() {
-        addToAnimation(this, Property.FAST_ANIMATION, 0.f, 1.f, FAST_DURATION, 0);
-        addToAnimation(this, Property.SLOW_ANIMATION, 0.f, 1.f, SLOW_DURATION, 0);
-
-        // Update the animation with the current time. This will internally set the initial
-        // time of the animation to |now|.
-        long now = SystemClock.uptimeMillis();
-        mAnimations.update(now);
-
-        // Advances time to check that the fast animation will finish first.
-        mAnimations.update(now + FAST_DURATION);
-        Assert.assertTrue(mHasFinishedFastAnimation);
-        Assert.assertFalse(mHasFinishedSlowAnimation);
-
-        // Advances time to check that all animations are finished.
-        mAnimations.update(now + SLOW_DURATION);
-        Assert.assertTrue(mHasFinishedFastAnimation);
-        Assert.assertTrue(mHasFinishedSlowAnimation);
-    }
-}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserWebInputEditingTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserWebInputEditingTest.java
index 9d81db0..c1722bca 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserWebInputEditingTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserWebInputEditingTest.java
@@ -439,6 +439,9 @@
     @Feature({"Browser", "RenderTest"})
     public void testFullscreenVideoControls()
             throws InterruptedException, TimeoutException, IOException {
+        // There's occasionally slight AA differences along the play button, so tolerate a small
+        // amount of differing.
+        mRenderTestRule.setPixelDiffThreshold(2);
         VrBrowserTransitionUtils.forceEnterVrBrowserOrFail(POLL_TIMEOUT_LONG_MS);
         NativeUiUtils.enableMockedInput();
         mVrBrowserTestFramework.loadUrlAndAwaitInitialization(
diff --git a/chrome/android/touchless/java/res/layout/new_tab_page_touchless_view.xml b/chrome/android/touchless/java/res/layout/new_tab_page_touchless_view.xml
index 936f7c7..0019fd06 100644
--- a/chrome/android/touchless/java/res/layout/new_tab_page_touchless_view.xml
+++ b/chrome/android/touchless/java/res/layout/new_tab_page_touchless_view.xml
@@ -7,7 +7,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
-    <org.chromium.chrome.browser.suggestions.SuggestionsRecyclerView
+    <org.chromium.chrome.browser.touchless.TouchlessRecyclerView
         android:id="@+id/suggestions_recycler_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/AboveTheFoldViewHolder.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/AboveTheFoldViewHolder.java
new file mode 100644
index 0000000..fa6ab58
--- /dev/null
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/AboveTheFoldViewHolder.java
@@ -0,0 +1,63 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.touchless;
+
+import android.os.Bundle;
+import android.support.annotation.IntDef;
+import android.view.View;
+
+import org.chromium.base.Callback;
+import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Custom ViewHolder for the last tab button and site suggestions carousel. Handles restore focus
+ * for those components.
+ */
+public class AboveTheFoldViewHolder extends NewTabPageViewHolder {
+    private static final String FOCUS_TYPE_KEY = "FTK";
+
+    @IntDef({FocusType.UNKNOWN, FocusType.LAST_TAB_BUTTON, FocusType.SITE_SUGGESTIONS})
+    @Retention(RetentionPolicy.SOURCE)
+    private @interface FocusType {
+        int UNKNOWN = 0;
+        int LAST_TAB_BUTTON = 1;
+        int SITE_SUGGESTIONS = 2;
+    }
+
+    private final Map<Integer, FocusableComponent> mComponents;
+
+    public AboveTheFoldViewHolder(View itemView, FocusableComponent focusableOpenLastTab,
+            FocusableComponent focusableSiteSuggestions) {
+        super(itemView);
+        mComponents = new HashMap<>();
+        mComponents.put(FocusType.LAST_TAB_BUTTON, focusableOpenLastTab);
+        mComponents.put(FocusType.SITE_SUGGESTIONS, focusableSiteSuggestions);
+    }
+
+    @Override
+    public void requestFocusWithBundle(Bundle focusBundle) {
+        @FocusType
+        int type = focusBundle.getInt(FOCUS_TYPE_KEY);
+        if (mComponents.containsKey(type)) {
+            mComponents.get(type).requestFocus();
+        }
+    }
+
+    @Override
+    public void setOnFocusListener(Callback<Bundle> callback) {
+        for (Map.Entry<Integer, FocusableComponent> kv : mComponents.entrySet()) {
+            kv.getValue().setOnFocusListener(() -> {
+                Bundle focusBundle = new Bundle();
+                focusBundle.putInt(FOCUS_TYPE_KEY, kv.getKey());
+                callback.onResult(focusBundle);
+            });
+        }
+    }
+}
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/FocusableComponent.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/FocusableComponent.java
new file mode 100644
index 0000000..81e1830
--- /dev/null
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/FocusableComponent.java
@@ -0,0 +1,20 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.touchless;
+
+/**
+ * Mediators for focusable UI components can implement this to participate in focus save/restore for
+ * a page.
+ */
+public interface FocusableComponent {
+    /** Signals that the component should try to focus itself as soon as possible. */
+    void requestFocus();
+
+    /**
+     * Sets a single callback to be invoked when the component is focused. Calling this multiple
+     * times will override the previous listeners.
+     */
+    void setOnFocusListener(Runnable onFocus);
+}
\ No newline at end of file
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabCoordinator.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabCoordinator.java
index 0cf5f4c..1e36fa48 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabCoordinator.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabCoordinator.java
@@ -17,15 +17,21 @@
 class OpenLastTabCoordinator {
     private final OpenLastTabMediator mMediator;
 
-    OpenLastTabCoordinator(
-            Context context, Profile profile, NativePageHost nativePageHost, OpenLastTabView view) {
-        PropertyModel model = new PropertyModel.Builder(OpenLastTabProperties.ALL_KEYS).build();
+    OpenLastTabCoordinator(Context context, Profile profile, NativePageHost nativePageHost,
+            OpenLastTabView view, TouchlessLayoutManager layoutManager) {
+        PropertyModel model = new PropertyModel.Builder(OpenLastTabProperties.ALL_KEYS)
+                                      .with(OpenLastTabProperties.ASYNC_FOCUS_DELEGATE,
+                                              layoutManager.createCallbackToSetViewToFocus())
+                                      .build();
         PropertyModelChangeProcessor.create(model, view, OpenLastTabViewBinder::bind);
 
         mMediator = new OpenLastTabMediator(context, profile, nativePageHost, model, view);
     }
 
-    void destroy() {
+    public void destroy() {
         mMediator.destroy();
     }
+    public FocusableComponent getFocusableComponent() {
+        return mMediator;
+    }
 }
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabMediator.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabMediator.java
index 1911c54..68ef4f8d 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabMediator.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabMediator.java
@@ -30,7 +30,7 @@
  * Mediator used to look for history events and update the model accordingly.
  */
 // TODO(crbug.com/948858): Add unit tests for this behavior.
-class OpenLastTabMediator implements HistoryProvider.BrowsingHistoryObserver {
+class OpenLastTabMediator implements HistoryProvider.BrowsingHistoryObserver, FocusableComponent {
     private final Context mContext;
     private final Profile mProfile;
     private final NativePageHost mNativePageHost;
@@ -68,6 +68,16 @@
     }
 
     @Override
+    public void requestFocus() {
+        mModel.set(OpenLastTabProperties.SHOULD_FOCUS_VIEW, true);
+    }
+
+    @Override
+    public void setOnFocusListener(Runnable listener) {
+        mModel.set(OpenLastTabProperties.ON_FOCUS_CALLBACK, listener);
+    }
+
+    @Override
     public void onQueryHistoryComplete(List<HistoryItem> items, boolean hasMorePotentialMatches) {
         if (items.size() == 0) {
             // Consider the case where the history has nothing in it to be a failure.
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabProperties.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabProperties.java
index 99970e4..d89c627d 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabProperties.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabProperties.java
@@ -7,6 +7,7 @@
 import android.graphics.Bitmap;
 import android.view.View;
 
+import org.chromium.base.Callback;
 import org.chromium.ui.modelutil.PropertyKey;
 import org.chromium.ui.modelutil.PropertyModel;
 
@@ -27,8 +28,18 @@
     public static final PropertyModel.WritableBooleanPropertyKey OPEN_LAST_TAB_LOAD_SUCCESS =
             new PropertyModel.WritableBooleanPropertyKey();
 
+    public static final PropertyModel.WritableObjectPropertyKey<Runnable> ON_FOCUS_CALLBACK =
+            new PropertyModel.WritableObjectPropertyKey<>();
+
+    public static final PropertyModel.WritableBooleanPropertyKey SHOULD_FOCUS_VIEW =
+            new PropertyModel.WritableBooleanPropertyKey();
+
+    public static final PropertyModel
+            .ReadableObjectPropertyKey<Callback<View>> ASYNC_FOCUS_DELEGATE =
+            new PropertyModel.ReadableObjectPropertyKey<>();
+
     // Property keys for the open last tab button.
     public static final PropertyKey[] ALL_KEYS = {OPEN_LAST_TAB_ON_CLICK_LISTENER,
             OPEN_LAST_TAB_FAVICON, OPEN_LAST_TAB_TITLE, OPEN_LAST_TAB_TIMESTAMP,
-            OPEN_LAST_TAB_LOAD_SUCCESS};
+            OPEN_LAST_TAB_LOAD_SUCCESS, ON_FOCUS_CALLBACK, SHOULD_FOCUS_VIEW, ASYNC_FOCUS_DELEGATE};
 }
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabView.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabView.java
index a4ebf21..ebc16087 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabView.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabView.java
@@ -15,6 +15,7 @@
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
+import org.chromium.base.Callback;
 import org.chromium.chrome.touchless.R;
 
 /**
@@ -28,6 +29,7 @@
     private ImageView mIconView;
     private TextView mTitleText;
     private TextView mTimestampText;
+    private Callback<View> mAsyncFocusDelegate;
 
     public OpenLastTabView(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -73,4 +75,22 @@
     void setTimestamp(String timestamp) {
         mTimestampText.setText(timestamp);
     }
+
+    void setOnFocusCallback(Runnable callback) {
+        mLastTabView.setOnFocusChangeListener((View view, boolean hasFocus) -> {
+            if (hasFocus) {
+                callback.run();
+            }
+        });
+    }
+
+    void triggerRequestFocus() {
+        if (mAsyncFocusDelegate != null) {
+            mAsyncFocusDelegate.onResult(mLastTabView);
+        }
+    }
+
+    void setAsyncFocusDelegate(Callback<View> asyncFocusDelegate) {
+        mAsyncFocusDelegate = asyncFocusDelegate;
+    }
 }
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabViewBinder.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabViewBinder.java
index 3cc5d36..2222034 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabViewBinder.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabViewBinder.java
@@ -23,6 +23,13 @@
             view.setTimestamp(model.get(OpenLastTabProperties.OPEN_LAST_TAB_TIMESTAMP));
         } else if (propertyKey == OpenLastTabProperties.OPEN_LAST_TAB_LOAD_SUCCESS) {
             view.setLoadSuccess(model.get(OpenLastTabProperties.OPEN_LAST_TAB_LOAD_SUCCESS));
+        } else if (propertyKey == OpenLastTabProperties.ON_FOCUS_CALLBACK) {
+            view.setOnFocusCallback(model.get(OpenLastTabProperties.ON_FOCUS_CALLBACK));
+        } else if (propertyKey == OpenLastTabProperties.SHOULD_FOCUS_VIEW) {
+            if (model.get(OpenLastTabProperties.SHOULD_FOCUS_VIEW)) view.triggerRequestFocus();
+            model.set(OpenLastTabProperties.SHOULD_FOCUS_VIEW, false);
+        } else if (propertyKey == OpenLastTabProperties.ASYNC_FOCUS_DELEGATE) {
+            view.setAsyncFocusDelegate(model.get(OpenLastTabProperties.ASYNC_FOCUS_DELEGATE));
         } else {
             assert false : "Unhandled property detected.";
         }
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsAdapter.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsAdapter.java
index 6f7d558..2024e1a 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsAdapter.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsAdapter.java
@@ -4,15 +4,19 @@
 
 package org.chromium.chrome.browser.touchless;
 
+import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.ASYNC_FOCUS_DELEGATE;
 import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.CURRENT_INDEX_KEY;
 import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.ITEM_COUNT_KEY;
+import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.ON_FOCUS_CALLBACK;
 import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.REMOVAL_KEY;
+import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.SHOULD_FOCUS_VIEW;
 import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.SUGGESTIONS_KEY;
 
 import android.support.annotation.IntDef;
 import android.support.annotation.Nullable;
 import android.support.graphics.drawable.VectorDrawableCompat;
 import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
 import android.view.ContextMenu;
 import android.view.View;
 import android.widget.TextView;
@@ -33,7 +37,7 @@
 import java.lang.annotation.RetentionPolicy;
 
 /**
- * Recycler view adapter for Touchless Suggestions carousel.
+ * Recycler view adapter and view binder for Touchless Suggestions carousel.
  *
  * Allows for an almost-infinite side-scrolling carousel with snapping focus in the center if
  * there are 2 or more items; does not scroll if there is 1 or fewer items.
@@ -102,6 +106,8 @@
     private LinearLayoutManager mLayoutManager;
     private TextView mTitleView;
 
+    private final RecyclerView mRecyclerView;
+
     /**
      * @param model the main property model coming from {@link SiteSuggestionsCoordinator}.
      * @param iconGenerator an icon generator for creating icons.
@@ -112,13 +118,14 @@
      */
     SiteSuggestionsAdapter(PropertyModel model, RoundedIconGenerator iconGenerator,
             SuggestionsNavigationDelegate navigationDelegate, ContextMenuManager contextMenuManager,
-            LinearLayoutManager layoutManager, TextView titleView) {
+            LinearLayoutManager layoutManager, TextView titleView, RecyclerView recyclerView) {
         mModel = model;
         mIconGenerator = iconGenerator;
         mNavDelegate = navigationDelegate;
         mContextMenuManager = contextMenuManager;
         mLayoutManager = layoutManager;
         mTitleView = titleView;
+        mRecyclerView = recyclerView;
 
         mModel.get(SUGGESTIONS_KEY).addObserver(this);
         mModel.addObserver(this);
@@ -147,6 +154,9 @@
         tile.setOnFocusChangeListener((View v, boolean hasFocus) -> {
             if (hasFocus) {
                 mModel.set(CURRENT_INDEX_KEY, position);
+                if (mModel.get(ON_FOCUS_CALLBACK) != null) {
+                    mModel.get(ON_FOCUS_CALLBACK).run();
+                }
             }
         });
 
@@ -200,6 +210,10 @@
                                            .get(position % itemCount - 1)
                                            .get(SiteSuggestionModel.TITLE_KEY));
             }
+        } else if (propertyKey == SHOULD_FOCUS_VIEW && mModel.get(SHOULD_FOCUS_VIEW)
+                && mModel.get(ASYNC_FOCUS_DELEGATE) != null) {
+            mModel.get(ASYNC_FOCUS_DELEGATE).onResult(mRecyclerView);
+            mModel.set(SHOULD_FOCUS_VIEW, false);
         }
     }
 
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsCoordinator.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsCoordinator.java
index a828407..4fca165 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsCoordinator.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsCoordinator.java
@@ -11,6 +11,7 @@
 import android.view.View;
 import android.view.ViewStub;
 
+import org.chromium.base.Callback;
 import org.chromium.chrome.browser.native_page.ContextMenuManager;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.suggestions.ImageFetcher;
@@ -36,17 +37,27 @@
             new PropertyModel.WritableIntPropertyKey();
     static final PropertyModel.WritableObjectPropertyKey<String> REMOVAL_KEY =
             new PropertyModel.WritableObjectPropertyKey<>();
+    public static final PropertyModel.WritableObjectPropertyKey<Runnable> ON_FOCUS_CALLBACK =
+            new PropertyModel.WritableObjectPropertyKey<>();
+    public static final PropertyModel.WritableBooleanPropertyKey SHOULD_FOCUS_VIEW =
+            new PropertyModel.WritableBooleanPropertyKey();
+    public static final PropertyModel
+            .ReadableObjectPropertyKey<Callback<View>> ASYNC_FOCUS_DELEGATE =
+            new PropertyModel.ReadableObjectPropertyKey<>();
 
     private SiteSuggestionsMediator mMediator;
 
     SiteSuggestionsCoordinator(View parentView, Profile profile,
             SuggestionsNavigationDelegate navigationDelegate, ContextMenuManager contextMenuManager,
-            ImageFetcher imageFetcher) {
+            ImageFetcher imageFetcher, TouchlessLayoutManager touchlessLayoutManager) {
         PropertyModel model =
                 new PropertyModel
-                        .Builder(CURRENT_INDEX_KEY, SUGGESTIONS_KEY, ITEM_COUNT_KEY, REMOVAL_KEY)
+                        .Builder(CURRENT_INDEX_KEY, SUGGESTIONS_KEY, ITEM_COUNT_KEY, REMOVAL_KEY,
+                                ON_FOCUS_CALLBACK, SHOULD_FOCUS_VIEW, ASYNC_FOCUS_DELEGATE)
                         .with(SUGGESTIONS_KEY, new PropertyListModel<>())
                         .with(ITEM_COUNT_KEY, 1)
+                        .with(ASYNC_FOCUS_DELEGATE,
+                                touchlessLayoutManager.createCallbackToSetViewToFocus())
                         .build();
         View suggestionsView =
                 ((ViewStub) parentView.findViewById(R.id.most_likely_stub)).inflate();
@@ -62,7 +73,7 @@
                 suggestionsView.findViewById(R.id.most_likely_launcher_recycler);
         SiteSuggestionsAdapter adapterDelegate = new SiteSuggestionsAdapter(model, iconGenerator,
                 navigationDelegate, contextMenuManager, layoutManager,
-                suggestionsView.findViewById(R.id.most_likely_web_title_text));
+                suggestionsView.findViewById(R.id.most_likely_web_title_text), recyclerView);
 
         RecyclerViewAdapter<SiteSuggestionsViewHolderFactory.SiteSuggestionsViewHolder, PropertyKey>
                 adapter = new RecyclerViewAdapter<>(
@@ -93,4 +104,8 @@
     public void destroy() {
         mMediator.destroy();
     }
+
+    public FocusableComponent getFocusableComponent() {
+        return mMediator;
+    }
 }
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsMediator.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsMediator.java
index cf7cdd9..c23f178f 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsMediator.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsMediator.java
@@ -32,8 +32,10 @@
  * Handles SiteSuggestion loading from MostVisitedSites. This includes images and reloading more
  * suggestions when needed.
  */
-class SiteSuggestionsMediator
-        implements MostVisitedSites.Observer, PropertyObservable.PropertyObserver<PropertyKey> {
+
+class SiteSuggestionsMediator implements MostVisitedSites.Observer,
+                                         PropertyObservable.PropertyObserver<PropertyKey>,
+                                         FocusableComponent {
     private static final int NUM_FETCHED_SITES = 8;
     // The ML tiles could show anywhere between 2-5 tiles. To ensure that the initial index
     // would land on % n == 0 and be roughly Integer.MAX / 2, where n could be [2,5],
@@ -139,6 +141,16 @@
         mMostVisitedSites.destroy();
     }
 
+    @Override
+    public void requestFocus() {
+        mModel.set(SiteSuggestionsCoordinator.SHOULD_FOCUS_VIEW, true);
+    }
+
+    @Override
+    public void setOnFocusListener(Runnable listener) {
+        mModel.set(SiteSuggestionsCoordinator.ON_FOCUS_CALLBACK, listener);
+    }
+
     private int getItemCount() {
         // Item count is number of site suggestions available, up to MAX_DISPLAYED_TILES, + 1 for
         // "All apps".
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessArticleViewHolder.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessArticleViewHolder.java
new file mode 100644
index 0000000..cfb6b18
--- /dev/null
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessArticleViewHolder.java
@@ -0,0 +1,54 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.touchless;
+
+import android.os.Bundle;
+import android.view.View;
+
+import org.chromium.base.Callback;
+import org.chromium.chrome.browser.native_page.ContextMenuManager;
+import org.chromium.chrome.browser.ntp.snippets.SnippetArticleViewHolder;
+import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
+import org.chromium.chrome.browser.suggestions.SuggestionsRecyclerView;
+import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate;
+import org.chromium.chrome.browser.widget.displaystyle.UiConfig;
+
+/**
+ * A class that represents the view for a single card snippet.
+ */
+public class TouchlessArticleViewHolder extends SnippetArticleViewHolder {
+    private final Callback<View> mAsyncFocusDelegate;
+
+    /**
+     * Constructs a {@link TouchlessArticleViewHolder} item used to display snippets.
+     * @param parent The SuggestionsRecyclerView that is going to contain the newly created view.
+     * @param contextMenuManager The manager responsible for the context menu.
+     * @param uiDelegate The delegate object used to open an article, fetch thumbnails, etc.
+     * @param uiConfig The NTP UI configuration object used to adjust the article UI.
+     * @param offlinePageBridge used to determine if article is prefetched.
+     * @param asyncFocusDelegate used to request focus when views are guaranteed to be focusable.
+     */
+    public TouchlessArticleViewHolder(SuggestionsRecyclerView parent,
+            ContextMenuManager contextMenuManager, SuggestionsUiDelegate uiDelegate,
+            UiConfig uiConfig, OfflinePageBridge offlinePageBridge,
+            Callback<View> asyncFocusDelegate) {
+        super(parent, contextMenuManager, uiDelegate, uiConfig, offlinePageBridge);
+        mAsyncFocusDelegate = asyncFocusDelegate;
+    }
+
+    @Override
+    public void requestFocusWithBundle(Bundle focusBundle) {
+        mAsyncFocusDelegate.onResult(itemView);
+    }
+
+    @Override
+    public void setOnFocusListener(Callback<Bundle> callback) {
+        itemView.setOnFocusChangeListener((View view, boolean hasFocus) -> {
+            if (hasFocus) {
+                callback.onResult(null);
+            }
+        });
+    }
+}
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessLayoutManager.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessLayoutManager.java
new file mode 100644
index 0000000..cae0ee9
--- /dev/null
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessLayoutManager.java
@@ -0,0 +1,65 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.touchless;
+
+import android.content.Context;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+
+import org.chromium.base.Callback;
+
+/**
+ * Normally views can simply call {@link View#requestFocus()}. However, this turns out to be
+ * problematic during the measure/layout of the {@link RecyclerView}. This class tracks the layout
+ * state of the RecyclerView and decides the best way to focus the given View.
+ */
+public class TouchlessLayoutManager extends LinearLayoutManager {
+    private View mViewToFocus;
+    private boolean mMeasureLayoutInProgress;
+
+    public TouchlessLayoutManager(Context context) {
+        super(context);
+    }
+
+    @Override
+    public void onMeasure(RecyclerView.Recycler recycler, RecyclerView.State state, int widthSpec,
+            int heightSpec) {
+        mMeasureLayoutInProgress = true;
+        super.onMeasure(recycler, state, widthSpec, heightSpec);
+    }
+
+    @Override
+    public void onLayoutCompleted(RecyclerView.State state) {
+        super.onLayoutCompleted(state);
+        if (mViewToFocus != null) {
+            mViewToFocus.requestFocus();
+            mViewToFocus = null;
+        }
+        mMeasureLayoutInProgress = false;
+    }
+
+    /**
+     * Focuses the view, either right now if we're not in the middle of layout/measure, or
+     * otherwise at the end of layout.
+     * @param view The view to focus.
+     */
+    public void setViewToFocus(View view) {
+        if (mMeasureLayoutInProgress) {
+            mViewToFocus = view;
+        } else {
+            view.requestFocus();
+        }
+    }
+
+    public Callback<View> createCallbackToSetViewToFocus() {
+        return (View view) -> setViewToFocus(view);
+    }
+
+    @Override
+    public void scrollToPositionWithOffset(int index, int offset) {
+        super.scrollToPositionWithOffset(index, offset);
+    }
+}
\ No newline at end of file
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPage.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPage.java
index 5dc0dd2e..cfe7303 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPage.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPage.java
@@ -25,7 +25,6 @@
 import org.chromium.chrome.browser.suggestions.SuggestionsDependencyFactory;
 import org.chromium.chrome.browser.suggestions.SuggestionsEventReporter;
 import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate;
-import org.chromium.chrome.browser.suggestions.SuggestionsRecyclerView;
 import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate;
 import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegateImpl;
 import org.chromium.chrome.browser.tab.Tab;
@@ -56,7 +55,7 @@
 
     private FrameLayout mView;
     private TouchlessNewTabPageTopLayout mRecyclerTopmostView;
-    private SuggestionsRecyclerView mRecyclerView;
+    private TouchlessRecyclerView mRecyclerView;
     private Tab mTab;
     private TouchlessContextMenuManager mContextMenuManager;
     private SiteSuggestionsCoordinator mSiteSuggestionsCoordinator;
@@ -89,12 +88,13 @@
 
         OpenLastTabView openLastTabButton =
                 mRecyclerTopmostView.findViewById(R.id.open_last_tab_button);
-        mOpenLastTabCoordinator =
-                new OpenLastTabCoordinator(activity, profile, nativePageHost, openLastTabButton);
+        mOpenLastTabCoordinator = new OpenLastTabCoordinator(activity, profile, nativePageHost,
+                openLastTabButton, mRecyclerView.getTouchlessLayoutManager());
 
         // TODO(dewittj): Initialize the tile suggestions coordinator here.
 
-        initializeContentSuggestions(activity, nativePageHost);
+        initializeContentSuggestions(
+                activity, nativePageHost, mRecyclerView.getTouchlessLayoutManager());
 
         NewTabPageUma.recordIsUserOnline();
         NewTabPageUma.recordLoadType(activity);
@@ -105,8 +105,8 @@
      * TODO(dewittj): This uses SuggestionsRecyclerView and NewTabPageAdapter in a legacy manner
      * that does not properly support modern MVC code architecture.
      */
-    private void initializeContentSuggestions(
-            ChromeActivity activity, NativePageHost nativePageHost) {
+    private void initializeContentSuggestions(ChromeActivity activity,
+            NativePageHost nativePageHost, TouchlessLayoutManager layoutManager) {
         long constructedTimeNs = System.nanoTime();
 
         NewTabPageUma.trackTimeToFirstDraw(mRecyclerView, constructedTimeNs);
@@ -137,12 +137,16 @@
 
         // Infinite scrolling view for site suggestions.
         mSiteSuggestionsCoordinator = new SiteSuggestionsCoordinator(mRecyclerTopmostView, profile,
-                navigationDelegate, mContextMenuManager, suggestionsUiDelegate.getImageFetcher());
+                navigationDelegate, mContextMenuManager, suggestionsUiDelegate.getImageFetcher(),
+                layoutManager);
 
         NewTabPageAdapter newTabPageAdapter = new TouchlessNewTabPageAdapter(suggestionsUiDelegate,
                 mRecyclerTopmostView, uiConfig,
                 SuggestionsDependencyFactory.getInstance().getOfflinePageBridge(profile),
-                mContextMenuManager, mMediator.getModel());
+                mContextMenuManager, mMediator.getModel(),
+                mOpenLastTabCoordinator.getFocusableComponent(),
+                mSiteSuggestionsCoordinator.getFocusableComponent(),
+                layoutManager.createCallbackToSetViewToFocus());
 
         PropertyModelChangeProcessor.create(
                 mMediator.getModel(), mRecyclerView, ContentSuggestionsViewBinder::bind);
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageAdapter.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageAdapter.java
index af6d4067..ea5e0b2 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageAdapter.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageAdapter.java
@@ -4,6 +4,7 @@
 
 package org.chromium.chrome.browser.touchless;
 
+import android.os.Bundle;
 import android.support.annotation.Nullable;
 import android.view.View;
 import android.view.ViewGroup;
@@ -24,12 +25,19 @@
  * Adds touchless specific logic that needs to be attached and/or interacted with view holders.
  */
 public class TouchlessNewTabPageAdapter extends NewTabPageAdapter {
-    private PropertyModel mModel;
+    private final PropertyModel mModel;
+    private final FocusableComponent mFocusableOpenLastTab;
+    private final FocusableComponent mFocusableSiteSuggestions;
+    private final Callback<View> mAsyncFocusDelegate;
 
     // Initial focus should only be set once. After that happens this sentinel is sent to false and
     // the initial focus field should not be used.
     private boolean mCheckInitialFocus = true;
 
+    private static final String VIEW_HOLDER_BUNDLE_KEY = "VHBK";
+    private static final String VIEW_HOLDER_TYPE_KEY = "VHTK";
+    private static final String ADAPTER_POSITION_KEY = "APK";
+
     /**
      * Creates the adapter that will manage all the cards to display on the NTP.
      * @param uiDelegate used to interact with the rest of the system.
@@ -40,20 +48,34 @@
      * @param offlinePageBridge used to determine if articles are available.
      * @param contextMenuManager used to build context menus.
      * @param model the model of the recycler view component.
+     * @param focusableOpenLastTab Focusable object for the last tab component.
+     * @param focusableSiteSuggestions Focusable object for the site suggestions component.
+     * @param asyncFocusDelegate Used to safely request focus for a given view.
      */
     public TouchlessNewTabPageAdapter(SuggestionsUiDelegate uiDelegate,
             @Nullable View aboveTheFoldView, UiConfig uiConfig, OfflinePageBridge offlinePageBridge,
-            ContextMenuManager contextMenuManager, PropertyModel model) {
+            ContextMenuManager contextMenuManager, PropertyModel model,
+            FocusableComponent focusableOpenLastTab, FocusableComponent focusableSiteSuggestions,
+            Callback<View> asyncFocusDelegate) {
         super(uiDelegate, aboveTheFoldView, uiConfig, offlinePageBridge, contextMenuManager);
         mModel = model;
+        mFocusableOpenLastTab = focusableOpenLastTab;
+        mFocusableSiteSuggestions = focusableSiteSuggestions;
+        mAsyncFocusDelegate = asyncFocusDelegate;
     }
 
     @Override
     public NewTabPageViewHolder onCreateViewHolder(ViewGroup parent, @ItemViewType int viewType) {
         switch (viewType) {
+            case ItemViewType.ABOVE_THE_FOLD:
+                return new AboveTheFoldViewHolder(
+                        mAboveTheFoldView, mFocusableOpenLastTab, mFocusableSiteSuggestions);
             case ItemViewType.ACTION:
                 return new TouchlessActionItemViewHolder(
                         mRecyclerView, mContextMenuManager, mUiDelegate, mUiConfig);
+            case ItemViewType.SNIPPET:
+                return new TouchlessArticleViewHolder(mRecyclerView, mContextMenuManager,
+                        mUiDelegate, mUiConfig, mOfflinePageBridge, mAsyncFocusDelegate);
             default:
                 return super.onCreateViewHolder(parent, viewType);
         }
@@ -62,32 +84,39 @@
     @Override
     public void onBindViewHolder(NewTabPageViewHolder holder, int position, List<Object> payloads) {
         super.onBindViewHolder(holder, position, payloads);
-
-        Callback<TouchlessNewTabPageFocusInfo> focusCallback =
+        Callback<Bundle> focusCallback =
                 mModel.get(TouchlessNewTabPageProperties.FOCUS_CHANGE_CALLBACK);
-        if (focusCallback != null && holder.getItemViewType() == ItemViewType.SNIPPET) {
-            holder.itemView.setOnFocusChangeListener((View view, boolean hasFocus) -> {
-                if (hasFocus) {
-                    focusCallback.onResult(new TouchlessNewTabPageFocusInfo(
-                            TouchlessNewTabPageFocusInfo.FocusType.ARTICLE,
-                            holder.getAdapterPosition()));
-
-                    // If focus is changing due to user interactions, the initial focus is no longer
-                    // needed. While this flag is typically flipped when the initial focus is set,
-                    // if the initial focus is not restored successfully, for example when the
-                    // initial focus would be on an index larger than the initial number of cards,
-                    // then it needs to be cleared here.
-                    mCheckInitialFocus = false;
-                }
+        if (focusCallback != null) {
+            holder.setOnFocusListener((Bundle holderBundle) -> {
+                Bundle wrappedBundle = new Bundle();
+                wrappedBundle.putInt(ADAPTER_POSITION_KEY, holder.getAdapterPosition());
+                wrappedBundle.putBundle(VIEW_HOLDER_BUNDLE_KEY, holderBundle);
+                wrappedBundle.putString(VIEW_HOLDER_TYPE_KEY, holder.getClass().getName());
+                focusCallback.onResult(wrappedBundle);
+                // If focus is changing due to user interactions, the initial focus is no longer
+                // needed. While this flag is typically flipped when the initial focus is set,
+                // if the initial focus is not restored successfully, for example when the
+                // initial focus would be on an index larger than the initial number of cards,
+                // then it needs to be cleared here.
+                invalidateFocusRestore();
             });
         }
 
-        TouchlessNewTabPageFocusInfo focus =
-                mModel.get(TouchlessNewTabPageProperties.INITIAL_FOCUS);
-        if (mCheckInitialFocus && focus != null && focus.index == holder.getAdapterPosition()
-                && focus.type == holder.getItemViewType()) {
-            holder.itemView.requestFocus();
-            mCheckInitialFocus = false;
+        Bundle focusToRestore = mModel.get(TouchlessNewTabPageProperties.INITIAL_FOCUS);
+        if (canRestoreFocus() && focusToRestore != null
+                && focusToRestore.getInt(ADAPTER_POSITION_KEY) == holder.getAdapterPosition()
+                && holder.getClass().getName().equals(
+                        focusToRestore.getString(VIEW_HOLDER_TYPE_KEY))) {
+            holder.requestFocusWithBundle(focusToRestore.getBundle(VIEW_HOLDER_BUNDLE_KEY));
+            invalidateFocusRestore();
         }
     }
+
+    private boolean canRestoreFocus() {
+        return mCheckInitialFocus;
+    }
+
+    private void invalidateFocusRestore() {
+        mCheckInitialFocus = false;
+    }
 }
\ No newline at end of file
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageFocusInfo.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageFocusInfo.java
deleted file mode 100644
index 22c90a1..0000000
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageFocusInfo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.touchless;
-
-import android.support.annotation.IntDef;
-import android.support.v7.widget.RecyclerView;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Holds onto fields that represent the focused view on a page, and the ability to be round tripped
- * through a String.
- */
-public class TouchlessNewTabPageFocusInfo {
-    @IntDef({FocusType.UNKNOWN, FocusType.LAST_TAB, FocusType.MOST_LIKELY, FocusType.ARTICLE})
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface FocusType {
-        int UNKNOWN = 0;
-        int LAST_TAB = 1;
-        int MOST_LIKELY = 2;
-        int ARTICLE = 3;
-    }
-
-    private static final String TYPE_KEY = "type";
-    private static final String INDEX_KEY = "index";
-
-    public final @FocusType int type;
-
-    /** Depending on the type, the index may be meaningful or instead hold FocusType.UNKNOWN. */
-    public final int index;
-
-    public TouchlessNewTabPageFocusInfo(@FocusType int type, int index) {
-        this.type = type;
-        this.index = index;
-    }
-
-    public TouchlessNewTabPageFocusInfo(@FocusType int type) {
-        this(type, RecyclerView.NO_POSITION);
-    }
-
-    /**
-     * Turns the current TouchlessNewTabPageFocus object into a String that can be more easily
-     * stored and restored. If anything goes wrong then an empty string is returned instead.
-     * @return The values encoded into a String.
-     */
-    public String serialize() {
-        try {
-            JSONObject json = new JSONObject();
-            json.put(TYPE_KEY, type);
-            json.put(INDEX_KEY, index);
-            return json.toString();
-        } catch (JSONException e) {
-            return "";
-        }
-    }
-
-    /**
-     * Turns the given String into a TouchlessNewTabPageFocus object. If anything goes wrong a
-     * default value TouchlessNewTabPageFocus is returned that essentially means nothing is focused.
-     * @param str The serialized form of a TouchlessNewTabPageFocus.
-     * @return An instantiated TouchlessNewTabPageFocus object.
-     */
-    public static TouchlessNewTabPageFocusInfo deserialize(String str) {
-        if (str == null || str.isEmpty()) return newDefault();
-        try {
-            JSONObject json = new JSONObject(str);
-            return new TouchlessNewTabPageFocusInfo(json.getInt(TYPE_KEY), json.getInt(INDEX_KEY));
-        } catch (JSONException e) {
-            return newDefault();
-        }
-    }
-
-    /**
-     * @return A new focus object that means nothing is currently focused.
-     */
-    private static TouchlessNewTabPageFocusInfo newDefault() {
-        return new TouchlessNewTabPageFocusInfo(FocusType.UNKNOWN, RecyclerView.NO_POSITION);
-    }
-}
\ No newline at end of file
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageMediator.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageMediator.java
index abdb797..22dbb476 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageMediator.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageMediator.java
@@ -4,6 +4,10 @@
 
 package org.chromium.chrome.browser.touchless;
 
+import android.os.Bundle;
+import android.os.Parcel;
+import android.util.Base64;
+
 import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.chrome.browser.ntp.NewTabPage;
 import org.chromium.chrome.browser.ntp.NewTabPageUma;
@@ -22,7 +26,7 @@
     private long mLastShownTimeNs;
 
     private ScrollPositionInfo mScrollPosition;
-    private TouchlessNewTabPageFocusInfo mFocus;
+    private Bundle mFocus;
 
     public TouchlessNewTabPageMediator(Tab tab) {
         mTab = tab;
@@ -30,8 +34,18 @@
 
         ScrollPositionInfo initialScrollPosition = ScrollPositionInfo.deserialize(
                 NewTabPage.getStringFromNavigationEntry(tab, NAVIGATION_ENTRY_SCROLL_POSITION_KEY));
-        TouchlessNewTabPageFocusInfo initialFocus = TouchlessNewTabPageFocusInfo.deserialize(
-                NewTabPage.getStringFromNavigationEntry(tab, NAVIGATION_ENTRY_FOCUS_KEY));
+
+        String serializedString =
+                NewTabPage.getStringFromNavigationEntry(tab, NAVIGATION_ENTRY_FOCUS_KEY);
+        Bundle initialFocus = null;
+        if (serializedString != null) {
+            Parcel parcel = Parcel.obtain();
+            byte[] bytes = Base64.decode(serializedString, Base64.DEFAULT);
+            parcel.unmarshall(bytes, 0, bytes.length);
+            parcel.setDataPosition(0);
+            initialFocus = Bundle.CREATOR.createFromParcel(parcel);
+            parcel.recycle();
+        }
 
         mModel = new PropertyModel.Builder(TouchlessNewTabPageProperties.ALL_KEYS)
                          .with(TouchlessNewTabPageProperties.FOCUS_CHANGE_CALLBACK,
@@ -63,8 +77,13 @@
                     tab, NAVIGATION_ENTRY_SCROLL_POSITION_KEY, mScrollPosition.serialize());
         }
         if (mFocus != null) {
+            Parcel parcel = Parcel.obtain();
+            mFocus.writeToParcel(parcel, 0);
+            byte[] bytes = parcel.marshall();
+            parcel.recycle();
+            String serializedString = Base64.encodeToString(bytes, Base64.DEFAULT);
             NewTabPage.saveStringToNavigationEntry(
-                    tab, NAVIGATION_ENTRY_FOCUS_KEY, mFocus.serialize());
+                    tab, NAVIGATION_ENTRY_FOCUS_KEY, serializedString);
         }
     }
 
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageProperties.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageProperties.java
index c9858a39..bc91ad2 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageProperties.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageProperties.java
@@ -4,17 +4,18 @@
 
 package org.chromium.chrome.browser.touchless;
 
+import android.os.Bundle;
+
 import org.chromium.base.Callback;
 import org.chromium.ui.modelutil.PropertyKey;
 import org.chromium.ui.modelutil.PropertyModel;
 
 class TouchlessNewTabPageProperties {
     public static final PropertyModel
-            .ReadableObjectPropertyKey<Callback<TouchlessNewTabPageFocusInfo>>
-                    FOCUS_CHANGE_CALLBACK = new PropertyModel.ReadableObjectPropertyKey<>();
+            .ReadableObjectPropertyKey<Callback<Bundle>> FOCUS_CHANGE_CALLBACK =
+            new PropertyModel.ReadableObjectPropertyKey<>();
 
-    public static final PropertyModel
-            .ReadableObjectPropertyKey<TouchlessNewTabPageFocusInfo> INITIAL_FOCUS =
+    public static final PropertyModel.ReadableObjectPropertyKey<Bundle> INITIAL_FOCUS =
             new PropertyModel.ReadableObjectPropertyKey<>();
 
     public static final PropertyModel
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessRecyclerView.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessRecyclerView.java
new file mode 100644
index 0000000..4a60434
--- /dev/null
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessRecyclerView.java
@@ -0,0 +1,24 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.touchless;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import org.chromium.chrome.browser.suggestions.SuggestionsRecyclerView;
+
+/**
+ * Provides a TouchlessLayoutManager to the SuggestionsRecyclerView. This facilitates restoring
+ * focus.
+ */
+public class TouchlessRecyclerView extends SuggestionsRecyclerView {
+    public TouchlessRecyclerView(Context context, AttributeSet attrs) {
+        super(context, attrs, new TouchlessLayoutManager(context));
+    }
+
+    public TouchlessLayoutManager getTouchlessLayoutManager() {
+        return (TouchlessLayoutManager) getLinearLayoutManager();
+    }
+}
\ No newline at end of file
diff --git a/chrome/android/touchless/junit/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageFocusInfoTest.java b/chrome/android/touchless/junit/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageFocusInfoTest.java
deleted file mode 100644
index fae205e..0000000
--- a/chrome/android/touchless/junit/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageFocusInfoTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.touchless;
-
-import android.support.v7.widget.RecyclerView;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
-
-import org.chromium.base.test.BaseRobolectricTestRunner;
-
-/**
- * Unit tests for the TouchlessNewTabPageFocus class.
- */
-@RunWith(BaseRobolectricTestRunner.class)
-@Config(manifest = Config.NONE)
-public class TouchlessNewTabPageFocusInfoTest {
-    @Test
-    public void roundTripSimple() {
-        TouchlessNewTabPageFocusInfo original = new TouchlessNewTabPageFocusInfo(
-                TouchlessNewTabPageFocusInfo.FocusType.ARTICLE, 34);
-        TouchlessNewTabPageFocusInfo roundTripped =
-                TouchlessNewTabPageFocusInfo.deserialize(original.serialize());
-        Assert.assertEquals(original.type, roundTripped.type);
-        Assert.assertEquals(original.index, roundTripped.index);
-    }
-
-    @Test
-    public void roundTripNegative() {
-        TouchlessNewTabPageFocusInfo original = new TouchlessNewTabPageFocusInfo(
-                TouchlessNewTabPageFocusInfo.FocusType.ARTICLE, -34);
-        TouchlessNewTabPageFocusInfo roundTripped =
-                TouchlessNewTabPageFocusInfo.deserialize(original.serialize());
-        Assert.assertEquals(original.type, roundTripped.type);
-        Assert.assertEquals(original.index, roundTripped.index);
-    }
-
-    @Test
-    public void roundTripZero() {
-        TouchlessNewTabPageFocusInfo original =
-                new TouchlessNewTabPageFocusInfo(TouchlessNewTabPageFocusInfo.FocusType.ARTICLE, 0);
-        TouchlessNewTabPageFocusInfo roundTripped =
-                TouchlessNewTabPageFocusInfo.deserialize(original.serialize());
-        Assert.assertEquals(original.type, roundTripped.type);
-        Assert.assertEquals(original.index, roundTripped.index);
-    }
-
-    @Test
-    public void roundTripNoIndex() {
-        TouchlessNewTabPageFocusInfo original =
-                new TouchlessNewTabPageFocusInfo(TouchlessNewTabPageFocusInfo.FocusType.LAST_TAB);
-        TouchlessNewTabPageFocusInfo roundTripped =
-                TouchlessNewTabPageFocusInfo.deserialize(original.serialize());
-        Assert.assertEquals(original.type, roundTripped.type);
-        Assert.assertEquals(original.index, roundTripped.index);
-    }
-
-    @Test
-    public void deserializeFailure() {
-        TouchlessNewTabPageFocusInfo position = TouchlessNewTabPageFocusInfo.deserialize("invalid");
-        Assert.assertEquals(TouchlessNewTabPageFocusInfo.FocusType.UNKNOWN, position.type);
-        Assert.assertEquals(RecyclerView.NO_POSITION, position.index);
-    }
-
-    @Test
-    public void deserializeEmpty() {
-        TouchlessNewTabPageFocusInfo position = TouchlessNewTabPageFocusInfo.deserialize("");
-        Assert.assertEquals(TouchlessNewTabPageFocusInfo.FocusType.UNKNOWN, position.type);
-        Assert.assertEquals(RecyclerView.NO_POSITION, position.index);
-    }
-
-    @Test
-    public void deserializeNull() {
-        TouchlessNewTabPageFocusInfo position = TouchlessNewTabPageFocusInfo.deserialize(null);
-        Assert.assertEquals(TouchlessNewTabPageFocusInfo.FocusType.UNKNOWN, position.type);
-        Assert.assertEquals(RecyclerView.NO_POSITION, position.index);
-    }
-}
\ No newline at end of file
diff --git a/chrome/android/touchless/touchless_java_sources.gni b/chrome/android/touchless/touchless_java_sources.gni
index 7fe3770..769e4cbe 100644
--- a/chrome/android/touchless/touchless_java_sources.gni
+++ b/chrome/android/touchless/touchless_java_sources.gni
@@ -3,9 +3,11 @@
 # found in the LICENSE file.
 
 touchless_java_sources = [
+  "touchless/java/src/org/chromium/chrome/browser/touchless/AboveTheFoldViewHolder.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/ContentSuggestionsViewBinder.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/DinoActivity.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/NoTouchActivity.java",
+  "touchless/java/src/org/chromium/chrome/browser/touchless/FocusableComponent.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabCoordinator.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabMediator.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/OpenLastTabProperties.java",
@@ -21,14 +23,16 @@
   "touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsTileView.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/SiteSuggestionsViewHolderFactory.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessActionItemViewHolder.java",
+  "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessArticleViewHolder.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessContextMenuManager.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessDelegate.java",
+  "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessLayoutManager.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPage.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageAdapter.java",
-  "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageFocusInfo.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageMediator.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageProperties.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageTopLayout.java",
+  "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessRecyclerView.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessTabObserver.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessUiController.java",
   "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessZoomHelper.java",
@@ -49,10 +53,7 @@
 
 touchless_test_java_sources = [ "touchless/javatests/src/org/chromium/chrome/browser/touchless/NoTouchActivityTest.java" ]
 
-touchless_junit_test_java_sources = [
-  "touchless/junit/src/org/chromium/chrome/browser/touchless/ScrollPositionInfoTest.java",
-  "touchless/junit/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageFocusInfoTest.java",
-]
+touchless_junit_test_java_sources = [ "touchless/junit/src/org/chromium/chrome/browser/touchless/ScrollPositionInfoTest.java" ]
 
 touchess_fallback_java_sources = [
   "touchless/fallback/java/src/org/chromium/chrome/browser/touchless/TouchlessDelegate.java",
diff --git a/chrome/app/resources/chromium_strings_mr.xtb b/chrome/app/resources/chromium_strings_mr.xtb
index 5e31bdd..24f0c4d6 100644
--- a/chrome/app/resources/chromium_strings_mr.xtb
+++ b/chrome/app/resources/chromium_strings_mr.xtb
@@ -18,14 +18,14 @@
 <translation id="151962892725702025">आपल्या डोमेनसाठी संकालन उपलब्ध नसल्यामुळे Chromium OS तुमचा डेटा संकालित करू शकले नाही.</translation>
 <translation id="1585657529869845941">ते दिसल्यास <ph name="BEGIN_BOLD" />कसेही स्विच करा<ph name="END_BOLD" /> वर क्लिक करा</translation>
 <translation id="1668054258064581266">Chromium वरून तुमचे खाते काढल्यानंतर, प्रभावी होण्यासाठी तुम्हाला तुमचे उघडे टॅब रीलोड करण्याची आवश्यकता असू शकते.</translation>
-<translation id="1688750314291223739">वेबवर तुमची पर्सनलाइझ केलेली ब्राउझर वैशिष्ट्ये सेव्ह करण्यासाठी सिंक सेट करा आणि कोणत्याही कॉंप्युटरवरील Chromium वरून ते अॅक्सेस करा.</translation>
+<translation id="1688750314291223739">वेबवर तुमची पर्सनलाइझ केलेली ब्राउझर वैशिष्ट्ये सेव्ह करण्यासाठी सिंक सेट करा आणि कोणत्याही कॉंप्युटरवरील Chromium वरून ते ॲक्सेस करा.</translation>
 <translation id="1708666629004767631">Chromium ची नवीन, सुरक्षित आवृत्ती उपलब्ध आहे.</translation>
 <translation id="1766096484055239003">तुमच्या अॅडमिनिस्ट्रेटरला अपडेट लागू करता यावे यासाठी तुम्ही Chrome पुन्हा लाँच करण्याची आवश्यकता आहे</translation>
 <translation id="1774152462503052664">Chromium बॅकग्राउंडमध्ये चालू द्या</translation>
 <translation id="1779356040007214683">Chromium अधिक सुरक्षित बनविण्‍यासाठी, आम्‍ही <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> मध्‍ये सूचीबद्ध नसलेले आणि आपल्‍या माहिती शिवाय कदाचित जोडले गेलेले काही विस्‍तार अक्षम केले.</translation>
 <translation id="1808667845054772817">Chromium पुनर्स्थापित करा</translation>
 <translation id="1869480248812203386">तुम्ही Google कडे संभाव्य सुरक्षितता घटनांच्या तपशीलांचा स्वयंचलितपणे अहवाल देऊन Chromium वापरणे अधिक सुरक्षित आणि अधिक सुलभ करण्यात मदत करू शकता.</translation>
-<translation id="1881322772814446296">तुम्ही एका व्यवस्थापित खात्यासह साइन इन करत आहात आणि आपल्या Chromium प्रोफाईलवर त्याच्या प्रशासकास नियंत्रण देत आहात. तुमचा Chromium डेटा, जसे की तुमचे अॅप्स, बुकमार्क, इतिहास, पासवर्ड आणि अन्य सेटिंग्ज <ph name="USER_NAME" /> वर कायमच्या बद्ध होतील. तुम्ही Google खाती डॅशबोर्डद्वारे हा डेटा हटविण्यात सक्षम व्हाल, परंतु तुम्ही दुसर्‍या खात्यासह हा डेटा संबद्ध करण्यात सक्षम होणार नाही. तुम्ही तुमचा विद्यमान Chromium डेटा विभक्त ठेवण्यासाठी एक नवीन प्रोफाईल वैकल्पिकपणे तयार करू शकता. <ph name="LEARN_MORE" /></translation>
+<translation id="1881322772814446296">तुम्ही एका व्यवस्थापित खात्यासह साइन इन करत आहात आणि आपल्या Chromium प्रोफाईलवर त्याच्या प्रशासकास नियंत्रण देत आहात. तुमचा Chromium डेटा, जसे की तुमचे ॲप्स, बुकमार्क, इतिहास, पासवर्ड आणि अन्य सेटिंग्ज <ph name="USER_NAME" /> वर कायमच्या बद्ध होतील. तुम्ही Google खाती डॅशबोर्डद्वारे हा डेटा हटविण्यात सक्षम व्हाल, परंतु तुम्ही दुसर्‍या खात्यासह हा डेटा संबद्ध करण्यात सक्षम होणार नाही. तुम्ही तुमचा विद्यमान Chromium डेटा विभक्त ठेवण्यासाठी एक नवीन प्रोफाईल वैकल्पिकपणे तयार करू शकता. <ph name="LEARN_MORE" /></translation>
 <translation id="1895626441344023878">{0,plural, =0{Chromium अपडेट उपलब्ध आहे}=1{Chromium अपडेट उपलब्ध आहे}one{Chromium अपडेट # दिवसासाठी उपलब्ध आहे}other{Chromium अपडेट # दिवसांसाठी उपलब्ध आहे}}</translation>
 <translation id="1911763535808217981">हे बंद करून, तुम्ही Chromium वर साइन इन न करता Gmail सारख्या Google सायटींवर साइन इन करू शकता</translation>
 <translation id="1929939181775079593">Chromium असंवादी आहे. आता पुन्‍हा लाँच करायचे?</translation>
@@ -73,7 +73,7 @@
 
 <ph name="USER_DATA_DIRECTORY" /></translation>
 <translation id="328888136576916638">Google API की गहाळ आहेत. Chromium ची काही कार्यक्षमता अक्षम केली जाईल.</translation>
-<translation id="3296368748942286671">Chromium बंद असताना पार्श्वभूमी अॅप्लिकेशन चालवणे सुरू ठेवा</translation>
+<translation id="3296368748942286671">Chromium बंद असताना पार्श्वभूमी ॲप्लिकेशन चालवणे सुरू ठेवा</translation>
 <translation id="331951419404882060">साइन इन करण्यात त्रुटीमुळे Chromium OS तुमचा डेटा संकालित करू शकले नाही.</translation>
 <translation id="3474745554856756813">हे या डिव्‍हाइस मधून <ph name="ITEMS_COUNT" /> आयटम हटवेल. नंतर तुमचा डेटा पुनर्प्राप्त करण्‍यासाठी, Chromium मध्ये <ph name="USER_EMAIL" /> म्हणून साइन इन करा.</translation>
 <translation id="3479552764303398839">सध्या नाही</translation>
@@ -125,7 +125,7 @@
 <translation id="5116586539350239523">Chromium तुमचे वैयक्तिक तपशील सुरक्षितपणे संचयित करेल जेणेकरून तुम्हाला ते पुन्हा टाइप करण्याची आवश्यकता नसेल.</translation>
 <translation id="5181952534059945058">हे पेज खूप जास्त मेमरी वापरत असल्यामुळे, Chromium ने काही आशय काढला आहे.</translation>
 <translation id="5277894862589591112">तुम्ही केलेले बदल लागू करण्यासाठी, Chromium रीलाँच करा</translation>
-<translation id="5358375970380395591">तुम्ही एका व्यवस्थापित खात्यासह साइन इन करत आहात आणि आपल्या Chromium प्रोफाईलवर त्याच्या प्रशासकास नियंत्रण देत आहात. तुमचा Chromium डेटा, जसे की तुमचे अॅप्स, बुकमार्क, इतिहास, पासवर्ड आणि अन्य सेटिंग्ज <ph name="USER_NAME" /> वर कायमच्या बद्ध होतील. तुम्ही Google खाती डॅशबोर्डद्वारे हा डेटा हटविण्यात सक्षम व्हाल, परंतु तुम्ही दुसर्‍या खात्यासह हा डेटा संबद्ध करण्यात सक्षम होणार नाही. <ph name="LEARN_MORE" /></translation>
+<translation id="5358375970380395591">तुम्ही एका व्यवस्थापित खात्यासह साइन इन करत आहात आणि आपल्या Chromium प्रोफाईलवर त्याच्या प्रशासकास नियंत्रण देत आहात. तुमचा Chromium डेटा, जसे की तुमचे ॲप्स, बुकमार्क, इतिहास, पासवर्ड आणि अन्य सेटिंग्ज <ph name="USER_NAME" /> वर कायमच्या बद्ध होतील. तुम्ही Google खाती डॅशबोर्डद्वारे हा डेटा हटविण्यात सक्षम व्हाल, परंतु तुम्ही दुसर्‍या खात्यासह हा डेटा संबद्ध करण्यात सक्षम होणार नाही. <ph name="LEARN_MORE" /></translation>
 <translation id="5386450000063123300">Chromium अपडेट करीत आहे (<ph name="PROGRESS_PERCENT" />)</translation>
 <translation id="538767207339317086">Chromium मध्ये साइन इन करण्यासाठी अनुमती द्या</translation>
 <translation id="5398878173008909840">Chromium ची नवीन आवृत्ती उपलब्ध आहे.</translation>
@@ -171,7 +171,7 @@
 <translation id="6334986366598267305">आता आपल्या Google खात्यावर आणि शेअर केलेल्या संगणकांवर Chromium वापरणे अधिक सुलभ आहे.</translation>
 <translation id="6373523479360886564">आपल्‍याला खात्री आहे की तुम्ही Chromium विस्‍थापित करू इच्‍छिता?</translation>
 <translation id="6400072781405947421">Mac OS X 10.9 वर Chromium ला सपोर्ट नसल्यामुळे ते कदाचित नीट चालणार नाही.</translation>
-<translation id="6403826409255603130">Chromium हे एक वेबब्राउझर असून ते वेबपृष्ठे आणि अॅप्लिकेशन अतिशय वेगात चालवते. हे वापरण्यास जलद, स्थिर आणि सोपे आहे. Chromium मध्ये तयार करण्यासाठी मालवेयर आणि फिशिंग संरक्षणासह वेब अधिक सुरक्षितपणे ब्राउझ करा.</translation>
+<translation id="6403826409255603130">Chromium हे एक वेबब्राउझर असून ते वेबपृष्ठे आणि ॲप्लिकेशन अतिशय वेगात चालवते. हे वापरण्यास जलद, स्थिर आणि सोपे आहे. Chromium मध्ये तयार करण्यासाठी मालवेयर आणि फिशिंग संरक्षणासह वेब अधिक सुरक्षितपणे ब्राउझ करा.</translation>
 <translation id="6434250628340475518">Chromium OS सिस्टम</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium १ सेकंदात रीस्टार्ट होईल}one{Chromium # सेकंदात रीस्टार्ट होईल}other{Chromium # सेकंदांत रीस्टार्ट होईल}}</translation>
 <translation id="6475912303565314141">तुम्ही Chromium सुरू करता तेव्हा कोणते पृष्ठ दर्शविले जाते हे देखील हे नियंत्रित करते.</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb
index 5dd1642..644c353 100644
--- a/chrome/app/resources/generated_resources_am.xtb
+++ b/chrome/app/resources/generated_resources_am.xtb
@@ -2002,7 +2002,6 @@
 <translation id="4109135793348361820">መስኮት ወደ <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) ውሰድ</translation>
 <translation id="4110490973560452005">ውርድ ተጠናቅቋል፦ <ph name="FILE_NAME" />። የውርዶች አሞሌ አካባቢውን ለመቀየር Shift+F6 ይጫኑ።</translation>
 <translation id="4110895898888439383">ድሩን በከፍተኛ ንጽጽር ሁነታ ያስሱ</translation>
-<translation id="4112221174576828331">አንድ ምስል ጠቃሚ መግለጫ ከሌለው Chrome ለእርስዎ አንድ ያቀርብልዎታል። ምስሎች የተቃኙት በGoogle ነው።</translation>
 <translation id="4115002065223188701">አውታረ መረብ ከክልል ውጭ ነው</translation>
 <translation id="4115080753528843955">አንዳንድ የይዘት አገልግሎቶች የሚጠበቅ ይዘት መዳረሻን ለመፍቀድ ዓላማዎች ልዩ ለዪዎችን ይጠቀማሉ</translation>
 <translation id="4118579674665737931">እባክዎ መሣሪያውን ዳግም ያስጀምሩት እና እንደገና ይሞክሩ።</translation>
@@ -4460,6 +4459,7 @@
 <translation id="8008356846765065031">የበይነመረብ ግንኙነት ተቋርጧል። እባክዎ የበይነመረብዎን ግንኙነት ይፈትሹ።</translation>
 <translation id="8009225694047762179">የይለፍ ቃላትን ያቀናብሩ</translation>
 <translation id="8012382203418782830">ይህ ገጽ ተተርጉሟል።</translation>
+<translation id="8013993649590906847">አንድ ምስል ጠቃሚ መግለጫ ከሌለው Chrome ለእርስዎ አንድ ለማቅረብ ይሞክራል። ዝርዝር መግለጫዎችን ለመፍጠር፣ ምስሎች ወደ Google ይላካሉ።</translation>
 <translation id="8014154204619229810">አዘማኙ አሁን በማሄድ ላይ ነው። እንደገና ለመፈተሽ በአንድ ደቂቃ ውስጥ ያድሱ።</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> ወደ ቀዳሚው የተጫነ ስሪት ማድህር አልቻለም። እባክዎ የእርስዎን መሣሪያ እንደገና Powerwash ለማድረግ ይሞክሩ።</translation>
 <translation id="8014210335923519270">የስርዓት መረጃን እና አጠቃቀምን ወደ Google በመላክ <ph name="IDS_SHORT_PRODUCT_NAME" />ን እና ደህንነቱን ያሻሽሉ</translation>
@@ -5028,7 +5028,6 @@
 <translation id="891365694296252935">የአጠቃቀም እና የምርመራ ውሂብ ይላኩ። ይህ መሣሪያ በአሁኑ ጊዜ በራስ-ሰር የምርመራ፣ የመሣሪያ እና የመተግበሪያ አጠቃቀም ውሂብ ወደ Google እየላከ ነው። ይህ ልጅዎን ለመለየት ስራ ላይ አይውልም፣ እና የስርዓት እና የመተግበሪያ እርጋታን እና ሌሎች ማሻሻያዎችን ያግዛል። አንዳንድ ውሑድ ውሂብ እንዲሁም የGoogle መተግበሪያዎችን እና እንደ የAndroid ገንቢዎች ያሉ አጋሮችን ያግዛሉ። ይህ ቅንብር በባለቤቱ ተፈጻሚ ይደረጋል። የተጨማሪ ድር እና መተግበሪያ እንቅስቃሴ ለልጅዎ በርቶ ከሆነ ይህ ውሂብ አሁን በGoogle መለያቸው ላይ ሊቀመጥ ይችላል። <ph name="BEGIN_LINK1" />የበለጠ ለመረዳት<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">የጥቆማ አስተያየት በመጫን ላይ</translation>
 <translation id="8916476537757519021">ማንነት የማያሳውቅ ንዑስ ክፈፍ፦ <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">አዎ፣ ገብቼያለሁ</translation>
 <translation id="8919275547519617350">ሁሉንም የእርስዎ የይለፍ ቃላት በሁሉም መሣሪያዎችዎ ላይ ለማግኘት በመለያ ይግቡና ስምረትን ያብሩ።</translation>
 <translation id="8921366488406707015">የደህንነት ቁልፍዎን በማረጋገጥ ላይ...</translation>
 <translation id="8922013791253848639">ሁልጊዜ በዚህ ጣቢያ ላይ ማስታወቂያዎችን አሳይ</translation>
@@ -5126,7 +5125,6 @@
 <translation id="9065203028668620118">አርትዕ</translation>
 <translation id="9066773882585798925">ጽሑፍ ጮክ ተብሎ ሲነበብ ይስሙ</translation>
 <translation id="9066782832737749352">ጽሑፍ ወደ ንግግር</translation>
-<translation id="907264006778172906">የዩኤስቢ መሣሪያዎችን እንዲደርስባቸው ለ Linux ፈቃድ ይስጡት። ከተወገደ በኋላ Linux የዩኤስቢ መሣሪያውን አያስታውሰውም።</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">ብሉቱዝ</translation>
 <translation id="9074836595010225693">የUSB መዳፊት ተገናኝቷል</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index a45ba7e..06083a97 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">تعذر تحميل الأجهزة.</translation>
 <translation id="1008186147501209563">تصدير الإشارات المرجعية</translation>
 <translation id="1008557486741366299">ليس الآن</translation>
+<translation id="1010498023906173788">علامة التبويب هذه مرتبطة بمنفذ تسلسلي.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{ صفحة واحدة غير مستجيبة}zero{ صفحات غير مستجيبة}two{صفحتان غير مستجيبتين}few{ صفحات غير مستجيبة}many{ صفحة غير مستجيبة}other{ من الصفحات غير مستجيبة}}</translation>
 <translation id="1012794136286421601">‏تجري مزامنة المستندات وجداول البيانات والعروض التقديمية والرسومات. افتح تطبيق Google Drive للدخول إليها على الإنترنت أو بلا إنترنت.</translation>
 <translation id="1012876632442809908">‏جهاز USB-C (المنفذ الأمامي)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">اضغط على |<ph name="ACCELERATOR" />| للخروج من وضع ملء الشاشة</translation>
 <translation id="1038168778161626396">التشفير فقط</translation>
 <translation id="1039337018183941703">ملف تالف أو غير صالح</translation>
+<translation id="1041175011127912238">الصفحة لا تستجيب.</translation>
 <translation id="1042174272890264476">‏يأتي جهاز الكمبيوتر أيضًا مزودًا بمكتبة RLZ مضمنة للمنتج <ph name="SHORT_PRODUCT_NAME" />. تعيّن RLZ علامة غير فريدة وغير متعلقة بتحديد الشخصية من أجل قياس عمليات البحث ومعدل استخدام <ph name="SHORT_PRODUCT_NAME" /> الذي تؤثر فيه حملة ترويجية محددة. تظهر هذه التصنيفات أحيانًا في طلبات بحث Google في <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">عذرًا، هذا الاسم قيد الاستخدام فعلاً!</translation>
 <translation id="1046635659603195359">‏يبدو أنه سبق لك إعداد ميزة Voice Match في "مساعد Google "على جهاز آخر. ويمكن استخدام هذه التسجيلات السابقة لإنشاء نموذج صوتي على هذا الجهاز. ويستغرق ذلك أقل من دقيقة.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">استخدِم الويب دون حفظ سجلّ التصفُّح باستخدام نافذة تصفُّح متخفٍ</translation>
 <translation id="1213037489357051291">تم إعداد <ph name="NUM_FINGERPRINTS" /> من بصمات الإصبع</translation>
 <translation id="1215411991991485844">تمت إضافة تطبيق جديد في الخلفية</translation>
+<translation id="1217483152325416304">سيتم قريبًا حذف البيانات المحلية</translation>
 <translation id="1217668622537098248">إعادة ميزة النقر بزر الماوس الأيسر بعد اتخاذ إجراء</translation>
 <translation id="121783623783282548">كلمتا المرور غير متطابقتين.</translation>
 <translation id="1218839827383191197">‏<ph name="BEGIN_PARAGRAPH1" />تستخدم خدمة الموقع الجغرافي من Google مصادر، مثل شبكات Wi‑Fi وشبكات الجوّال وأجهزة الاستشعار للمساعدة في تقدير الموقع الجغرافي لهذا الجهاز.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">التفاصيل: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">التثبيت غير مُفعَّل</translation>
 <translation id="1483493594462132177">إرسال</translation>
+<translation id="1484979925941077974">يستخدم الموقع الإلكتروني البلوتوث</translation>
 <translation id="1485015260175968628">يمكنه الآن:</translation>
 <translation id="1485141095922496924">الإصدار <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">بحث عن كلمات المرور</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(غير نشطة)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (رقم التعريف: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981">‏<ph name="WIDTH" /> x <ph name="HEIGHT" /> (الأصلي)</translation>
+<translation id="1711401317189798723">الاحتفاظ بنسخة احتياطية حاليًا قيد التقدم لـ <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">‏الحصول على كلمة المرور هذه على جهاز iPhone</translation>
 <translation id="1712552549805331520">يريد <ph name="URL" /> تخزين بيانات على جهاز الكمبيوتر المحلي بشكل دائم.</translation>
 <translation id="1718835860248848330">آخر ساعة</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">خيارات الوصول عبر مفتاح التحويل</translation>
 <translation id="1932098463447129402">أول يوم لتفعيل الصلاحية</translation>
 <translation id="1933809209549026293">‏يُرجى توصيل الماوس أو لوحة المفاتيح. إذا كنت تستخدم جهاز Bluetooth، فتأكد من أنه جاهز للإقران.</translation>
+<translation id="1937774647013465102">يتعذّر استيراد نوع بنية الحاوية <ph name="ARCHITECTURE_CONTAINER" /> من خلال هذا الجهاز الذي يمثل <ph name="ARCHITECTURE_DEVICE" />.يمكنك محاولة استعادة هذه الحاوية في جهاز مختلف، أو يمكنك الوصول إلى الملفات داخل صورة الحاوية هذه عن طريق فتح تطبيق "الملفات".</translation>
 <translation id="1938351510777341717">‏مفتاح Command الخارجي</translation>
 <translation id="1940546824932169984">الأجهزة المتصلة</translation>
 <translation id="1944921356641260203">تم العثور على التحديث</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">تفعيل</translation>
 <translation id="2394566832561516196">سيتم محو الإعدادات عند إعادة التحميل في المرة التالية.</translation>
 <translation id="2395616325548404795">لقد تم تسجيل جهاز <ph name="DEVICE_TYPE" /> بنجاح لإدارة المؤسسة، لكن تعذّر إرسال بيانات الأصل والموقع. يُرجى إدخال هذه البيانات يدويًا من وحدة تحكُّم المشرف لهذا الجهاز.</translation>
+<translation id="2396783860772170191">أدخِل رقم التعريف الشخصي المكوَّن من 4 أرقام (0000-9999)</translation>
 <translation id="2408955596600435184">إدخال رقم التعريف الشخصي</translation>
 <translation id="241082044617551207">مكوّن إضافي غير محدّد</translation>
 <translation id="2413749388954403953">تغيير واجهة المستخدم للإشارات المرجعية</translation>
+<translation id="241639282915300771">الاستعادة حاليًا قيد التقدم من أجل <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">‏تم تشفير البيانات باستخدام كلمة مرور Google اعتبارًا من
           <ph name="TIME" />. لا يتضمّن ذلك طرق الدفع والعناوين من Google Pay.</translation>
 <translation id="2419706071571366386">لأغراض الأمان، سجّل الخروج عندما لا يتم استخدام الكمبيوتر.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">تم إيقاف المزامنة.</translation>
 <translation id="2540449034743108469">يُرجى الضغط على "البدء" للاستماع إلى أنشطة الإضافات</translation>
 <translation id="2541002089857695151">هل تريد تحسين الإرسال بوضع ملء الشاشة؟</translation>
+<translation id="2541706104884128042">ضبط وقت جديد للنوم</translation>
 <translation id="2544853746127077729">تمّ رفض شهادة المصادقة بواسطة الشبكة</translation>
 <translation id="2549985041256363841">بدء التسجيل</translation>
 <translation id="2550212893339833758">ذاكرة مساحة التبديل</translation>
@@ -1076,6 +1085,7 @@
 <translation id="2677748264148917807">الخروج</translation>
 <translation id="2678063897982469759">إعادة تفعيل</translation>
 <translation id="268053382412112343">ال&amp;سجل</translation>
+<translation id="2682498795777673382">تحديث من أحد الوالدين</translation>
 <translation id="2683638487103917598">تم تصنيف المجلد</translation>
 <translation id="2684004000387153598">للمتابعة، انقر على "موافقة" ثم انقر على "إضافة شخص" لإنشاء ملف شخصي جديد لعنوان بريدك الإلكتروني.</translation>
 <translation id="2688196195245426394">حدث خطأ عند تسجيل الجهاز مع الخادم: <ph name="CLIENT_ERROR" />.</translation>
@@ -1109,6 +1119,7 @@
 <translation id="2731392572903530958">إعادة ف&amp;تح النافذة المغلقة</translation>
 <translation id="2731700343119398978">يرجى الانتظار...</translation>
 <translation id="2731710757838467317">يُمكنك إنشاء مستخدم يخضع للإدارة. قد يستغرق هذا الأمر بعض الوقت.</translation>
+<translation id="2731971182069536520">في المرة القادمة التي يتم فيها إعادة تشغيل الجهاز، سيجري مشرفك تحديثًا لمرة واحدة سيؤدي إلى حذف البيانات المحلية.</translation>
 <translation id="2734760316755174687">سيتم أيضًا إعادة ضبط المواقع الإلكترونية ضمن <ph name="SITE_GROUP_NAME" />.</translation>
 <translation id="2735438478659026460">النقر تلقائيًا عند توقف مؤشر الماوس</translation>
 <translation id="2735712963799620190">الجدول الزمني</translation>
@@ -1312,6 +1323,7 @@
 <translation id="304747341537320566">محركات الكلام</translation>
 <translation id="3047644958362961983">‏تساعدنا هذه المعلومات في فهم مشكلتك على "مساعد Google" بشكل أفضل. يتم تخزينها لمدة تصل إلى 90 يومًا ويقتصر الوصول على فرق الهندسة والتعليقات المختصة.</translation>
 <translation id="3053013834507634016">استخدام مفتاح الشهادة</translation>
+<translation id="3053273573829329829">تفعيل رقم التعريف الشخصي للمستخدم</translation>
 <translation id="3058498974290601450">يمكنك تفعيل المزامنة في أي وقت في الإعدادات.</translation>
 <translation id="3060379269883947824">تفعيل الاختيار والاستماع</translation>
 <translation id="3061707000357573562">خدمة رمز التصحيح</translation>
@@ -1331,6 +1343,7 @@
 <translation id="3084771660770137092">‏ربما نفدت الذاكرة لدى Chrome أو تم إنهاء العملية لصفحة الويب لسبب آخر. للمتابعة، أعد التحميل أو انتقل إلى صفحة أخرى.</translation>
 <translation id="3085412380278336437">يمكن لموقع الويب استخدام الكاميرا.</translation>
 <translation id="3085752524577180175">‏مضيف SOCKS</translation>
+<translation id="3088052000289932193">‏يستخدم الموقع الإلكتروني جهاز MIDI</translation>
 <translation id="3088325635286126843">إ&amp;عادة تسمية...</translation>
 <translation id="3089137131053189723">تم محو البحث</translation>
 <translation id="3090193911106258841">جارٍ الوصول إلى إدخال الصوت والفيديو</translation>
@@ -1469,6 +1482,7 @@
 <translation id="3317459757438853210">طباعة على الجانبين</translation>
 <translation id="3317678681329786349">تم حظر استخدام الكاميرا والميكروفون</translation>
 <translation id="3319048459796106952">نافذة &amp; جديدة للتصفح المتخفي</translation>
+<translation id="3323521181261657960">مكافأة. المزيد من وقت النظر إلى الشاشة</translation>
 <translation id="3325910708063135066">‏تم إيقاف الكاميرا والميكروفون في إعدادات نظام Mac المفضلة</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">معلومات التطبيق</translation>
@@ -1764,6 +1778,7 @@
 <translation id="3765246971671567135">تعذَّرت قراءة سياسة الوضع التجريبي بلا إنترنت.</translation>
 <translation id="3766223500670287046">تشغيل الشاشة عن بُعد</translation>
 <translation id="3768037234834996183">جارٍ مزامنة تفضيلاتك...</translation>
+<translation id="377050016711188788">آيس كريم</translation>
 <translation id="3771294271822695279">ملفات فيديو</translation>
 <translation id="3775432569830822555">‏شهادة خادم بروتوكول SSL (طبقة المقابس الآمنة)</translation>
 <translation id="3775705724665058594">إرسال إلى أجهزتك</translation>
@@ -1842,6 +1857,7 @@
 <translation id="3869917919960562512">فهرس خاطئ.</translation>
 <translation id="3870931306085184145">ليست هناك أي كلمات مرور محفوظة لاسم النطاق <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">الأقل</translation>
+<translation id="3871350334636688135">بعد 24 ساعة، سيجري مشرفك تحديثًا لمرة واحدة سيؤدي إلى حذف بياناتك المحلية عند إعادة تشغيل جهازك. يمكنك حفظ أي بيانات محلية تحتاج إليها للتخزين في السحابة الإلكترونية خلال 24 ساعة.</translation>
 <translation id="3872220884670338524">المزيد من الإجراءات؛ تم حفظ الحساب الذي يحمل اسم المستخدم <ph name="USERNAME" /> على النطاق <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">احرص على تفريغ مساحة على القرص أو سيصبح الجهاز غير مستجيب.</translation>
 <translation id="3873315167136380065">لتفعيل هذا الإعداد، يمكنك <ph name="BEGIN_LINK" />إعادة ضبط المزامنة<ph name="END_LINK" /> لإزالة عبارة مرور المزامنة.</translation>
@@ -1918,6 +1934,7 @@
 <translation id="3983400541576569538">قد يتم فقد البيانات من بعض التطبيقات</translation>
 <translation id="3983586614702900908">أجهزة من مورد غير معروف</translation>
 <translation id="3984159763196946143">تعذَّر بدء الوضع التجريبي</translation>
+<translation id="3984431586879874039">هل تريد السماح لهذا الموقع الإلكتروني بالاطّلاع على مفتاح الأمان؟</translation>
 <translation id="3987348946546879621">البيانات المحفوظة</translation>
 <translation id="3987938432087324095">عذرًا، لم يتم التعرف على ذلك.</translation>
 <translation id="3988996860813292272">تحديد منطقة زمنية</translation>
@@ -1994,13 +2011,13 @@
 <translation id="4099060993766194518">هل تريد استعادة محرك البحث التلقائي؟</translation>
 <translation id="4099874310852108874">حدث خطأ في الشبكة.</translation>
 <translation id="4100733287846229632">المساحة على الجهاز منخفضة للغاية</translation>
+<translation id="4100853287411968461">حد جديد لوقت النظر إلى الشاشة</translation>
 <translation id="4103091233824664032">يُرجى إدخال كلمة مرورك لتهيئة قفل الشاشة وتسجيل الدخول</translation>
 <translation id="4104163789986725820">ت&amp;صدير...</translation>
 <translation id="4107048419833779140">تحديد أجهزة التخزين وإخراجها</translation>
 <translation id="4109135793348361820">نقل النافذة إلى <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">‏اكتمل التنزيل: <ph name="FILE_NAME" />. يمكنك الضغط على Shift+F6 للانتقال إلى منطقة شريط التنزيلات.</translation>
 <translation id="4110895898888439383">تصفُّح الويب في وضع التباين العالي</translation>
-<translation id="4112221174576828331">‏في حال لم تتضمّن إحدى الصور وصفًا مفيدًا، سيوفر Chrome وصفًا لك. تعمل Google على فحص الصور.</translation>
 <translation id="4115002065223188701">الشبكة خارج النطاق</translation>
 <translation id="4115080753528843955">تستخدم بعض خدمات المحتوى مُعرّفات فريدةً لأغراض تتعلق بالسماح بالدخول إلى المحتوى المحمي</translation>
 <translation id="4118579674665737931">يُرجى إعادة تشغيل الجهاز وإعادة المحاولة.</translation>
@@ -2114,6 +2131,7 @@
 <translation id="4324577459193912240">ملف غير مكتمل</translation>
 <translation id="4325237902968425115">جارٍ إلغاء تثبيت <ph name="LINUX_APP_NAME" />...</translation>
 <translation id="4328203388435897516">‏عند إعداد جهاز Chromebook، يُرجى الضغط على الزر "مساعد Google" أو قول "OK Google" للحصول على مساعدة في أي وقت. يُرجى الانتقال إلى إعدادات "مساعد Google" لإجراء تغييرات.</translation>
+<translation id="4330191372652740264">ماء مثلج</translation>
 <translation id="4330387663455830245">عدم ترجمة <ph name="LANGUAGE" /> مطلقًا</translation>
 <translation id="4333854382783149454">‏PKCS #1 SHA-1 مع تشفير RSA</translation>
 <translation id="4336979451636460645">لسجلات الشبكة، راجع: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2149,6 +2167,7 @@
 <translation id="438503109373656455">ساراتوجا</translation>
 <translation id="4387004326333427325">تم رفض شهادة المصادقة عن بُعد</translation>
 <translation id="4389091756366370506">المستخدم <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{نافذة واحدة للتصفُّح المتخفي}zero{# نافذة مفتوحة للتصفُّح المتخفي}two{نافذتان مفتوحان للتصفُّح المتخفي (#)}few{# نوافذ مفتوحة للتصفُّح المتخفي}many{# نافذة مفتوحة للتصفُّح المتخفي}other{# نافذة مفتوحة للتصفُّح المتخفي}}</translation>
 <translation id="439266289085815679">يتم التحكّم في تهيئة البلوتوث من قِبل <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">إيقاف</translation>
 <translation id="4400367121200150367">ستظهر هنا مواقع الويب التي لا يتم حفظ كلمات المرور لها مطلقًا</translation>
@@ -2297,6 +2316,7 @@
 <translation id="4648499713050786492">يُرجى إلغاء قفل ملفك الشخصي قبل إضافة شخص.</translation>
 <translation id="4651484272688821107">تعذَّر تحميل المكوِّن على الإنترنت باستخدام موارد الوضع التجريبي.</translation>
 <translation id="465878909996028221">‏يمكن إعادة توجيه المتصفّح باستخدام بروتوكولات الملف وhttp وhttps فقط.</translation>
+<translation id="4659077111144409915">الحساب الأساسي</translation>
 <translation id="4660476621274971848">الإصدار المتوقع "<ph name="EXPECTED_VERSION" />"، ولكن الإصدار كان "<ph name="NEW_ID" />".</translation>
 <translation id="4662788913887017617">‏مشاركة هذه الإشارة المرجعة مع جهاز iPhone</translation>
 <translation id="4663373278480897665">تم السماح باستخدام الكاميرا</translation>
@@ -2342,6 +2362,7 @@
 <translation id="4724450788351008910">تغيير الاقتران</translation>
 <translation id="4725511304875193254">كورجي</translation>
 <translation id="4726710629007580002">ظهرت تحذيرات عن محاولة تثبيت هذه الإضافة:</translation>
+<translation id="4727847987444062305">جلسة الضيف المُدارة</translation>
 <translation id="4728558894243024398">النظام الأساسي</translation>
 <translation id="4733082559415072992">يريد <ph name="URL" /> استخدام الموقع الجغرافي لجهازك.</translation>
 <translation id="4733793249294335256">الموقع</translation>
@@ -2451,6 +2472,7 @@
 <translation id="488785315393301722">عرض التفاصيل</translation>
 <translation id="4890773143211625964">عرض خيارات الطابعة المتقدمة</translation>
 <translation id="4891089016822695758">منتدى الإصدار التجريبي</translation>
+<translation id="4892229439761351791">يمكن لموقع الويب استخدام البلوتوث</translation>
 <translation id="4893336867552636863">سيؤدي هذا إلى حذف بيانات التصفح من هذا الجهاز نهائيًا.</translation>
 <translation id="4893522937062257019">على شاشة التأمين</translation>
 <translation id="4898011734382862273">تمثل الشهادة "<ph name="CERTIFICATE_NAME" />" مرجعًا مصدقًا</translation>
@@ -2626,6 +2648,8 @@
 <translation id="5187295959347858724">‏لقد سجّلت الدخول إلى <ph name="SHORT_PRODUCT_NAME" />. تتم الآن مزامنة الإشارات المرجعية والسجلّ والإعدادات الأخرى مع حسابك على Google.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422">يريد <ph name="ORIGIN" /> تنزيل ملفات متعددة.</translation>
+<translation id="5192316339598592690">‏يمكنك التبديل بين الحسابات بسرعة وتسجيل الدخول إلى التطبيقات ومواقع الويب دفعة واحدة.
+    يمكن أن تطالبك التطبيقات والمواقع الإلكترونية بالحصول على إذن لاستخدام بعض معلومات حسابك على Google. <ph name="LINK_BEGIN" />مزيد من المعلومات<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">‏يُرجى إجراء powerwash للجهاز وإعادة المحاولة.</translation>
 <translation id="5204967432542742771">إدخال كلمة المرور</translation>
 <translation id="5206215183583316675">هل تريد حذف "<ph name="CERTIFICATE_NAME" />"؟</translation>
@@ -3511,6 +3535,7 @@
 <translation id="6547354035488017500">احرص على تفريغ مساحة قدرها 512 ميغابايت على الأقل أو سيصبح جهازك غير مستجيب. لتفريغ مساحة، يمكنك حذف الملفات من مساحة تخزين الجهاز.</translation>
 <translation id="6550675742724504774">خيارات</translation>
 <translation id="6551508934388063976">‏الأمر غير متوفر. اضغط على control-N لفتح نافذة جديدة.</translation>
+<translation id="6551612971599078809">‏يستخدم الموقع الإلكتروني جهاز USB</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> من المستخدمين</translation>
 <translation id="655483977608336153">إعادة المحاولة</translation>
 <translation id="6555432686520421228">إزالة جميع حسابات المستخدمين وإعادة تعيين جهاز <ph name="IDS_SHORT_PRODUCT_NAME" /> كما لو كان جديدًا.</translation>
@@ -3735,6 +3760,7 @@
 <translation id="692114467174262153">تعذَّر فتح <ph name="ALTERNATIVE_BROWSER_NAME" />.</translation>
 <translation id="6921709132208495314">إيقاف استخدام البيانات في هذه الصفحة</translation>
 <translation id="6922128026973287222">‏حفظ البيانات والاستمتاع بتصفح أسرع باستخدام ميزة توفير البيانات في Google. يمكن النقر للتعرف على المزيد من المعلومات.</translation>
+<translation id="6922745772873733498">إدخال رقم التعريف الشخصي للطباعة</translation>
 <translation id="6923132443355966645">التمرير / النقر على</translation>
 <translation id="6923633482430812883">‏حدث خطأ أثناء تحميل المشاركة. لذا يُرجى التحقّق من أن خادم الملفات الذي تتصل به يدعم بروتوكول SMB الإصدار 2 أو الإصدارات الأحدث.</translation>
 <translation id="6930036377490597025">مفتاح الأمان الخارجي أو جهاز الاستشعار المدمج</translation>
@@ -3789,6 +3815,7 @@
 <translation id="7003339318920871147">قواعد بيانات الويب</translation>
 <translation id="7003723821785740825">إعداد طريقة أسرع لإلغاء قفل جهازك</translation>
 <translation id="7003844668372540529">المنتج غير معروف <ph name="PRODUCT_ID" /> من <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">‏يمكن للموقع الإلكتروني استخدام جهاز MIDI</translation>
 <translation id="7004499039102548441">علامات التبويب الأخيرة</translation>
 <translation id="7005848115657603926">نطاق صفحة غير صالح، استخدم <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">الهامش السفلي</translation>
@@ -3801,9 +3828,11 @@
 <translation id="7017480957358237747">السماح ببعض المواقع أو حظرها،</translation>
 <translation id="7018275672629230621">الاطّلاع على سجل التصفح وتغييره</translation>
 <translation id="7019805045859631636">سريع</translation>
+<translation id="702252130983202758">تطبيقاتك</translation>
 <translation id="7022562585984256452">تم تعيين صفحتك الرئيسية.</translation>
 <translation id="7025190659207909717">إدارة خدمة بيانات الجوال</translation>
 <translation id="7029809446516969842">كلمات المرور</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - تم ربط المنفذ التسلسلي</translation>
 <translation id="7031962166228839643">‏يتم حاليًا تحضير TPM، يرجى الانتظار (قد يستغرق ذلك بضع دقائق)...</translation>
 <translation id="7037509989619051237">نص للمعاينة</translation>
 <translation id="7039326228527141150">‏الدخول إلى أجهزة USB من <ph name="VENDOR_NAME" /></translation>
@@ -3828,6 +3857,7 @@
 <translation id="706626672220389329">حدث خطأ في تحميل المشاركة. تم تحميل المشاركة المُحدّدة من قبل.</translation>
 <translation id="7066944511817949584">تعذّر الاتصال بـ "<ph name="DEVICE_NAME" />".</translation>
 <translation id="7067725467529581407">عدم عرض هذا مرةً أخرى.</translation>
+<translation id="7069811530847688087">قد يتطلب <ph name="WEBSITE" /> نوعًا مختلفًا أو أحدث لمفتاح الأمان.</translation>
 <translation id="7070484045139057854">يمكن أن يؤدي ذلك إلى قراءة بيانات موقع الويب وتغييرها</translation>
 <translation id="7072010813301522126">اسم الاختصار</translation>
 <translation id="707392107419594760">تحديد لوحة المفاتيح:</translation>
@@ -3908,6 +3938,7 @@
 <translation id="7189234443051076392">التأكد من توفر مساحة كافية على جهازك</translation>
 <translation id="7189965711416741966">تمت إضافة بصمة إصبع.</translation>
 <translation id="7191159667348037">‏طابعة غير معروفة (USB)</translation>
+<translation id="7193051357671784796">أضافت مؤسستك هذا التطبيق. يمكنك إعادة تشغيل التطبيق لإنهاء تثبيته.</translation>
 <translation id="7193374945610105795">لم يتم حفظ أي كلمات مرور لـ <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">‏يمكنك الاحتفاظ بنسخة احتياطية في Google Drive. وبإمكانك استعادة بياناتك أو تبديل جهازك بسهولة في أي وقت، علمًا بأن نسختك الاحتياطية تتضمن بيانات التطبيق. ويتم تحميل النُسخ الاحتياطية إلى Google وتشفيرها باستخدام كلمة مرور حسابك على Google. <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">‏يمكنك الحصول على "بحث Google" وميزات Google الذكية في كل مرة تتصفَّح فيها.</translation>
@@ -4330,6 +4361,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />ملاحظة:<ph name="END_BOLD" />  ستتم إعادة تشغيل النظام أثناء العملية.</translation>
 <translation id="7829298379596169484">جارٍ الوصول إلى إدخال الصوت</translation>
+<translation id="7830594666202422257">‏الربط بنظام التشغيل Linux</translation>
 <translation id="7831491651892296503">حدث خطأ أثناء تهيئة الشبكة</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">وقت الانتهاء</translation>
@@ -4359,6 +4391,7 @@
 <translation id="7877451762676714207">خطأ غير معروف في الخادم. يُرجى إعادة المحاولة أو الاتصال بمشرف الخادم.</translation>
 <translation id="7877680364634660272">جولة</translation>
 <translation id="7878562273885520351">من المحتمل أنه تم اختراق كلمة مرورك</translation>
+<translation id="7880823633812189969">سيتم حذف البيانات المحلية عند إعادة التشغيل</translation>
 <translation id="7881483672146086348">عرض حساب</translation>
 <translation id="7882358943899516840">نوع مقدم الخدمة</translation>
 <translation id="7885253890047913815">أحدث الوجهات</translation>
@@ -4454,6 +4487,7 @@
 <translation id="8008356846765065031">تم قطع الاتصال بالإنترنت. يُرجى التحقق من الاتصال بالإنترنت.</translation>
 <translation id="8009225694047762179">إدارة كلمات المرور</translation>
 <translation id="8012382203418782830">تمت ترجمة هذه الصفحة.</translation>
+<translation id="8013993649590906847">‏في حال لم تتضمن صورة ما وصفًا مفيدًا، سيحاول Chrome توفير وصف لك. لإنشاء الأوصاف، سيتم إرسال الصور إلى Google.</translation>
 <translation id="8014154204619229810">يتم تشغيل أداة التحديث حاليًا. يمكنك التحديث في دقيقة واحدة للتحقق مرة أخرى.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> غير قادر على العودة إلى الإصدار المثبت مسبقًا. يُرجى إعادة محاولة إجراء المحو الكامل لبيانات جهازك.</translation>
 <translation id="8014210335923519270">‏تحسين <ph name="IDS_SHORT_PRODUCT_NAME" /> والأمان عن طريق إرسال معلومات النظام والاستخدام إلى Google</translation>
@@ -4697,6 +4731,7 @@
 <translation id="8426713856918551002">جارٍ التمكين</translation>
 <translation id="8427292751741042100">مضمن في أي مضيف</translation>
 <translation id="8428213095426709021">الإعدادات</translation>
+<translation id="8428628598981198790">لا يمكن استخدام مفتاح الأمان مع هذا الموقع الإلكتروني</translation>
 <translation id="84297032718407999">سيتم تسجيل خروجك خلال <ph name="LOGOUT_TIME_LEFT" />.</translation>
 <translation id="8431190899827883166">عرض النقرات</translation>
 <translation id="8431909052837336408">‏تغيير رمز PIN لشريحة SIM</translation>
@@ -4901,6 +4936,7 @@
 <translation id="8732212173949624846">قراءة سجل التصفح وتعديله على كل الأجهزة التي سجلت الدخول إليها</translation>
 <translation id="8732844209475700754">مزيد من الإعدادات المتعلِّقة بالخصوصية والأمان وجمع البيانات</translation>
 <translation id="8734073480934656039">يتيح تفعيل هذا الإعداد تشغيل تطبيقات الكشك تلقائيًا عند بدء التشغيل.</translation>
+<translation id="8734671092194994316">سيؤدي ذلك إلى مغادرة سجلّ زيارتك إلى <ph name="WEBSITE" /> في مفتاح الأمان.</translation>
 <translation id="873545264931343897">عند انتهاء <ph name="PLUGIN_NAME" /> من التحديث، أعد تحميل الصفحة لتفعيلها</translation>
 <translation id="8736288397686080465">تم تحديث هذا الموقع في الخلفية.</translation>
 <translation id="8737685506611670901">فتح روابط <ph name="PROTOCOL" /> بدلاً من <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -4999,6 +5035,7 @@
 <translation id="8877448029301136595">[الدليل الأصل]</translation>
 <translation id="8879284080359814990">إ&amp;ظهار كعلامة تبويب</translation>
 <translation id="8883847527783433352">المزامنة مع حساب آخر</translation>
+<translation id="8884570509232205463">يتم قفل جهازك الآن في <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">‏Smart Lock غير متاح</translation>
 <translation id="8888253246822647887">سيتم فتح التطبيق عند انتهاء الترقية. قد تستغرق عمليات الترقية بضع دقائق.</translation>
 <translation id="8888432776533519951">اللون:</translation>
@@ -5023,7 +5060,6 @@
 <translation id="891365694296252935">‏يمكنك إرسال بيانات الاستخدام والتشخيص. يرسل هذا الجهاز حاليًا بيانات استخدام التطبيق والجهاز والتشخيص تلقائيًا إلى Google. لن يتم استخدام ذلك لتعريف حسابك الفرعي وسيساعد في استقرار عمل النظام والتطبيقات، بالإضافة إلى التحسينات الأخرى. كما ستساعد بعض البيانات المجمّعة تطبيقات Google وشركائها، مثل مطوّري برامج نظام التشغيل Android. ويفرض المالك هذ الإعداد. في حال تفعيل إعداد "النشاط الإضافي على الويب وفي التطبيقات" لحسابك الفرعي، قد يتم حفظ هذه البيانات في حسابك على Google. <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">جارٍ تحميل الاقتراح</translation>
 <translation id="8916476537757519021">الإطار الفرعي للتصفح المتخفي: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">نعم، أنا موافق</translation>
 <translation id="8919275547519617350">لإضافة كل كلمات المرور على جميع أجهزتك، يُرجى تفعيل المزامنة.</translation>
 <translation id="8921366488406707015">جارٍ التحقُّق من مفتاح الأمان...</translation>
 <translation id="8922013791253848639">السماح دائمًا بالإعلانات على هذا الموقع</translation>
@@ -5092,6 +5128,7 @@
 <translation id="9026852570893462412">قد تستغرق هذه العملية بضع دقائق. جارٍ تنزيل الآلة الافتراضية.</translation>
 <translation id="9027459031423301635">فتح الرابط في &amp;علامة تبويب جديدة</translation>
 <translation id="9030515284705930323">‏لم تمكّن مؤسستك متجر Google Play لحسابك. اتصل بالمشرف للحصول على مزيد من المعلومات.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">ل&amp;صق</translation>
 <translation id="9037965129289936994">عرض الصفحة الأصلية</translation>
 <translation id="9038649477754266430">استخدام إحدى خدمات التوقع لتحميل الصفحات بسرعة أكبر</translation>
@@ -5121,7 +5158,6 @@
 <translation id="9065203028668620118">تعديل</translation>
 <translation id="9066773882585798925">سماع النص بصوت عالٍ</translation>
 <translation id="9066782832737749352">تحويل النَّص إلى الكلام</translation>
-<translation id="907264006778172906">‏يمنح Linux الإذن بالوصول إلى أجهزة USB. لن يتذكر Linux جهاز USB بعد إزالته.</translation>
 <translation id="9073281213608662541">‏بروتوكول مصادقة كلمات المرور (PAP)</translation>
 <translation id="9074739597929991885">بلوتوث</translation>
 <translation id="9074836595010225693">‏ماوس USB متصل</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb
index d1bd43a..55ea2b6 100644
--- a/chrome/app/resources/generated_resources_bg.xtb
+++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -2004,7 +2004,6 @@
 <translation id="4109135793348361820">Преместване на прозореца към <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Изтеглянето завърши: <ph name="FILE_NAME" />. Натиснете Shift + F6, за да преминете към лентата на изтеглянето.</translation>
 <translation id="4110895898888439383">Сърфирайте в мрежата в режим на повишена четливост</translation>
-<translation id="4112221174576828331">Ако няма полезно описание за дадено изображение, Chrome ще предостави такова. Изображенията се сканират от Google.</translation>
 <translation id="4115002065223188701">Мрежата е извън обхват</translation>
 <translation id="4115080753528843955">Някои услуги за съдържание използват уникални идентификатори за целите на упълномощаването на достъп до защитено съдържание</translation>
 <translation id="4118579674665737931">Моля, рестартирайте устройството и опитайте отново.</translation>
@@ -4458,6 +4457,7 @@
 <translation id="8008356846765065031">Няма връзка с интернет. Моля, проверете връзката си.</translation>
 <translation id="8009225694047762179">Управление на паролите</translation>
 <translation id="8012382203418782830">Тази страница е преведена.</translation>
+<translation id="8013993649590906847">Ако няма полезно описание за дадено изображение, Chrome ще се опита да предостави такова. За да бъдат създадени описания, съответните изображения се изпращат до Google.</translation>
 <translation id="8014154204619229810">Актуализиращата програма понастоящем се изпълнява. Опреснете след минута, за да проверите отново.</translation>
 <translation id="8014206674403687691">Предишната инсталирана версия на <ph name="IDS_SHORT_PRODUCT_NAME" /> не може да се възстанови. Моля, опитайте отново да извършите Powerwash на устройството си.</translation>
 <translation id="8014210335923519270">Подобрете браузъра <ph name="IDS_SHORT_PRODUCT_NAME" /> и сигурността му, като ни изпращате системна информация и данни за употребата</translation>
@@ -5027,7 +5027,6 @@
 <translation id="891365694296252935">Изпращане на данни за употребата и диагностиката. Понастоящем това устройство автоматично изпраща до Google диагностична информация и данни за употребата на устройството и приложенията. Тази информация няма да се използва за идентифициране на детето ви, а ще послужи за подобряване на стабилността на системата и приложенията и др. Някои обобщени данни също така ще подпомогнат приложенията и партньорите на Google, напр. програмистите за Android. Тази настройка е наложена от собственика. Ако настройката „Допълнителна активност в мрежата и приложенията“ е включена за детето ви, тези данни може да се запазват в профила му в Google. <ph name="BEGIN_LINK1" />Научете повече<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Предложението се зарежда</translation>
 <translation id="8916476537757519021">Подрамка в режим „инкогнито“: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Да, ще участвам</translation>
 <translation id="8919275547519617350">Влезте в профила си и включете синхронизирането, за да получите паролите си на всичките си устройства.</translation>
 <translation id="8921366488406707015">Ключът ви за сигурност се потвърждава...</translation>
 <translation id="8922013791253848639">Рекламите на този сайт да са разрешени винаги</translation>
@@ -5125,7 +5124,6 @@
 <translation id="9065203028668620118">Редактиране</translation>
 <translation id="9066773882585798925">Прослушване на текст, прочетен на глас</translation>
 <translation id="9066782832737749352">Синтезиран говор</translation>
-<translation id="907264006778172906">Разрешаване на Linux да осъществява достъп до USB устройства. Linux няма да запомни дадено USB устройство, след като бъде премахнато.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Мишката с USB е свързана</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index 6dc4a87..879b7d6a 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">ডিভাইসগুলি লোড করা যায়নি৷</translation>
 <translation id="1008186147501209563">বুকমার্ক এক্সপোর্ট করুন</translation>
 <translation id="1008557486741366299">এখনই নয়</translation>
+<translation id="1010498023906173788">এই ট্যাব একটি সিরিয়াল পোর্টে কানেক্ট করা আছে।</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{পৃষ্ঠা প্রতিক্রিয়াবিহীন}one{পৃষ্ঠাগুলি প্রতিক্রিয়াবিহীন}other{পৃষ্ঠাগুলি প্রতিক্রিয়াবিহীন}}</translation>
 <translation id="1012794136286421601">আপনার দস্তাবেজ, পত্রক, স্লাইড এবং অঙ্কন ফাইলগুলি সিঙ্ক হচ্ছে৷ অনলাইন বা অফলাইনে সেগুলিকে অ্যাক্সেস করতে Google ড্রাইভ অ্যাপ্লিকেশানটি খুলুন৷</translation>
 <translation id="1012876632442809908">USB-C ডিভাইস (সামনের পোর্ট)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">পূর্ণ স্ক্রিন থেকে বেরিয়ে যেতে |<ph name="ACCELERATOR" />| চাপুন</translation>
 <translation id="1038168778161626396">কেবলমাত্র চিহ্ন প্রদান</translation>
 <translation id="1039337018183941703">ভুল বা দূষিত ফাইল</translation>
+<translation id="1041175011127912238">এই পৃষ্ঠা সাড়া দিচ্ছে না</translation>
 <translation id="1042174272890264476">আপনার কম্পিউটারও <ph name="SHORT_PRODUCT_NAME" /> এর RLZ লাইব্রেরি বিল্ট ইনের সাথে আসে৷ RLZ সার্চগুলি পরিমাপ করার জন্য একটি সাধারণ, ব্যক্তিগতভাবে সনাক্তকরণযোগ্য নয় এমন ট্যাগ নির্ধারণ করে এবং <ph name="SHORT_PRODUCT_NAME" /> এর ব্যবহার একটি নির্দিষ্ট প্রচারাভিযানের মাধ্যমে চালিত হয়৷ এই লেবেলগুলি কখনো কখনো <ph name="PRODUCT_NAME" /> এ Google সার্চ ক্যোয়ারিগুলিতে প্রদর্শিত হয়৷</translation>
 <translation id="1046059554679513793">উপস, নামটি ইতিমধ্যে ব্যবহারে রয়েছে!</translation>
 <translation id="1046635659603195359">মনে হচ্ছে আপনি আগেই অন্য একটি ডিভাইসে আপনার Google অ্যাসিস্ট্যান্টের সাথে Voice Match সেট-আপ করেছেন। পূর্বের এই রেকর্ডিংগুলি ব্যবহার করে এই ডিভাইসে ভয়েস মডেল তৈরি করা যাবে। এতে এক মিনিটেরও কম সময় লাগবে।</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">ব্রাউজিং এর ইতিহাস সেভ না করে ওয়েব ব্রাউজ করার জন্য ছদ্মবেশী উইন্ডো ব্যবহার করুন</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" />টি আঙ্গুলের ছাপের সেট আপ</translation>
 <translation id="1215411991991485844">নতুন পটভূমি অ্যাপ্লিকেশন জোড়া হয়েছে</translation>
+<translation id="1217483152325416304">আপনার স্থানীয় ডেটা শীঘ্রই মুছে যাবে</translation>
 <translation id="1217668622537098248">কাজটি হয়ে গেলে লেফ্ট ক্লিকে ফিরে যান</translation>
 <translation id="121783623783282548">পাসওয়ার্ডগুলি মেলে না৷</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Google-এর লোকেশন ভিত্তিক পরিষেবা ওয়াই-ফাই, মোবাইল নেটওয়ার্ক এবং সেন্সরের মতো উৎস ব্যবহার করে আপনার ডিভাইসের লোকেশন অনুমান করে।<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">বিবরণ: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ইনস্টলেশন চালু করা হয়নি</translation>
 <translation id="1483493594462132177">পাঠান</translation>
+<translation id="1484979925941077974">সাইট ব্লুটুথ ব্যবহার করছে</translation>
 <translation id="1485015260175968628">এটি এখন করতে পারে:</translation>
 <translation id="1485141095922496924">ভার্সন <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">পাসওয়ার্ড খুঁজুন</translation>
@@ -457,6 +461,7 @@
 <translation id="1708338024780164500">(নিষ্ক্রিয়)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (আইডি: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (নির্ধারিত)</translation>
+<translation id="1711401317189798723">বর্তমানে <ph name="CONTAINER_ID" />-এর ব্যাক-আপ নেওয়া হচ্ছে</translation>
 <translation id="1712349894969001173">আপনার iPhone এ এই পাসওয়ার্ড পান</translation>
 <translation id="1712552549805331520"><ph name="URL" /> স্থায়ীভাবে আপনার কম্পিউটারে ডেটা স্টোর করতে চায়</translation>
 <translation id="1718835860248848330">শেষ ঘণ্টা</translation>
@@ -606,6 +611,7 @@
 <translation id="1932026958134051332">অ্যাক্সেস পাল্টানোর বিকল্পগুলি</translation>
 <translation id="1932098463447129402">আগে কখনও নয়</translation>
 <translation id="1933809209549026293">দয়া করে একটি মাউস বা কীবোর্ড সংযোগ করুন৷ যদি আপনি একটি ব্লুটুথ ডিভাইস ব্যবহার করে থাকেন তবে এটি যুক্ত করার জন্য তৈরি কিনা নিশ্চিত করুন৷</translation>
+<translation id="1937774647013465102">এই ডিভাইস <ph name="ARCHITECTURE_DEVICE" /> হওয়ার ফলে <ph name="ARCHITECTURE_CONTAINER" /> ধরনের কন্টেনার আর্কিটেকচার ইম্পোর্ট করা যাচ্ছে না। আপনি একটি অন্য ডিভাইসে এই কন্টেনার ফিরিয়ে আনার চেষ্টা করতে পারেন অথবা 'ফাইল' অ্যাপ খুলে কন্টেনার ছবির অন্তর্ভুক্ত ফাইল অ্যাক্সেস করতে পারেন।</translation>
 <translation id="1938351510777341717">এক্সটার্নাল কমান্ড</translation>
 <translation id="1940546824932169984">সংযুক্ত ডিভাইস</translation>
 <translation id="1944921356641260203">আপডেট পাওয়া গেছে</translation>
@@ -890,9 +896,11 @@
 <translation id="2392369802118427583">সক্রিয় করুন</translation>
 <translation id="2394566832561516196">পরবর্তী পুনঃলোডে সেটিংস সাফ করা হবে৷</translation>
 <translation id="2395616325548404795">আপনার <ph name="DEVICE_TYPE" /> কে এন্টারপ্রাইজ পরিচালনার জন্য সফলভাবে নথিভুক্ত করা হয়েছে, কিন্তু এর সম্পদ এবং অবস্থানের তথ্য পাঠানো ব্যর্থ হয়েছে৷ অনুগ্রহ করে এই ডিভাইসের জন্য আপনার অ্যাডমিন কনসোল থেকে নিজে এই তথ্য লিখুন৷</translation>
+<translation id="2396783860772170191">৪ সংখ্যার পিন লিখুন (০০০০-৯৯৯৯)</translation>
 <translation id="2408955596600435184">আপনার পিন লিখুন</translation>
 <translation id="241082044617551207">অজানা প্ল্যাগ ইন</translation>
 <translation id="2413749388954403953">বুকমার্ক ইউজার ইন্টারফেস পরিবর্তন করুন</translation>
+<translation id="241639282915300771">বর্তমানে <ph name="CONTAINER_ID" /> ফিরিয়ে আনার কাজ চলছে</translation>
 <translation id="241727068219398187">Google পাসওয়ার্ড দিয়ে <ph name="TIME" />-এ আপনার ডেটা এনক্রিপ্ট করা হয়েছিল। এতে Google Pay-এর পেমেন্ট পদ্ধতি ও ঠিকানা অন্তর্ভুক্ত থাকে না।</translation>
 <translation id="2419706071571366386">নিরাপত্তার কারণে, আপনার কম্পিউটার ব্যবহার করা না হলে সাইন-আউট করুন।</translation>
 <translation id="2423578206845792524">এই রূপে ছবি সং&amp;রক্ষণ করুন...</translation>
@@ -984,6 +992,7 @@
 <translation id="2538361623464451692">সিঙ্ক বন্ধ করা হয়েছে</translation>
 <translation id="2540449034743108469">এক্সটেনশন অ্যাক্টিভিটির উপর লক্ষ্য রাখতে "শুরু করুন" টিপুন</translation>
 <translation id="2541002089857695151">ফুল-স্ক্রিন কাস্টিং অপ্টিমাইজ করবেন?</translation>
+<translation id="2541706104884128042">ঘুমানোর নতুন সময় সেট করা হয়েছে</translation>
 <translation id="2544853746127077729">নেটওয়ার্কের দ্বারা প্রমাণীকরণ সার্টিফিকেট প্রত্যাখ্যান করা হয়েছে</translation>
 <translation id="2549985041256363841">রেকর্ডিং শুরু করুন</translation>
 <translation id="2550212893339833758">অদলবদল করা মেমরি</translation>
@@ -1076,6 +1085,7 @@
 <translation id="2677748264148917807">ছেড়ে চলে যান</translation>
 <translation id="2678063897982469759">পুনঃ সক্ষম</translation>
 <translation id="268053382412112343">Hi&amp;story</translation>
+<translation id="2682498795777673382">তোমার অভিভাবকের থেকে আপডেট</translation>
 <translation id="2683638487103917598">ফোল্ডার সাজানো হয়েছে</translation>
 <translation id="2684004000387153598">চালিয়ে যেতে 'ঠিক আছে' বোতামে ক্লিক করুন, তারপর আপনার ইমেল আইডির জন্য নতুন প্রোফাইল তৈরি করতে 'কাউকে যোগ করুন' বোতামে ক্লিক করুন।</translation>
 <translation id="2688196195245426394">ডিভাইসটি সার্ভারে নথিভুক্ত করার সময়ে ত্রুটি: <ph name="CLIENT_ERROR" />৷</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">বন্ধ হওয়া উইল্ডো পুনরায়&amp;খুলুন</translation>
 <translation id="2731700343119398978">অনুগ্রহ করে অপেক্ষা করুন...</translation>
 <translation id="2731710757838467317">আপনার তত্বাবধানে থাকা ব্যবহারকারী তৈরি করা হচ্ছে৷ এটি কয়েক মিনিট সময় নিতে পারে৷</translation>
+<translation id="2731971182069536520">ডিভাইস পরের বার চালানোর সময়, আপনার অ্যাডমিনিস্ট্রেটর এককালীন আপডেট করবেন যার ফলে আপনার স্থানীয় ডেটা মুছে যাবে।</translation>
 <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" />-এর অধীনে থাকা সাইটগুলিও রিসেট করা হবে।</translation>
 <translation id="2735438478659026460">মাউস কার্সার বন্ধ হয়ে গেলে নিজে থেকে ক্লিক করুন</translation>
 <translation id="2735712963799620190">সময়সূচি</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">ভাষ্য ইঞ্জিন</translation>
 <translation id="3047644958362961983">এই তথ্য আপনার অ্যাসিস্ট্যান্ট সংক্রান্ত সমস্যাগুলি আমাদের আরও ভাল করে বুঝতে সাহায্য করে। এটি ৯০ দিন পর্যন্ত স্টোর করা থাকে এবং অ্যাক্সেস যথাযথ ইঞ্জিনিয়ারিং এবং মতামত টিমগুলির মধ্যে সীমাবদ্ধ থাকে।</translation>
 <translation id="3053013834507634016">সার্টিফিকেট কী ব্যবহার</translation>
+<translation id="3053273573829329829">ব্যবহারকারীর জন্য পিন চালু করুন</translation>
 <translation id="3058498974290601450">যেকোনও সময় সেটিংস থেকে আপনি সিঙ্ক চালু করতে পারেন</translation>
 <translation id="3060379269883947824">'বাছুন ও শুনুন' চালু করুন</translation>
 <translation id="3061707000357573562">প্যাচ পরিষেবা</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">হয় Chrome-এর মেমরির শেষ হয়েছে অথবা অন্য কোন কারণে ওয়েবপৃষ্ঠার প্রক্রিয়া বন্ধ হয়েছে৷ অবিরত রাখতে, আবার লোড করুন বা অন্য পৃষ্ঠায় যান৷</translation>
 <translation id="3085412380278336437">সাইটটি আপনার ক্যামেরা ব্যবহার করতে পারে</translation>
 <translation id="3085752524577180175">সক্স হোস্ট</translation>
+<translation id="3088052000289932193">সাইট MIDI ব্যবহার করছে</translation>
 <translation id="3088325635286126843">&amp;পুনঃনামকরণ...</translation>
 <translation id="3089137131053189723">সার্চ বিভাগ খালি করা হয়েছে।</translation>
 <translation id="3090193911106258841">অডিও এবং ভিডিও ইনপুটে অ্যাক্সেস করা হচ্ছে</translation>
@@ -1468,6 +1481,7 @@
 <translation id="3317459757438853210">দ্বি-পার্শ্বযুক্ত</translation>
 <translation id="3317678681329786349">ক্যামেরা এবং মাইক্রোফোনের ব্যবহার ব্লক করা হয়েছে</translation>
 <translation id="3319048459796106952">নতুন &amp;ছদ্মবেশ উইন্ডো</translation>
+<translation id="3323521181261657960">বোনাস! তোমাকে আরও স্ক্রিন টাইম দেওয়া হয়েছে</translation>
 <translation id="3325910708063135066">Mac-এর সিস্টেম অভিরুচিতে ক্যামেরা ও মাইক্রোফোন বন্ধ করা আছে</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">অ্যাপ্লিকেশানের তথ্য</translation>
@@ -1763,6 +1777,7 @@
 <translation id="3765246971671567135">অফলাইন ডেমো মোড নীতি পড়া যায়নি।</translation>
 <translation id="3766223500670287046">দূরবর্তী স্ক্রিন</translation>
 <translation id="3768037234834996183">আপনার পছন্দগুলি সিঙ্ক হচ্ছে...</translation>
+<translation id="377050016711188788">আইসক্রিম</translation>
 <translation id="3771294271822695279">ভিডিও  ফাইলসমূহ</translation>
 <translation id="3775432569830822555">SSL সার্ভার সার্টিফিকেট</translation>
 <translation id="3775705724665058594">আপনার ডিভাইসে পাঠান</translation>
@@ -1841,6 +1856,7 @@
 <translation id="3869917919960562512">ভুল সূচি৷</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" />-এর জন্য কোনও সেভ করা পাসওয়ার্ড নেই</translation>
 <translation id="3871092408932389764">সর্বনিম্ন</translation>
+<translation id="3871350334636688135">২৪ ঘণ্টা পরে ডিভাইস আবার চালু করলে, আপনার অ্যাডমিনিস্ট্রেটর এককালীন আপডেট করবেন যার ফলে আপনার স্থানীয় ডেটা মুছে যাবে। ২৪ ঘণ্টার মধ্যে আপনার প্রয়োজনীয় স্থানীয় ডেটা ক্লাউড স্টোরেজে সেভ করে রাখুন।</translation>
 <translation id="3872220884670338524">আরও অ্যাকশন, <ph name="DOMAIN" />-এ <ph name="USERNAME" />-এর জন্য অ্যাকাউন্ট সেভ করা হয়েছে</translation>
 <translation id="3872991219937722530">ডিস্কে জায়গা খালি করুন, নাহলে ডিভাইস সাড়া দিবে না।</translation>
 <translation id="3873315167136380065">এটি চালু করতে, আপনার সিঙ্ক পাসফ্রেজটি সরিয়ে দিতে <ph name="BEGIN_LINK" />সিঙ্ক রিসেট করুন<ph name="END_LINK" /></translation>
@@ -1919,6 +1935,7 @@
 <translation id="3983400541576569538">কিছু অ্যাপের ডেটা মুছে যেতে পারে</translation>
 <translation id="3983586614702900908">একটি অজানা বিক্রেতা থেকে ডিভাইসগুলি</translation>
 <translation id="3984159763196946143">ডেমো মোড শুরু করা যায়নি</translation>
+<translation id="3984431586879874039">এই সাইটকে আপনার নিরাপত্তা কী দেখতে দিতে চান?</translation>
 <translation id="3987348946546879621">ডেটা বাঁচানো হয়েছে</translation>
 <translation id="3987938432087324095">বোঝা গেল না।</translation>
 <translation id="3988996860813292272">সময় অঞ্চল বেছে নিন</translation>
@@ -1995,13 +2012,13 @@
 <translation id="4099060993766194518">ডিফল্ট সার্চ ইঞ্জিন পুনরুদ্ধার করবেন?</translation>
 <translation id="4099874310852108874">নেটওয়ার্কে সমস্যা হয়েছে।</translation>
 <translation id="4100733287846229632">ডিভাইসের স্থান আশংকাজনকভাবে কম</translation>
+<translation id="4100853287411968461">নতুন স্ক্রিন টাইমের সীমা</translation>
 <translation id="4103091233824664032">স্ক্রিন লক এবং সাইন-ইন কনফিগার করার জন্য আপনার পাসওয়ার্ড লিখুন</translation>
 <translation id="4104163789986725820">র&amp;প্তানি...</translation>
 <translation id="4107048419833779140">স্টোরেজ ডিভাইসগুলি শনাক্ত করে সরিয়ে দিন</translation>
 <translation id="4109135793348361820"><ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) এ উইন্ডো সরান</translation>
 <translation id="4110490973560452005">ডাউনলোড হয়ে গেছে: <ph name="FILE_NAME" />। Shift+F6 প্রেস করে ডাউনলোড বার এরিয়াতে যান।</translation>
 <translation id="4110895898888439383">উচ্চ কনট্রাস্ট মোডে ওয়েব ব্রাউজ করুন</translation>
-<translation id="4112221174576828331">যদি ছবিতে প্রয়োজনীয় বিবরণ দেওয়া না থাকে, তাহলে Chrome আপনাকে একটি বিবরণ দেওয়ার চেষ্টা করবে। ছবিগুলি Google স্ক্যান করে।</translation>
 <translation id="4115002065223188701">নেটওয়ার্ক সীমার বাইরে</translation>
 <translation id="4115080753528843955">কিছু কনটেন্ট পরিষেবা অনন্য আইডেন্টিফায়ার ব্যবহার করে সুরক্ষিত কনটেন্টে অ্যাক্সেস দেয়</translation>
 <translation id="4118579674665737931">ডিভাইসটি রিবুট করে আবার চেষ্টা করুন।</translation>
@@ -2115,6 +2132,7 @@
 <translation id="4324577459193912240">ফাইলটি অসম্পূর্ণ</translation>
 <translation id="4325237902968425115"><ph name="LINUX_APP_NAME" /> আনইনস্টল করা হচ্ছে…</translation>
 <translation id="4328203388435897516">আপনার Chromebook সেট-আপ করা হয়ে গেলে, যেকোনও সময় সাহায্য পেতে অ্যাসিস্ট্যান্ট বোতাম টিপুন বা "হ্যালো Google" বলুন। পরিবর্তন করতে অ্যাসিস্ট্যান্ট সেটিংসে যান।</translation>
+<translation id="4330191372652740264">বরফ জল</translation>
 <translation id="4330387663455830245">কখনও <ph name="LANGUAGE" /> অনুবাদ করবেন না</translation>
 <translation id="4333854382783149454">RSA এনক্রিপশানের সাথে PKCS #1 SHA-1</translation>
 <translation id="4336979451636460645">নেটওয়ার্ক লগগুলির জন্য: <ph name="DEVICE_LOG_LINK" /> দেখুন</translation>
@@ -2150,6 +2168,7 @@
 <translation id="438503109373656455">সারাটোগা</translation>
 <translation id="4387004326333427325">দূরবর্তী লোকেশন থেকে প্রমাণীকরণ সার্টিফিকেট প্রত্যাখ্যান করা হয়েছে</translation>
 <translation id="4389091756366370506">ব্যবহারকারী<ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{ছদ্মবেশী মোড}one{ছদ্মবেশী মোডে #টি উইন্ডো খোলা আছে}other{ছদ্মবেশী মোডে #টি উইন্ডো খোলা আছে}}</translation>
 <translation id="439266289085815679"><ph name="USER_EMAIL" /> এর মাধ্যমে ব্লুটুথ কনফিগারেশন নিয়ন্ত্রিত হয়।</translation>
 <translation id="4394049700291259645">বন্ধ</translation>
 <translation id="4400367121200150367">যে সাইটগুলি কখনও পাসওয়ার্ড সংরক্ষণ করে না সেগুলি এখানে দেখা যাবে</translation>
@@ -2298,6 +2317,7 @@
 <translation id="4648499713050786492">কোনো ব্যক্তি যোগ করার আগে দয়া করে আপনার প্রোফাইলটি আনলক করুন।</translation>
 <translation id="4651484272688821107">ডেমো মোড রিসোর্স সহ অনলাইন কম্পোনেন্ট লোড করা যায়নি।</translation>
 <translation id="465878909996028221">ব্রাউজার রিডাইরেক্টের জন্য শুধুমাত্র http, https ও ফাইল প্রটোকল কাজ করে।</translation>
+<translation id="4659077111144409915">প্রাথমিক অ্যাকাউন্ট</translation>
 <translation id="4660476621274971848">"<ph name="EXPECTED_VERSION" />" ভার্সনটি হওয়া উচিত ছিল, কিন্তু ভার্সনটি হল "<ph name="NEW_ID" />"</translation>
 <translation id="4662788913887017617">এই বুকমার্কটি আপনার iPhone এর সাথে শেয়ার করুন</translation>
 <translation id="4663373278480897665">ক্যামেরা ব্যবহারের অনুমতি দেওয়া হয়েছে</translation>
@@ -2343,6 +2363,7 @@
 <translation id="4724450788351008910">অনুমতি পরিবর্তিত</translation>
 <translation id="4725511304875193254">কর্গি কুকুর</translation>
 <translation id="4726710629007580002">আপনি যখন এই এক্সটেনশনটি ইনস্টল করার চেষ্টা করছিলেন তখন সতর্কবার্তা ছিল:</translation>
+<translation id="4727847987444062305">ম্যানেজ করা গেস্ট সেশন</translation>
 <translation id="4728558894243024398">প্ল্যাটফর্ম</translation>
 <translation id="4733082559415072992"><ph name="URL" /> আপনার ডিভাইসের লোকেশন ব্যবহার করতে চায়</translation>
 <translation id="4733793249294335256">লোকেশন</translation>
@@ -2452,6 +2473,7 @@
 <translation id="488785315393301722">বিশদ বিবরণ দেখান</translation>
 <translation id="4890773143211625964">উন্নত প্রিন্ট বিকল্পগুলি দেখান</translation>
 <translation id="4891089016822695758">বিটা ফোরাম</translation>
+<translation id="4892229439761351791">সাইট ব্লুটুথ ব্যবহার করতে পারে</translation>
 <translation id="4893336867552636863">এটি স্থায়ীভাবে এই ডিভাইস থেকে আপনার ব্রাউজিং ডেটা মুছে ফেলবে।</translation>
 <translation id="4893522937062257019">লক স্ক্রিনে</translation>
 <translation id="4898011734382862273">"<ph name="CERTIFICATE_NAME" />" সার্টিফিকেটটি একটি শংসাকরণ কর্তৃপক্ষের প্রতিনিধিত্ব করে</translation>
@@ -2627,6 +2649,8 @@
 <translation id="5187295959347858724">আপনি এখন <ph name="SHORT_PRODUCT_NAME" />এ সাইন-ইন করেছেন৷ আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস আপনার Google অ্যাকাউন্টে সিঙ্ক করা হচ্ছে৷</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> একাধিক ফাইল ডাউনলোড করতে চায়</translation>
+<translation id="5192316339598592690">অ্যাকাউন্ট দ্রুত পাল্টান এবং অ্যাপ ও ওয়েবসাইটে একই সাথে সাইন-ইন করুন।
+    অ্যাপ ও সাইট আপনার Google অ্যাকাউন্টের কিছু তথ্য ব্যবহার করার অনুমতি চাইতে পারে। <ph name="LINK_BEGIN" />আরও জানুন<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">ডিভাইস পাওয়ারওয়াশ করে আবার চেষ্টা করুন।</translation>
 <translation id="5204967432542742771">পাসওয়ার্ড প্রবেশ করান</translation>
 <translation id="5206215183583316675">"<ph name="CERTIFICATE_NAME" />" মুছবেন?</translation>
@@ -3513,6 +3537,7 @@
 <translation id="6547354035488017500">কমপক্ষে ৫১২ এমবি জায়গা ফাঁকা করুন, নাহলে আপনার ডিভাইস সাড়া দিবে না। জায়গা খালি করার জন্য, ডিভাইসের সঞ্চয়স্থান থেকে ফাইল মুছুন।</translation>
 <translation id="6550675742724504774">বিকল্পসমূহ</translation>
 <translation id="6551508934388063976">কম্যান্ড উপলভ্য নেই৷ একটি নতুন উইন্ডো খুলতে control-N টিপুন৷</translation>
+<translation id="6551612971599078809">সাইট ইউএসবি ব্যবহার করছে</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> জন ব্যবহারকারী</translation>
 <translation id="655483977608336153">আবার করুন</translation>
 <translation id="6555432686520421228">নতুনের মতো করতে সমস্ত ব্যবহারকারী অ্যাকাউন্টগুলি সরান এবং আপনার <ph name="IDS_SHORT_PRODUCT_NAME" /> ডিভাইস রিসেট করুন৷</translation>
@@ -3737,6 +3762,7 @@
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> চালু করা যাচ্ছে না</translation>
 <translation id="6921709132208495314">এই পৃষ্ঠাটিতে ডেটা ব্যবহার করা বন্ধ করুন</translation>
 <translation id="6922128026973287222">Google ডেটা সেভার ব্যবহার করে তথ্য সেভ করুন এবং দ্রুত ব্রাউস করুন৷ আরও জানতে ক্লিক করুন৷</translation>
+<translation id="6922745772873733498">প্রিন্ট করতে সঠিক পিনটি লিখুন</translation>
 <translation id="6923132443355966645">স্ক্রোল / ক্লিক করুন</translation>
 <translation id="6923633482430812883">মাউন্ট করার সময় সমস্যা হয়েছে। আপনি যে ফাইল সার্ভারে কানেক্ট করছেন সেটি SMBv2 বা তার পরের কোনও ভার্সন সমর্থন করে কিনা দেখুন।</translation>
 <translation id="6930036377490597025">এক্সটার্নাল নিরাপত্তা কী অথবা বিল্ট-ইন সেন্সর</translation>
@@ -3791,6 +3817,7 @@
 <translation id="7003339318920871147">ওয়েব ডেটাবেসসমূহ</translation>
 <translation id="7003723821785740825">আপনার ডিভাইস আনলক করার জন্য একটি দ্রুততর উপায় সেট আপ করুন</translation>
 <translation id="7003844668372540529"><ph name="VENDOR_NAME" /> এর থেকে অজানা পণ্য <ph name="PRODUCT_ID" /></translation>
+<translation id="7004402701596653846">সাইট MIDI ব্যবহার করতে পারে</translation>
 <translation id="7004499039102548441">সাম্প্রতিক ট্যাবগুলি</translation>
 <translation id="7005848115657603926">ভুল পৃষ্ঠা ব্যাপ্তি, <ph name="EXAMPLE_PAGE_RANGE" /> ব্যবহার করুন</translation>
 <translation id="7006634003215061422">নীচের মার্জিন</translation>
@@ -3803,9 +3830,11 @@
 <translation id="7017480957358237747">নির্দিষ্ট কিছু ওয়েবসাইটকে অনুমতি দিন বা নিষিদ্ধ করুন</translation>
 <translation id="7018275672629230621">আপনার ব্রাউজিং ইতিহাস পড়ুন এবং পরিবর্তন করুন</translation>
 <translation id="7019805045859631636">দ্রুত</translation>
+<translation id="702252130983202758">আপনার অ্যাপ</translation>
 <translation id="7022562585984256452">আপনার হোম পৃষ্ঠা সেট করা হয়েছে৷</translation>
 <translation id="7025190659207909717">মোবাইল ডেটা পরিষেবা পরিচালন</translation>
 <translation id="7029809446516969842">পাসওয়ার্ড</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - সিরিয়াল পোর্ট কানেক্ট করা হয়েছে</translation>
 <translation id="7031962166228839643">TPM প্রস্তুত করা হচ্ছে, দয়া করে অপেক্ষা করুন (এটি কয়েক মিনিট সময় নিতে পারে)...</translation>
 <translation id="7037509989619051237">প্রিভিউ করার জন্য টেক্সট</translation>
 <translation id="7039326228527141150">USB ডিভাইসগুলি <ph name="VENDOR_NAME" /> থেকে অ্যাক্সেস করুন</translation>
@@ -3830,6 +3859,7 @@
 <translation id="706626672220389329">শেয়ার মাউন্ট করা যায়নি। নির্দিষ্ট শেয়ারটি আগেই মাউন্ট করা হয়েছে।</translation>
 <translation id="7066944511817949584">"<ph name="DEVICE_NAME" />"-এর সাথে সংযোগ করতে ব্যর্থ৷</translation>
 <translation id="7067725467529581407">এটি আর কখনো দেখাবেন না।</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" />-এর জন্য নতুন বা অন্য ধরনের নিরাপত্তা কী প্রয়োজন হতে পারে</translation>
 <translation id="7070484045139057854">এটি সাইট ডেটা পড়তে এবং পরিবর্তন করতে পারে</translation>
 <translation id="7072010813301522126">শর্টকাটের নাম</translation>
 <translation id="707392107419594760">আপনার কীবোর্ড বেছে নিন:</translation>
@@ -3910,6 +3940,7 @@
 <translation id="7189234443051076392">আপনার ডিভাইসে পর্যাপ্ত জায়গা আছে কিনা দেখে নিন</translation>
 <translation id="7189965711416741966">আঙ্গুলের ছাপ যোগ করা হয়েছে।</translation>
 <translation id="7191159667348037">অজানা প্রিন্টার (USB)</translation>
+<translation id="7193051357671784796">আপনার সংস্থা এই অ্যাপ যোগ করেছে। ইনস্টল করা সম্পূর্ণ করতে অ্যাপটি আবার চালু করুন।</translation>
 <translation id="7193374945610105795"><ph name="ORIGIN" /> এর জন্য কোনও পাসওয়ার্ড সেভ করা হয়নি</translation>
 <translation id="7196913789568937443">Google ড্রাইভে ব্যাক-আপ নিন। যেকোনও সময় সহজেই আপনার ডেটা ফিরিয়ে আনুন বা ডিভাইস পাল্টান। আপনার ব্যাক-আপে অ্যাপ ডেটা থাকে। আপনার ব্যাক-আপ ডেটা Google-এ আপলোড করা হয় এবং আপনার Google অ্যাকাউন্টের পাসওয়ার্ড ব্যবহার করে সেগুলিকে এনক্রিপ্ট করা হয়। <ph name="BEGIN_LINK1" />আরও জানুন<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">প্রত্যেকবার ব্রাউজ করার সময় Google সার্চ ও Google স্মার্ট পান</translation>
@@ -4331,6 +4362,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />দ্রষ্টব্য:<ph name="END_BOLD" />  এটি করলে সিস্টেম রিবুট করা হবে।</translation>
 <translation id="7829298379596169484">অডিও ইনপুট অ্যাক্সেস করা হচ্ছে</translation>
+<translation id="7830594666202422257">Linux-এর সাথে কানেক্ট করুন</translation>
 <translation id="7831491651892296503">নেটওয়ার্ক কনফিগার করার সময় ত্রুটি</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">শেষের সময়</translation>
@@ -4360,6 +4392,7 @@
 <translation id="7877451762676714207">অজানা সার্ভার ত্রুটি৷ দয়া করে আবার চেষ্টা করুন, অথবা সার্ভার প্রশাসকের সাথে যোগাযোগ করুন৷</translation>
 <translation id="7877680364634660272">ভ্রমণ</translation>
 <translation id="7878562273885520351">আপনার পাসওয়ার্ড অন্য কেউ পরিবর্তন করার চেষ্টা করেছে</translation>
+<translation id="7880823633812189969">আবার চালু করার পরে স্থানীয় ডেটা মুছে যাবে</translation>
 <translation id="7881483672146086348">আ্যাকাউন্ট দেখুন</translation>
 <translation id="7882358943899516840">পরিষেবা প্রদানকারীর ধরন</translation>
 <translation id="7885253890047913815">সাম্প্রতিক গন্তব্যস্থল</translation>
@@ -4455,6 +4488,7 @@
 <translation id="8008356846765065031">ইন্টারনেট সংযোগ বিচ্ছিন্ন হয়েছে৷ দয়া করে আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন৷</translation>
 <translation id="8009225694047762179">পাসওয়ার্ড পরিচালনা করুন</translation>
 <translation id="8012382203418782830">এই পৃষ্ঠাটি অনুবাদ করা হয়েছে৷</translation>
+<translation id="8013993649590906847">যদি ছবিতে প্রয়োজনীয় বিবরণ দেওয়া না থাকে, তাহলে Chrome আপনাকে একটি বিবরণ দেওয়ার চেষ্টা করবে। বিবরণ তৈরির জন্য, Google-এ ছবি পাঠানো হয়।</translation>
 <translation id="8014154204619229810">আপডেটার বর্তমানে চলমান রয়েছে। আবার চেক করতে মিনিটখানেকের মধ্যে রিফ্রেশ করুন।</translation>
 <translation id="8014206674403687691">ইনস্টল করা পূর্ববর্তী সংস্করণে <ph name="IDS_SHORT_PRODUCT_NAME" />কে নিয়ে যাওয়া যায়নি৷ দয়া করে আপনার ডিভাইসকে আবার পাওয়ারওয়াশ করার চেষ্টা করুন৷</translation>
 <translation id="8014210335923519270">Google-এ সিস্টেমের তথ্য এবং ব্যবহারের তথ্য পাঠিয়ে <ph name="IDS_SHORT_PRODUCT_NAME" /> এবং তার নিরাপত্তা উন্নত করুন</translation>
@@ -4698,6 +4732,7 @@
 <translation id="8426713856918551002">সক্ষম করা হচ্ছে</translation>
 <translation id="8427292751741042100">অন্য কোনও হোস্টে এম্বেড করা হয়েছে</translation>
 <translation id="8428213095426709021">সেটিংস</translation>
+<translation id="8428628598981198790">এই সাইটে আপনার নিরাপত্তা কী ব্যবহার করা যাবে না</translation>
 <translation id="84297032718407999">আপনি <ph name="LOGOUT_TIME_LEFT" />-এ সাইন-আউট হয়ে যাবেন</translation>
 <translation id="8431190899827883166">ট্যাপগুলি দেখুন</translation>
 <translation id="8431909052837336408">সিম পিন পরিবর্তন করুন</translation>
@@ -4902,6 +4937,7 @@
 <translation id="8732212173949624846">আপনার সমস্ত প্রবেশ করা ডিভাইসে ব্রাউজিং ইতিহাস পড়ুন এবং সংশোধন করুন</translation>
 <translation id="8732844209475700754">গোপনীয়তা, নিরাপত্তা এবং ডেটা সংগ্রহের সাথে সম্পর্কিত আরও সেটিংস</translation>
 <translation id="8734073480934656039">এই সেটিংটি চালু করলে kiosk অ্যাপ্লিকেশনগুলি সিস্টেমের প্রারম্ভে লঞ্চ করতে পারবেন৷</translation>
+<translation id="8734671092194994316">এর মাধ্যমে আপনার <ph name="WEBSITE" />-এ যাওয়ার রেকর্ড নিরাপত্তা কীয়ে সংরক্ষিত থাকবে।</translation>
 <translation id="873545264931343897"><ph name="PLUGIN_NAME" /> আপডেট হওয়া শেষ হলে, এটি সক্রিয় করতে পৃষ্ঠাটি পুনঃলোড করুন</translation>
 <translation id="8736288397686080465">পটভূমিতে এই সাইটটি আপডেট করা হয়েছে৷</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" />-এর পরিবর্তে <ph name="PROTOCOL" /> লিঙ্কসমূহ খুলুন</translation>
@@ -5000,6 +5036,7 @@
 <translation id="8877448029301136595">[parent directory]</translation>
 <translation id="8879284080359814990">ট্যাব রূপে &amp;দেখান</translation>
 <translation id="8883847527783433352">অন্য অ্যাকাউন্টে সিঙ্ক করুন</translation>
+<translation id="8884570509232205463">তোমার ডিভাইস এখন <ph name="UNLOCK_TIME" />-এ লক হয়ে যায়।</translation>
 <translation id="8885197664446363138">Smart Lock অনুপলব্ধ</translation>
 <translation id="8888253246822647887">আপগ্রেড প্রক্রিয়া শেষ হওয়ার পরেই আপনার অ্যাপ চালু হবে। আপগ্রেড প্রক্রিয়াতে কয়েক মিনিট লাগতে পারে।</translation>
 <translation id="8888432776533519951">রঙ:</translation>
@@ -5024,7 +5061,6 @@
 <translation id="891365694296252935">ব্যবহার এবং ডায়াগনস্টিক ডেটা পাঠান। এখন এই ডিভাইসটি নিজে থেকেই Google-এ ডায়াগনিস্টিক, ডিভাইস এবং অ্যাপ ব্যবহারের ডেটা পাঠাচ্ছে। এটি আপনার সন্তানকে শনাক্ত করতে ব্যবহার করা হবে না এবং সিস্টেম ও অ্যাপের স্থিতিশীলতা এবং অন্যান্য উন্নতিতে সাহায্য করবে। ব্যবহারকারীদের কিছু সম্মিলিত ডেটা Google অ্যাপ এবং Android ডেভেলপারদের মতো পার্টনারদের কাজে লাগবে। এই সেটিং মালিকের নিয়ন্ত্রণে রয়েছে। অতিরিক্ত ওয়েব ও অ্যাপ অ্যাক্টিভিটি সেটিংটি আপনার সন্তানের ডিভাইসের জন্য চালু করা থাকলে, এই ডেটা তাদের Google অ্যাকাউন্টে সেভ করা হতে পারে। <ph name="BEGIN_LINK1" />আরও জানুন<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">লোড করার প্রস্তাব</translation>
 <translation id="8916476537757519021">ছদ্মবেশী সাবফ্রেম: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">হ্যাঁ, আমি রাজি</translation>
 <translation id="8919275547519617350">সব ডিভাইসে আপনার পাসওয়ার্ড পেতে, সাইন-ইন করুন এবং সিঙ্ক চালু করুন।</translation>
 <translation id="8921366488406707015">আপনার নিরাপত্তা কী যাচাই করা হচ্ছে...</translation>
 <translation id="8922013791253848639">এই সাইটে সবসময় বিজ্ঞাপন দেখানোর অনুমতি দিন</translation>
@@ -5093,6 +5129,7 @@
 <translation id="9026852570893462412">এতে কয়েক মিনিট সময় লাগতে পারে। ভার্চুয়াল মেশিন ডাউনলোড হচ্ছে।</translation>
 <translation id="9027459031423301635">নতুন &amp;ট্যাবে লিঙ্ক খুলুন</translation>
 <translation id="9030515284705930323">আপনার প্রতিষ্ঠান আপনার অ্যাকাউন্টের জন্য Google Play স্টোর চালু করেনি। আরও তথ্যের জন্য আপনার অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;প্রতিলেপন</translation>
 <translation id="9037965129289936994">প্রকৃত রূপ দেখান</translation>
 <translation id="9038649477754266430">পৃষ্ঠা আরও দ্রুত লোড করার জন্য কোনো পূর্বাভাষ পরিষেবা ব্যবহার করুন</translation>
@@ -5122,7 +5159,6 @@
 <translation id="9065203028668620118">সম্পাদনা</translation>
 <translation id="9066773882585798925">'টেক্সট পড়ে শোনানো'র বৈশিষ্ট্যটি চালু করুন</translation>
 <translation id="9066782832737749352">পাঠ্য থেকে ভাষ্য</translation>
-<translation id="907264006778172906">ইউএসবি ডিভাইস অ্যাক্সেস করার জন্য Linux-কে অনুমতি দিন। কোনও ইউএসবি ডিভাইস সরিয়ে নেওয়ার পর সেই ডিভাইস সংক্রান্ত তথ্য Linux সেভ করে রাখবে না।</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">ব্লুটুথ</translation>
 <translation id="9074836595010225693">USB মাউস সংযুক্ত হয়েছে</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index b1b7f1bb..51caa44b 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -1999,7 +1999,6 @@
 <translation id="4109135793348361820">Mou la finestra a <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">S'ha completat la baixada: <ph name="FILE_NAME" />. Prem Maj+F6 per anar a l'àrea de la barra de baixades.</translation>
 <translation id="4110895898888439383">Navega per Internet en mode d'alt contrast</translation>
-<translation id="4112221174576828331">Si una imatge no té una descripció útil, Chrome te n'oferirà una. Google escaneja les imatges.</translation>
 <translation id="4115002065223188701">La xarxa és fora de l'abast</translation>
 <translation id="4115080753528843955">Alguns serveis de contingut fan servir identificadors únics per autoritzar l'accés a contingut protegit</translation>
 <translation id="4118579674665737931">Reinicia el dispositiu i torna-ho a provar.</translation>
@@ -3423,7 +3422,7 @@
 <translation id="641081527798843608">Coincidència d'assumpte</translation>
 <translation id="6412931879992742813">Finestra d'incògnit nova</translation>
 <translation id="6415900369006735853">Connecta't a Internet a través del telèfon</translation>
-<translation id="6416743254476733475">Concedeix o denega els permisos a l'ordinador.</translation>
+<translation id="6416743254476733475">Permet o bloqueja a l'ordinador.</translation>
 <translation id="6417265370957905582">Assistent de Google</translation>
 <translation id="6418160186546245112">S'està tornant a la versió de <ph name="IDS_SHORT_PRODUCT_NAME" /> instal·lada anteriorment.</translation>
 <translation id="6418481728190846787">Retira l'accés a totes les aplicacions permanentment</translation>
@@ -4452,6 +4451,7 @@
 <translation id="8008356846765065031">S'ha desconnectat Internet. Comproveu la connexió.</translation>
 <translation id="8009225694047762179">Gestiona les contrasenyes</translation>
 <translation id="8012382203418782830">Aquesta pàgina s'ha traduït.</translation>
+<translation id="8013993649590906847">Si una imatge no té una descripció útil, Chrome provarà d'oferir-te'n una. Per crear les descripcions, les imatges s'envien a Google.</translation>
 <translation id="8014154204619229810">L'actualitzador està en funcionament. Actualitzeu la pantalla d'aquí a un minut per tornar-ho a comprovar.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> no pot canviar a la versió anterior instal·lada. Torneu a provar de fer un Powerwash al dispositiu.</translation>
 <translation id="8014210335923519270">Envia a Google informació del sistema i dades sobre l'ús de <ph name="IDS_SHORT_PRODUCT_NAME" /> per millorar aquest servei i la seva seguretat</translation>
@@ -4823,7 +4823,7 @@
 <translation id="8642171459927087831">Testimoni d'accés</translation>
 <translation id="8642947597466641025">Fa el text més gran</translation>
 <translation id="8643418457919840804">Per continuar, tria una opció:</translation>
-<translation id="8644655801811752511">Aquesta clau de seguretat no es pot restablir. Prova de restablir-la immediatament després d'inserir-la.</translation>
+<translation id="8644655801811752511">Aquesta clau de seguretat no es pot restablir. Prova de restablir la clau immediatament després d'inserir-la.</translation>
 <translation id="8645354835496065562">Continua permetent l'accés als sensors</translation>
 <translation id="8647834505253004544">No és una adreça web vàlida</translation>
 <translation id="8648252583955599667"><ph name="GET_HELP_LINK" /> o <ph name="RE_SCAN_LINK" /></translation>
@@ -5020,7 +5020,6 @@
 <translation id="891365694296252935">Envia dades d'ús i de diagnòstic. En aquests moments aquest dispositiu envia automàticament a Google dades de diagnòstic, del dispositiu i d''ús d'aplicacions. Aquestes dades no es faran servir per identificar el teu fill i ajudaran a millorar l'estabilitat del sistema i de les aplicacions, entre altres característiques. Una part de les dades agregades també serà útil per a les aplicacions i els col·laboradors de Google, com ara els desenvolupadors d'Android. El propietari ha aplicat aquesta opció de configuració. Si l'opció Activitat al web i en aplicacions addicional està activada per al teu fill, és possible que aquestes dades es desin al seu Compte de Google. <ph name="BEGIN_LINK1" />Més informació<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">S'estan carregant els suggeriments</translation>
 <translation id="8916476537757519021">Submarc d'incògnit: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Sí, d'acord</translation>
 <translation id="8919275547519617350">Per tenir totes les teves contrasenyes en tots els dispositius, inicia la sessió i activa la sincronització.</translation>
 <translation id="8921366488406707015">S'està verificant la clau de seguretat...</translation>
 <translation id="8922013791253848639">Permet sempre els anuncis en aquest lloc web</translation>
@@ -5118,7 +5117,6 @@
 <translation id="9065203028668620118">Edita</translation>
 <translation id="9066773882585798925">Sent text en veu alta</translation>
 <translation id="9066782832737749352">Text a parla</translation>
-<translation id="907264006778172906">Dona permís a Linux per accedir a dispositius USB. Linux no recordarà els dispositius USB després d'extreure'ls.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Ratolí USB connectat</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index c5e5d82..1e26510 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Zařízení nelze načíst.</translation>
 <translation id="1008186147501209563">Exportovat záložky</translation>
 <translation id="1008557486741366299">Teď ne</translation>
+<translation id="1010498023906173788">Tato karta je připojená k sériovému portu.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Stránka nereaguje}few{Stránky nereagují}many{Stránky nereagují}other{Stránky nereagují}}</translation>
 <translation id="1012794136286421601">Vaše Dokumenty, Tabulky, Prezentace a Nákresy se synchronizují. Můžete otevřít aplikaci Disk Google a přistupovat k nim online nebo offline.</translation>
 <translation id="1012876632442809908">Zařízení USB Type-C (přední port)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Režim celé obrazovky ukončíte stisknutím klávesy |<ph name="ACCELERATOR" />|</translation>
 <translation id="1038168778161626396">Pouze šifrování</translation>
 <translation id="1039337018183941703">Neplatný nebo poškozený soubor</translation>
+<translation id="1041175011127912238">Tato stránka nereaguje</translation>
 <translation id="1042174272890264476">Počítač je dodáván s integrovanou knihovnou RLZ prohlížeče <ph name="SHORT_PRODUCT_NAME" />. RLZ přiřadí značku, která slouží k vyhodnocení vyhledávání a využití prohlížečů <ph name="SHORT_PRODUCT_NAME" />, které pocházejí z konkrétní propagační kampaně. Tato značka není jedinečná a neumožňuje osobní identifikaci. Tyto značky jsou někdy v prohlížeči <ph name="PRODUCT_NAME" /> uváděny v dotazech ve Vyhledávání Google.</translation>
 <translation id="1046059554679513793">Toto jméno se již používá.</translation>
 <translation id="1046635659603195359">Funkci rozpoznání hlasu Voice Match jste u Asistenta Google už zřejmě nastavili v jiném zařízení. Dřívější nahrávky lze použít k vytvoření hlasového modelu v tomto zařízení. Mělo by to trvat méně než minutu.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Pomocí anonymního okna můžete web používat bez ukládání historie procházení</translation>
 <translation id="1213037489357051291">Nastavení otisků prstu: celkem <ph name="NUM_FINGERPRINTS" /></translation>
 <translation id="1215411991991485844">Byla přidána nová aplikace na pozadí</translation>
+<translation id="1217483152325416304">Vaše místní data budou brzy smazána</translation>
 <translation id="1217668622537098248">Po akci vrátit na kliknutí levým tlačítkem</translation>
 <translation id="121783623783282548">Hesla se neshodují.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Služby určování polohy Google používají zdroje, jako jsou sítě Wi-Fi, mobilní sítě a senzory, pomocí kterých se snaží odhadnout polohu tohoto zařízení.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Podrobnosti: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalace není povolena</translation>
 <translation id="1483493594462132177">Odeslat</translation>
+<translation id="1484979925941077974">Web používá Bluetooth</translation>
 <translation id="1485015260175968628">Nyní může:</translation>
 <translation id="1485141095922496924">Verze <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Prohledávat hesla</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Neaktivní)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> × <ph name="HEIGHT" /> (nativní)</translation>
+<translation id="1711401317189798723">Právě probíhá zálohování kontejneru <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">Mějte toto heslo k dispozici i na iPhonu</translation>
 <translation id="1712552549805331520">Stránka <ph name="URL" /> chce trvale ukládat data v místním počítači</translation>
 <translation id="1718835860248848330">Poslední hodina</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Možnosti přístupu pomocí přepínačů</translation>
 <translation id="1932098463447129402">Nikoli před</translation>
 <translation id="1933809209549026293">Připojte prosím myš nebo klávesnici. Pokud používáte zařízení Bluetooth, zkontrolujte, zda je připraveno ke spárování.</translation>
+<translation id="1937774647013465102">Typ architektury kontejneru <ph name="ARCHITECTURE_CONTAINER" /> do tohoto zařízení s architekturou <ph name="ARCHITECTURE_DEVICE" /> nelze importovat. Můžete tento kontejner zkusit obnovit do jiného zařízení nebo soubory v obrazu kontejneru otevřít v aplikaci Soubory.</translation>
 <translation id="1938351510777341717">Externí příkaz</translation>
 <translation id="1940546824932169984">Připojená zařízení</translation>
 <translation id="1944921356641260203">Byla nalezena aktualizace</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Aktivovat</translation>
 <translation id="2394566832561516196">Nastavení budou vymazána při příštím opětovném načtení.</translation>
 <translation id="2395616325548404795">Vaše zařízení <ph name="DEVICE_TYPE" /> bylo úspěšně zaregistrováno do podnikové správy, ale neodeslalo informace o položce a umístění. Zadejte prosím tyto informace pro toto zařízení ručně z administrátorské konzole.</translation>
+<translation id="2396783860772170191">Zadejte čtyřmístný kód PIN (0000–9999)</translation>
 <translation id="2408955596600435184">Zadejte PIN</translation>
 <translation id="241082044617551207">Neznámý plugin</translation>
 <translation id="2413749388954403953">Změnit uživatelské rozhraní záložek</translation>
+<translation id="241639282915300771">Aktuálně probíhá obnovování: <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Všechny údaje byly zašifrovány pomocí hesla účtu Google ze dne <ph name="TIME" />. Toto šifrování se nevztahuje na platební metody a adresy z Google Pay.</translation>
 <translation id="2419706071571366386">Když počítač nepoužíváte, z bezpečnostních důvodů se odhlaste.</translation>
 <translation id="2423578206845792524">Uložit o&amp;brázek jako...</translation>
@@ -985,6 +993,7 @@
 <translation id="2538361623464451692">Synchronizace deaktivována</translation>
 <translation id="2540449034743108469">Chcete-li naslouchat aktivitám rozšíření, stiskněte Spustit</translation>
 <translation id="2541002089857695151">Optimalizovat odesílání celé obrazovky?</translation>
+<translation id="2541706104884128042">Nová večerka nastavena</translation>
 <translation id="2544853746127077729">Ověřovací certifikát byl sítí odmítnut</translation>
 <translation id="2549985041256363841">Zahájit nahrávání</translation>
 <translation id="2550212893339833758">Stránkovaná paměť</translation>
@@ -1076,6 +1085,7 @@
 <translation id="2677748264148917807">Odejít</translation>
 <translation id="2678063897982469759">Znovu aktivovat</translation>
 <translation id="268053382412112343">&amp;Historie</translation>
+<translation id="2682498795777673382">Aktualita od rodiče</translation>
 <translation id="2683638487103917598">Složka je seřazena</translation>
 <translation id="2684004000387153598">Chcete-li pokračovat, klikněte na OK a poté kliknutím na Přidat uživatele vytvořte nový profil pro svou novou e-mailovou adresu.</translation>
 <translation id="2688196195245426394">Při registraci zařízení na serveru došlo k chybě: <ph name="CLIENT_ERROR" />.</translation>
@@ -1109,6 +1119,7 @@
 <translation id="2731392572903530958">Znovu ot&amp;evřít zavřené okno</translation>
 <translation id="2731700343119398978">Čekejte prosím...</translation>
 <translation id="2731710757838467317">Vytváření dozorovaného uživatele. Může to chvíli trvat.</translation>
+<translation id="2731971182069536520">Až příště zařízení restartujete, administrátor provede jednorázovou aktualizaci, která vymaže vaše místní data.</translation>
 <translation id="2734760316755174687">Budou resetovány i weby ve skupině <ph name="SITE_GROUP_NAME" />.</translation>
 <translation id="2735438478659026460">Automaticky kliknout, když se kurzor myši zastaví.</translation>
 <translation id="2735712963799620190">Plán</translation>
@@ -1312,6 +1323,7 @@
 <translation id="304747341537320566">Moduly převodu textu na řeč</translation>
 <translation id="3047644958362961983">Tyto informace nám pomohou lépe porozumět problému, který s Asistentem máte. Zůstanou uloženy až 90 dní a budou k ním mít přístup jen příslušné týmy vývojářů a pracovníků, kteří zpracovávají zpětnou vazbu.</translation>
 <translation id="3053013834507634016">Použití klíče certifikátu</translation>
+<translation id="3053273573829329829">Zapnout uživatelský PIN</translation>
 <translation id="3058498974290601450">Synchronizaci můžete kdykoliv zapnout v nastavení</translation>
 <translation id="3060379269883947824">Zapnout poslech vybraného textu</translation>
 <translation id="3061707000357573562">Služba oprav</translation>
@@ -1331,6 +1343,7 @@
 <translation id="3084771660770137092">Buď má Google Chrome nedostatek paměti, nebo byl proces načítání webové stránky ukončen z jiného důvodu. Chcete-li pokračovat, načtěte stránku znovu, nebo přejděte na jinou stránku.</translation>
 <translation id="3085412380278336437">Web může použít kameru</translation>
 <translation id="3085752524577180175">Hostitel protokolu SOCKS</translation>
+<translation id="3088052000289932193">Web používá zařízení MIDI</translation>
 <translation id="3088325635286126843">&amp;Přejmenovat...</translation>
 <translation id="3089137131053189723">Vyhledávání bylo vymazáno</translation>
 <translation id="3090193911106258841">Přístup ke vstupu zvuku a videa</translation>
@@ -1468,6 +1481,7 @@
 <translation id="3317459757438853210">Oboustranně</translation>
 <translation id="3317678681329786349">Kamera a mikrofon jsou blokovány</translation>
 <translation id="3319048459796106952">Nové &amp;anonymní okno</translation>
+<translation id="3323521181261657960">Bonus! Získáváš víc času na zařízení</translation>
 <translation id="3325910708063135066">Kamera a mikrofon jsou vypnuté v předvolbách systému Macu</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">O aplikaci</translation>
@@ -1763,6 +1777,7 @@
 <translation id="3765246971671567135">Načtení zásady pro offline ukázkový režim se nezdařilo.</translation>
 <translation id="3766223500670287046">Vzdálená obrazovka</translation>
 <translation id="3768037234834996183">Synchronizace předvoleb…</translation>
+<translation id="377050016711188788">Zmrzlina</translation>
 <translation id="3771294271822695279">Soubory videa</translation>
 <translation id="3775432569830822555">Certifikát serveru SSL</translation>
 <translation id="3775705724665058594">Odeslat na vaše zařízení</translation>
@@ -1841,6 +1856,7 @@
 <translation id="3869917919960562512">Chybný index.</translation>
 <translation id="3870931306085184145">Pro web <ph name="DOMAIN" /> nejsou uložená žádná hesla</translation>
 <translation id="3871092408932389764">Nejnižší</translation>
+<translation id="3871350334636688135">Za 24 hodin administrátor provede jednorázovou aktualizaci,. Až zařízení restartujete, tato aktualizace vymaže vaše místní data. Všechna místní data, která potřebujete, si do 24 hodin uložte do cloudového úložiště.</translation>
 <translation id="3872220884670338524">Další akce, uložený účet <ph name="USERNAME" /> v doméně <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Uvolněte místo na disku, jinak zařízení přestane reagovat.</translation>
 <translation id="3873315167136380065">Chcete-li tuto funkci zapnout, <ph name="BEGIN_LINK" />resetováním synchronizace<ph name="END_LINK" /> odstraňte svou heslovou frázi pro synchronizaci</translation>
@@ -1919,6 +1935,7 @@
 <translation id="3983400541576569538">Data z některých aplikací mohou být ztracena</translation>
 <translation id="3983586614702900908">zařízení od neznámého dodavatele</translation>
 <translation id="3984159763196946143">Ukázkový režim nelze spustit</translation>
+<translation id="3984431586879874039">Povolit tomuto webu přístup k vašemu bezpečnostnímu klíči?</translation>
 <translation id="3987348946546879621">Byla uspořena data</translation>
 <translation id="3987938432087324095">Pardon, nerozumím.</translation>
 <translation id="3988996860813292272">Vyberte časové pásmo</translation>
@@ -1995,13 +2012,13 @@
 <translation id="4099060993766194518">Obnovit výchozí vyhledávač?</translation>
 <translation id="4099874310852108874">Došlo k chybě sítě.</translation>
 <translation id="4100733287846229632">V zařízení je kriticky málo místa</translation>
+<translation id="4100853287411968461">Nový limit času stráveného na zařízení</translation>
 <translation id="4103091233824664032">Chcete-li nakonfigurovat zámek obrazovky a přihlášení, zadejte heslo</translation>
 <translation id="4104163789986725820">E&amp;xport...</translation>
 <translation id="4107048419833779140">Identifikovat a vysouvat úložná zařízení</translation>
 <translation id="4109135793348361820">Přesunout okno k uživateli <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Stažení bylo dokončeno: <ph name="FILE_NAME" />. Stisknutím kombinace kláves Shift+F6 přejdete na lištu se staženými soubory.</translation>
 <translation id="4110895898888439383">Prohlížejte internet v režimu vysokého kontrastu</translation>
-<translation id="4112221174576828331">Pokud obrázek nemá užitečný popis, Chrome vám jej poskytne. Google obrázky skenuje.</translation>
 <translation id="4115002065223188701">Síť je mimo dosah</translation>
 <translation id="4115080753528843955">Některé obsahové služby k ověření přístupu k chráněnému obsahu používají jedinečné identifikátory</translation>
 <translation id="4118579674665737931">Restartujte zařízení a zkuste to znovu.</translation>
@@ -2115,6 +2132,7 @@
 <translation id="4324577459193912240">Soubor je neúplný</translation>
 <translation id="4325237902968425115">Odinstalace aplikace <ph name="LINUX_APP_NAME" />...</translation>
 <translation id="4328203388435897516">Po nastavení Chromebooku získáte pomoc od Asistenta kdykoliv tak, že stisknete tlačítko Asistent nebo řeknete „Ok Google“. Změny můžete provést v nastavení Asistenta.</translation>
+<translation id="4330191372652740264">Ledová voda</translation>
 <translation id="4330387663455830245">Jazyk <ph name="LANGUAGE" /> nikdy nepřekládat</translation>
 <translation id="4333854382783149454">Šifrování PKCS #1 SHA-1 s RSA</translation>
 <translation id="4336979451636460645">Protokoly sítě naleznete na stránce <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2150,6 +2168,7 @@
 <translation id="438503109373656455">Hříbě</translation>
 <translation id="4387004326333427325">Ověřovací certifikát byl vzdáleně odmítnut</translation>
 <translation id="4389091756366370506">Uživatel <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Anonymní}few{# otevřená anonymní okna}many{# otevřeného anonymního okna}other{# otevřených anonymních oken}}</translation>
 <translation id="439266289085815679">Konfiguraci rozhraní Bluetooth spravuje <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Deaktivovat</translation>
 <translation id="4400367121200150367">Zde se zobrazí weby, které nikdy neukládají heslo</translation>
@@ -2298,6 +2317,7 @@
 <translation id="4648499713050786492">Před přidáním osoby prosím odemkněte svůj profil.</translation>
 <translation id="4651484272688821107">Online komponentu se zdroji pro ukázkový režim se nepodařilo načíst.</translation>
 <translation id="465878909996028221">U přesměrování prohlížeče jsou podporovány pouze protokoly http, https a file.</translation>
+<translation id="4659077111144409915">Primární účet</translation>
 <translation id="4660476621274971848">Byla očekávána verze <ph name="EXPECTED_VERSION" />, ale použita byla verze <ph name="NEW_ID" /></translation>
 <translation id="4662788913887017617">Sdílejte tuto záložku se svým iPhonem</translation>
 <translation id="4663373278480897665">Kamera je povolena</translation>
@@ -2343,6 +2363,7 @@
 <translation id="4724450788351008910">Přidružení změněno</translation>
 <translation id="4725511304875193254">Pes corgi</translation>
 <translation id="4726710629007580002">Při pokusu o instalaci rozšíření se spustila upozornění:</translation>
+<translation id="4727847987444062305">Spravovaná relace hosta</translation>
 <translation id="4728558894243024398">Platforma</translation>
 <translation id="4733082559415072992">Web <ph name="URL" /> chce použít polohu vašeho zařízení</translation>
 <translation id="4733793249294335256">Umístění</translation>
@@ -2452,6 +2473,7 @@
 <translation id="488785315393301722">Zobrazit podrobnosti</translation>
 <translation id="4890773143211625964">Zobrazit rozšířené možnosti tiskárny</translation>
 <translation id="4891089016822695758">Fórum beta</translation>
+<translation id="4892229439761351791">Web může používat Bluetooth</translation>
 <translation id="4893336867552636863">Tímto z tohoto zařízení trvale smažete své údaje o prohlížení.</translation>
 <translation id="4893522937062257019">Na obrazovce uzamčení</translation>
 <translation id="4898011734382862273">Certifikát <ph name="CERTIFICATE_NAME" /> reprezentuje certifikační autoritu</translation>
@@ -2627,6 +2649,8 @@
 <translation id="5187295959347858724">Nyní jste přihlášeni do prohlížeče <ph name="SHORT_PRODUCT_NAME" />. Vaše záložky, historie a další nastavení se synchronizují s účtem Google.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> se pokouší stáhnout několik souborů</translation>
+<translation id="5192316339598592690">Rychle přepínejte účty a přihlašujte se do aplikací a na weby okamžitě.
+    Aplikace a weby vás mohou žádat o oprávnění k použití některých údajů z vašeho účtu Google. <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Vymažte zařízení pomocí funkce Powerwash a zkuste to znovu.</translation>
 <translation id="5204967432542742771">Zadejte heslo</translation>
 <translation id="5206215183583316675">Smazat certifikát <ph name="CERTIFICATE_NAME" />?</translation>
@@ -3511,6 +3535,7 @@
 <translation id="6547354035488017500">Uvolněte alespoň 512 MB místa, jinak zařízení přestane reagovat. Místo uvolníte smazáním souborů z úložiště zařízení.</translation>
 <translation id="6550675742724504774">Možnosti</translation>
 <translation id="6551508934388063976">Příkaz není k dispozici. Stisknutím kombinace kláves Ctrl+N otevřete nové okno prohlížeče.</translation>
+<translation id="6551612971599078809">Web používá USB</translation>
 <translation id="655384502888039633">Počet uživatelů: <ph name="USER_COUNT" /></translation>
 <translation id="655483977608336153">Zkusit znovu</translation>
 <translation id="6555432686520421228">Odebere všechny uživatelské účty a resetuje zařízení <ph name="IDS_SHORT_PRODUCT_NAME" /> na tovární nastavení.</translation>
@@ -3735,6 +3760,7 @@
 <translation id="692114467174262153">Prohlížeč <ph name="ALTERNATIVE_BROWSER_NAME" /> se nepodařilo otevřít</translation>
 <translation id="6921709132208495314">Přestat na této stránce využívat data</translation>
 <translation id="6922128026973287222">Pomocí Spořiče dat od Googlu můžete data ukládat a procházet rychleji. Kliknutím zobrazíte další informace.</translation>
+<translation id="6922745772873733498">Chcete-li tisknout, zadejte PIN</translation>
 <translation id="6923132443355966645">Posouvání/kliknutí</translation>
 <translation id="6923633482430812883">Při připojování sdíleného úložiště došlo k chybě. Zkontrolujte, zda souborový server, ke kterému se připojujete, podporuje protokol SMBv2 nebo novější.</translation>
 <translation id="6930036377490597025">Externí bezpečnostní klíč nebo zabudovaný senzor</translation>
@@ -3789,6 +3815,7 @@
 <translation id="7003339318920871147">Webové databáze</translation>
 <translation id="7003723821785740825">Nastavte si rychlejší způsob odemknutí zařízení</translation>
 <translation id="7003844668372540529">Neznámý produkt <ph name="PRODUCT_ID" /> od dodavatele <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Web může používat zařízení MIDI</translation>
 <translation id="7004499039102548441">Nedávno použité karty</translation>
 <translation id="7005848115657603926">Neplatný rozsah stránek. Příklad: <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Dolní okraj</translation>
@@ -3801,9 +3828,11 @@
 <translation id="7017480957358237747">povolit nebo zakázat některé weby,</translation>
 <translation id="7018275672629230621">Číst a upravovat vaši historii procházení</translation>
 <translation id="7019805045859631636">Rychle</translation>
+<translation id="702252130983202758">Vaše aplikace</translation>
 <translation id="7022562585984256452">Domovská stránka byla nastavena.</translation>
 <translation id="7025190659207909717">Správa mobilních datových služeb</translation>
 <translation id="7029809446516969842">Hesla</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> – připojeno k sériovému portu</translation>
 <translation id="7031962166228839643">Připravuje se modul TPM. Čekejte prosím (možná i několik minut)...</translation>
 <translation id="7037509989619051237">Text k náhledu</translation>
 <translation id="7039326228527141150">Přistupovat k zařízením USB od dodavatele <ph name="VENDOR_NAME" /></translation>
@@ -3828,6 +3857,7 @@
 <translation id="706626672220389329">Při připojování sdílené složky došlo k chybě. Zadaná sdílená složka je už připojená.</translation>
 <translation id="7066944511817949584">Nepodařilo se připojit k zařízení <ph name="DEVICE_NAME" />.</translation>
 <translation id="7067725467529581407">Tento dialog již nezobrazovat.</translation>
+<translation id="7069811530847688087">Web <ph name="WEBSITE" /> pravděpodobně vyžaduje novější nebo jiný druh bezpečnostního klíče</translation>
 <translation id="7070484045139057854">Rozšíření může číst a měnit data webů</translation>
 <translation id="7072010813301522126">Název zástupce</translation>
 <translation id="707392107419594760">Vyberte klávesnici:</translation>
@@ -3908,6 +3938,7 @@
 <translation id="7189234443051076392">V zařízení musí být dost místa</translation>
 <translation id="7189965711416741966">Otisk byl přidán.</translation>
 <translation id="7191159667348037">Neznámá tiskárna (USB)</translation>
+<translation id="7193051357671784796">Tuto aplikaci přidala vaše organizace. Chcete-li její instalaci dokončit, restartujte ji.</translation>
 <translation id="7193374945610105795">Pro web <ph name="ORIGIN" /> nejsou uložena žádná hesla</translation>
 <translation id="7196913789568937443">Zálohování na Disk Google. Snadno obnovte svá data nebo kdykoliv přejděte na jiné zařízení. Záloha zahrnuje data aplikací. Zálohy se nahrávají do Googlu a šifrují pomocí hesla účtu Google. <ph name="BEGIN_LINK1" />Další informace<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Mějte při procházení internetu vždy k dispozici Vyhledávání Google a chytré funkce Google</translation>
@@ -4328,6 +4359,7 @@
     <ph name="BR" />
 <ph name="BEGIN_BOLD" />Poznámka:<ph name="END_BOLD" /> Systém se během tohoto procesu restartuje.</translation>
 <translation id="7829298379596169484">Přístup ke zvukovému vstupu</translation>
+<translation id="7830594666202422257">Připojit k Linuxu</translation>
 <translation id="7831491651892296503">Chyba při konfiguraci sítě</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Čas ukončení</translation>
@@ -4357,6 +4389,7 @@
 <translation id="7877451762676714207">Neznámá chyba serveru. Zkuste to prosím znovu, nebo kontaktujte správce serveru.</translation>
 <translation id="7877680364634660272">Prohlídka</translation>
 <translation id="7878562273885520351">Heslo může být prolomeno</translation>
+<translation id="7880823633812189969">Při restartu se vymažou místní data</translation>
 <translation id="7881483672146086348">Zobrazit účet</translation>
 <translation id="7882358943899516840">Typ poskytovatele</translation>
 <translation id="7885253890047913815">Nedávné cíle</translation>
@@ -4452,6 +4485,7 @@
 <translation id="8008356846765065031">Internet byl odpojen. Zkontrolujte prosím své internetové připojení.</translation>
 <translation id="8009225694047762179">Spravovat hesla</translation>
 <translation id="8012382203418782830">Tato stránka byla přeložena.</translation>
+<translation id="8013993649590906847">Pokud obrázek nemá užitečný popis, Chrome se vám jej pokusí poskytnout. Za účelem vytváření popisů jsou obrázky odesílány do Googlu.</translation>
 <translation id="8014154204619229810">Nástroj na aktualizaci je momentálně spuštěn. Za chvilku stránku obnovte a prohlédněte si stav.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> se nedokáže vrátit zpět na dříve nainstalovanou verzi. Zkuste zařízení znovu obnovit pomocí funkce Powerwash.</translation>
 <translation id="8014210335923519270">Vylepšete prohlížeč <ph name="IDS_SHORT_PRODUCT_NAME" /> a jeho zabezpečení tím, že do Googlu budete odesílat informace o systému a využití</translation>
@@ -4694,6 +4728,7 @@
 <translation id="8426713856918551002">Aktivování</translation>
 <translation id="8427292751741042100">vloženo na libovolném webu</translation>
 <translation id="8428213095426709021">Nastavení</translation>
+<translation id="8428628598981198790">Váš bezpečnostní klíč na tomto webu nelze použít</translation>
 <translation id="84297032718407999">Za <ph name="LOGOUT_TIME_LEFT" /> budete odhlášeni</translation>
 <translation id="8431190899827883166">Zobrazovat klepnutí</translation>
 <translation id="8431909052837336408">Změnit PIN SIM karty</translation>
@@ -4898,6 +4933,7 @@
 <translation id="8732212173949624846">Číst a upravovat historii procházení ve všech přihlášených zařízeních</translation>
 <translation id="8732844209475700754">Další nastavení související s ochranou soukromí, zabezpečením a shromažďováním dat</translation>
 <translation id="8734073480934656039">Aktivací tohoto nastavení umožníte aplikacím veřejného terminálu, aby se automaticky spouštěly při spuštění počítače.</translation>
+<translation id="8734671092194994316">Je možné, že na bezpečnostním klíči zůstane záznam o návštěvě webu <ph name="WEBSITE" />.</translation>
 <translation id="873545264931343897">Po dokončení aktualizace pluginu <ph name="PLUGIN_NAME" /> stránku znovu načtěte. Plugin se tím aktivuje.</translation>
 <translation id="8736288397686080465">Tento web byl na pozadí aktualizován.</translation>
 <translation id="8737685506611670901">Otevírat odkazy <ph name="PROTOCOL" /> namísto aplikace <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -4996,6 +5032,7 @@
 <translation id="8877448029301136595">[nadřazený adresář]</translation>
 <translation id="8879284080359814990">Zobrazit jako &amp;kartu</translation>
 <translation id="8883847527783433352">Synchronizovat do jiného účtu</translation>
+<translation id="8884570509232205463">Zařízení se uzamkne v <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Funkce Smart Lock není k dispozici</translation>
 <translation id="8888253246822647887">Aplikace se spustí po dokončení upgradu. Upgrade může trvat několik minut.</translation>
 <translation id="8888432776533519951">Barva:</translation>
@@ -5020,7 +5057,6 @@
 <translation id="891365694296252935">Odesílat údaje o využití a diagnostice. Toto zařízení aktuálně automaticky odesílá do Googlu diagnostické údaje a údaje o zařízení a využití. Tyto údaje nebudou používány ke zjištění totožnosti dítěte a pomohou nám se zvyšováním stability systému a aplikací a dalšími vylepšeními. Některá souhrnná data budou moci využít také naši partneři, např. vývojáři aplikací pro Android. Toto nastavení je vyžadováno vlastníkem. Bude-li mít dítě zapnutou ještě Aktivitu na webu a v aplikacích, mohou se tato data ukládat do jeho účtu Google. <ph name="BEGIN_LINK1" />Další informace<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Načítá se návrh</translation>
 <translation id="8916476537757519021">Anonymní podrámec: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Souhlasím</translation>
 <translation id="8919275547519617350">Chcete-li mít všechna hesla na všech svých zařízeních, přihlaste se a zapněte synchronizaci.</translation>
 <translation id="8921366488406707015">Ověřování bezpečnostního klíče...</translation>
 <translation id="8922013791253848639">Na tomto webu reklamy vždy povolovat</translation>
@@ -5089,6 +5125,7 @@
 <translation id="9026852570893462412">Tento proces může trvat několik minut. Probíhá stahování virtuálního počítače.</translation>
 <translation id="9027459031423301635">Otevří&amp;t odkaz v nové kartě</translation>
 <translation id="9030515284705930323">Vaše organizace pro váš účet Obchod Google Play nepovolila. Další informace získáte u svého administrátora.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Vložit</translation>
 <translation id="9037965129289936994">Zobrazit originál</translation>
 <translation id="9038649477754266430">Používat službu předpovídání k rychlejšímu načítání stránek</translation>
@@ -5118,7 +5155,6 @@
 <translation id="9065203028668620118">Upravit</translation>
 <translation id="9066773882585798925">Čtení textu nahlas</translation>
 <translation id="9066782832737749352">Převod textu na řeč</translation>
-<translation id="907264006778172906">Udělte Linuxu oprávnění k používání zařízení USB. Po odebrání si Linux nebude zařízení USB pamatovat.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Myš s konektorem USB byla připojena</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index e87d07f..99a8a1c 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Enhederne kunne ikke læses.</translation>
 <translation id="1008186147501209563">Eksportér bogmærker</translation>
 <translation id="1008557486741366299">Ikke nu</translation>
+<translation id="1010498023906173788">Denne fane er tilsluttet en serieport.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Siden svarer ikke}one{Siderne svarer ikke}other{Siderne svarer ikke}}</translation>
 <translation id="1012794136286421601">Dine filer i Docs, Sheets, Slides og Tegninger synkroniseres. Åbn appen Google Drev for at få adgang til dem online eller offline.</translation>
 <translation id="1012876632442809908">USB-C-enhed (port foran)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Tryk på |<ph name="ACCELERATOR" />| for at afslutte fuld skærm</translation>
 <translation id="1038168778161626396">Kun omsætning til kode</translation>
 <translation id="1039337018183941703">Ugyldig eller beskadiget fil</translation>
+<translation id="1041175011127912238">Denne side svarer ikke</translation>
 <translation id="1042174272890264476">Computeren leveres også med <ph name="SHORT_PRODUCT_NAME" />s RLZ-samling indbygget. RLZ tildeler et ikke-unikt, ikke-personligt identificerbart tag til at måle søgninger og <ph name="SHORT_PRODUCT_NAME" />-brug, der er drevet af en bestemt kampagne. Disse etiketter vises nogle gange i Googles søgeforespørgsler i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Hov, dette navn er allerede i brug!</translation>
 <translation id="1046635659603195359">Det ser ud til, at du allerede har konfigureret Voice Match med Google-assistenten på en anden enhed. Disse tidligere optagelser kan bruges til at oprette en stemmemodel på denne enhed. Dette bør tage mindre end et minut.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Brug internettet uden at gemme din browserhistorik ved hjælp af et inkognitovindue</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> fingeraftryk er registreret</translation>
 <translation id="1215411991991485844">Der er tilføjet en ny baggrunds-app</translation>
+<translation id="1217483152325416304">Dine lokale data slettes snart</translation>
 <translation id="1217668622537098248">Vend tilbage til venstreklik efter handling</translation>
 <translation id="121783623783282548">Adgangskoderne stemmer ikke overens.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Googles placeringstjeneste anvender kilder som f.eks. Wi‑Fi, mobilnetværk og sensorer til at fastslå enhedens placering.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Detaljer: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Installationen er ikke aktiveret</translation>
 <translation id="1483493594462132177">Send</translation>
+<translation id="1484979925941077974">Websitet anvender Bluetooth</translation>
 <translation id="1485015260175968628">Nu kan den:</translation>
 <translation id="1485141095922496924">Version <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Søg i adgangskoder</translation>
@@ -455,6 +459,7 @@
 <translation id="1708338024780164500">(inaktiv)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (id: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (Oprindelig)</translation>
+<translation id="1711401317189798723"><ph name="CONTAINER_ID" /> er ved at blive sikkerhedskopieret</translation>
 <translation id="1712349894969001173">Få denne adgangskode på din iPhone</translation>
 <translation id="1712552549805331520"><ph name="URL" /> anmoder om at gemme data permanent på din lokale computer</translation>
 <translation id="1718835860248848330">Den seneste time</translation>
@@ -604,6 +609,7 @@
 <translation id="1932026958134051332">Indstillinger for kontaktadgang</translation>
 <translation id="1932098463447129402">Ikke før</translation>
 <translation id="1933809209549026293">Tilslut en mus eller et tastatur. Hvis du bruger en Bluetooth-enhed, skal du kontrollere, at den er parat til parring.</translation>
+<translation id="1937774647013465102">Containerarkitekturen <ph name="ARCHITECTURE_CONTAINER" /> kan ikke importeres med denne enhed, som kører med <ph name="ARCHITECTURE_DEVICE" />. Du kan prøve at gendanne denne container i en anden enhed, eller også kan du åbne filerne i containerbilledet i appen Filer.</translation>
 <translation id="1938351510777341717">Ekstern kommando</translation>
 <translation id="1940546824932169984">Tilsluttede enheder</translation>
 <translation id="1944921356641260203">En opdatering er fundet</translation>
@@ -888,9 +894,11 @@
 <translation id="2392369802118427583">Aktivér</translation>
 <translation id="2394566832561516196">Indstillingerne nulstilles ved næste genindlæsning.</translation>
 <translation id="2395616325548404795">Din <ph name="DEVICE_TYPE" /> er tilmeldt virksomhedsadministration, men den har ikke tilsendt oplysninger om aktiver og placering. Angiv disse oplysninger manuelt i administrationskonsollen for denne enhed.</translation>
+<translation id="2396783860772170191">Angiv den firecifrede pinkode (0000-9999)</translation>
 <translation id="2408955596600435184">Angiv din pinkode</translation>
 <translation id="241082044617551207">Ukendt plugin</translation>
 <translation id="2413749388954403953">Rediger brugergrænsefladen for bogmærker</translation>
+<translation id="241639282915300771">Gendannelse i gang for <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Dataene er krypteret med din Google-adgangskode fra
           <ph name="TIME" />. Dette omfatter ikke betalingsmetoder og adresser fra Google Pay.</translation>
 <translation id="2419706071571366386">Af sikkerhedshensyn skal du logge ud, når computeren ikke bruges.</translation>
@@ -979,10 +987,11 @@
 <translation id="253434972992662860">&amp;Pause</translation>
 <translation id="2534460670861217804">Sikker HTTP-proxy</translation>
 <translation id="253557089021624350">Antal aktiviteter, der bruger udvidelsen</translation>
-<translation id="2535799430745250929">Der er ingen mobilnetværk</translation>
+<translation id="2535799430745250929">Der er intet mobilnetværk</translation>
 <translation id="2538361623464451692">Synkronisering er deaktiveret</translation>
 <translation id="2540449034743108469">Tryk på "Start" for at lytte efter udvidelsesaktiviteter</translation>
 <translation id="2541002089857695151">Vil du optimere casting til fuld skærm?</translation>
+<translation id="2541706104884128042">Ny sengetid er angivet</translation>
 <translation id="2544853746127077729">Godkendelsescertifikatet blev afvist af netværk</translation>
 <translation id="2549985041256363841">Start optagelse</translation>
 <translation id="2550212893339833758">Ombyttet hukommelse</translation>
@@ -1075,6 +1084,7 @@
 <translation id="2677748264148917807">Forlad</translation>
 <translation id="2678063897982469759">Genaktiver</translation>
 <translation id="268053382412112343">Over&amp;sigt</translation>
+<translation id="2682498795777673382">Opdatering fra din forælder</translation>
 <translation id="2683638487103917598">Mappen er sorteret</translation>
 <translation id="2684004000387153598">Hvis du vil fortsætte, skal du klikke på OK og derefter klikke på Tilføj person for at oprette en ny profil til din mailadresse.</translation>
 <translation id="2688196195245426394">Fejl ved registrering af enheden med serveren: <ph name="CLIENT_ERROR" />.</translation>
@@ -1108,6 +1118,7 @@
 <translation id="2731392572903530958">G&amp;enåbn lukket vindue</translation>
 <translation id="2731700343119398978">Vent et øjeblik...</translation>
 <translation id="2731710757838467317">Din administrerede bruger oprettes. Dette kan tage et øjeblik.</translation>
+<translation id="2731971182069536520">Næste gang du genstarter din enhed, udfører din administrator en engangsopdatering, der sletter dine lokale data.</translation>
 <translation id="2734760316755174687">Websites i <ph name="SITE_GROUP_NAME" /> bliver også nulstillet.</translation>
 <translation id="2735438478659026460">Klik automatisk, når musemarkøren stopper</translation>
 <translation id="2735712963799620190">Tidsplan</translation>
@@ -1311,6 +1322,7 @@
 <translation id="304747341537320566">Oplæsningsmaskiner</translation>
 <translation id="3047644958362961983">Disse oplysninger hjælper os til bedre at forstå dit problem med Assistent. Oplysningerne opbevares i op til 90 dage, og adgangen til oplysningerne er begrænset til de relevante udvikler- og feedbackteams.</translation>
 <translation id="3053013834507634016">Brug af certifikatnøgle</translation>
+<translation id="3053273573829329829">Aktivér brugerens pinkode</translation>
 <translation id="3058498974290601450">Du kan til enhver tid aktivere synkronisering i indstillingerne</translation>
 <translation id="3060379269883947824">Aktivér Tekstoplæsning</translation>
 <translation id="3061707000357573562">Tjeneste til programrettelse</translation>
@@ -1330,6 +1342,7 @@
 <translation id="3084771660770137092">Chrome løb tør for hukommelse, eller processen for websiden blev afbrudt af en anden grund. Genindlæs eller gå til en anden side for at fortsætte.</translation>
 <translation id="3085412380278336437">Websitet kan anvende dit kamera</translation>
 <translation id="3085752524577180175">SOCKS-host</translation>
+<translation id="3088052000289932193">Websitet anvender MIDI</translation>
 <translation id="3088325635286126843">&amp;Omdøb...</translation>
 <translation id="3089137131053189723">Søgningen blev ryddet</translation>
 <translation id="3090193911106258841">Åbner lyd- og videoinput</translation>
@@ -1469,6 +1482,7 @@
 <translation id="3317459757438853210">Tosidet</translation>
 <translation id="3317678681329786349">Der er blokeret for adgang til kameraet og mikrofonen</translation>
 <translation id="3319048459796106952">Nyt &amp;inkognito-vindue</translation>
+<translation id="3323521181261657960">Ekstra tid! Du har fået mere skærmtid</translation>
 <translation id="3325910708063135066">Kameraet og mikrofonen er deaktiveret i Systemindstillinger for Mac</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Oplysninger om appen</translation>
@@ -1764,6 +1778,7 @@
 <translation id="3765246971671567135">Politikken for offlinedemotilstand kunne ikke læses.</translation>
 <translation id="3766223500670287046">Ekstern skærm</translation>
 <translation id="3768037234834996183">Synkroniserer dine præferencer...</translation>
+<translation id="377050016711188788">Is</translation>
 <translation id="3771294271822695279">Videofiler</translation>
 <translation id="3775432569830822555">SSL-servercertifikat</translation>
 <translation id="3775705724665058594">Send til dine enheder</translation>
@@ -1842,6 +1857,7 @@
 <translation id="3869917919960562512">Forkert indeks.</translation>
 <translation id="3870931306085184145">Der er ingen gemte adgangskoder til <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Laveste</translation>
+<translation id="3871350334636688135">Efter 24 timer udfører din administrator en engangsopdatering, der sletter dine lokale data, når du genstarter enheden. Gem eventuelle lokale data, du skal bruge, i skyen inden for 24 timer.</translation>
 <translation id="3872220884670338524">Flere handlinger – gemt konto for <ph name="USERNAME" /> på <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Din enhed holder op med at svare, hvis du ikke frigør diskplads.</translation>
 <translation id="3873315167136380065">Du kan aktivere indstillingen ved at <ph name="BEGIN_LINK" />nulstille synkronisering<ph name="END_LINK" /> for at fjerne din adgangssætning til synkronisering</translation>
@@ -1921,6 +1937,7 @@
 <translation id="3983400541576569538">Data fra visse apps går muligvis tabt</translation>
 <translation id="3983586614702900908">enheder fra en ukendt leverandør</translation>
 <translation id="3984159763196946143">Demotilstand kunne ikke startes</translation>
+<translation id="3984431586879874039">Vil du tillade, at dette website ser din sikkerhedsnøgle?</translation>
 <translation id="3987348946546879621">Sparede data</translation>
 <translation id="3987938432087324095">Det forstod jeg ikke.</translation>
 <translation id="3988996860813292272">Vælg tidszone</translation>
@@ -1997,13 +2014,13 @@
 <translation id="4099060993766194518">Vil du gendanne standardsøgemaskinen?</translation>
 <translation id="4099874310852108874">Der opstod en netværksfejl.</translation>
 <translation id="4100733287846229632">Der er næsten ikke mere plads på enheden</translation>
+<translation id="4100853287411968461">Ny grænse for skærmtid</translation>
 <translation id="4103091233824664032">Angiv din adgangskode for at konfigurere skærmlås og login</translation>
 <translation id="4104163789986725820">E&amp;ksporter...</translation>
 <translation id="4107048419833779140">Identificer og fjern lagerenheder</translation>
 <translation id="4109135793348361820">Flyt vindue til <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">[=1]1 download er fuldført: <ph name="FILE_NAME" />. Tryk på Shift+F6 for at skifte til downloadlinjen.</translation>
 <translation id="4110895898888439383">Brug internettet i tilstanden Stor kontrast</translation>
-<translation id="4112221174576828331">Hvis dit billede ikke har en brugbar beskrivelse, angiver Chrome en for dig. Billeder scannes af Google.</translation>
 <translation id="4115002065223188701">Netværket er uden for rækkevidde</translation>
 <translation id="4115080753528843955">Nogle indholdstjenester anvender unikke id'er for at give adgang til beskyttet indhold</translation>
 <translation id="4118579674665737931">Genstart enheden, og prøv igen.</translation>
@@ -2117,6 +2134,7 @@
 <translation id="4324577459193912240">Filen er ufuldstændig</translation>
 <translation id="4325237902968425115">Afinstallerer <ph name="LINUX_APP_NAME" />...</translation>
 <translation id="4328203388435897516">Når din Chromebook er konfigureret, kan du til enhver tid få hjælp ved at trykke på Assistent-knappen eller sige "Ok Google". Gå til indstillingerne for Assistent for at foretage ændringer.</translation>
+<translation id="4330191372652740264">Isvand</translation>
 <translation id="4330387663455830245">Oversæt aldrig <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 med RSA-kryptering</translation>
 <translation id="4336979451636460645">I forbindelse med netværkslogfiler kan du se: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2152,6 +2170,7 @@
 <translation id="438503109373656455">Tarok</translation>
 <translation id="4387004326333427325">Godkendelsescertifikatet blev afvist eksternt</translation>
 <translation id="4389091756366370506">Bruger <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Inkognito}one{# åbent inkognitovindue}other{# åbne inkognitovinduer}}</translation>
 <translation id="439266289085815679">Bluetooth-konfiguration kontrolleres af <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Deaktiver</translation>
 <translation id="4400367121200150367">Websites, som aldrig gemmer adgangskoder, vises her</translation>
@@ -2300,6 +2319,7 @@
 <translation id="4648499713050786492">Lås din profil op, før du kan tilføje en person.</translation>
 <translation id="4651484272688821107">Onlinekomponenten med ressourcer til demotilstand kunne ikke indlæses.</translation>
 <translation id="465878909996028221">Det er kun http, https og filprotokoller, der kan omdirigeres til en alternativ browser.</translation>
+<translation id="4659077111144409915">Primær konto</translation>
 <translation id="4660476621274971848">Den forventede version var "<ph name="EXPECTED_VERSION" />", men versionen viste sig at være "<ph name="NEW_ID" />"</translation>
 <translation id="4662788913887017617">Del dette bogmærke med din iPhone</translation>
 <translation id="4663373278480897665">Der er givet adgang til kameraet</translation>
@@ -2345,6 +2365,7 @@
 <translation id="4724450788351008910">Affiliering er blevet ændret</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4726710629007580002">Der blev vist advarsler ved forsøg på at installere denne udvidelse:</translation>
+<translation id="4727847987444062305">Administreret gæstesession</translation>
 <translation id="4728558894243024398">Platform</translation>
 <translation id="4733082559415072992"><ph name="URL" /> anmoder om at bruge enhedens placering</translation>
 <translation id="4733793249294335256">Placering</translation>
@@ -2454,6 +2475,7 @@
 <translation id="488785315393301722">Se info</translation>
 <translation id="4890773143211625964">Vis avancerede printerindstillinger</translation>
 <translation id="4891089016822695758">Betaforum</translation>
+<translation id="4892229439761351791">Websitet kan anvende Bluetooth</translation>
 <translation id="4893336867552636863">Denne handling sletter dine browserdata permanent fra denne enhed.</translation>
 <translation id="4893522937062257019">På låseskærmen</translation>
 <translation id="4898011734382862273">Certifikatet "<ph name="CERTIFICATE_NAME" />" repræsenterer et nøglecenter</translation>
@@ -2629,6 +2651,8 @@
 <translation id="5187295959347858724">Du er nu logget ind på <ph name="SHORT_PRODUCT_NAME" />. Dine bogmærker, din historik og dine andre indstillinger synkroniseres med din Google-konto.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vil downloade flere filer</translation>
+<translation id="5192316339598592690">Skift hurtigt konto, og log ind på apps og websites på én gang.
+    Apps og websites kan bede dig om tilladelse til at anvende nogle af dine Google-kontooplysninger. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Udfør en powerwash på enheden, og prøv igen.</translation>
 <translation id="5204967432542742771">Angiv adgangskode</translation>
 <translation id="5206215183583316675">Vil du slette "<ph name="CERTIFICATE_NAME" />"?</translation>
@@ -3514,6 +3538,7 @@
 <translation id="6547354035488017500">Din enhed holder op med at svare, hvis du ikke frigør mindst 512 MB. Slet filer fra lageret på enheden for at frigøre plads.</translation>
 <translation id="6550675742724504774">Valgmuligheder</translation>
 <translation id="6551508934388063976">Kommandoen er utilgængelig. Tryk på Ctrl+N for at åbne et nyt vindue.</translation>
+<translation id="6551612971599078809">Websitet anvender en USB-enhed</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> brugere</translation>
 <translation id="655483977608336153">Prøv igen</translation>
 <translation id="6555432686520421228">Fjern alle brugerkonti, og nulstil din <ph name="IDS_SHORT_PRODUCT_NAME" />-enhed, så den er som ny.</translation>
@@ -3738,6 +3763,7 @@
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> kunne ikke åbnes</translation>
 <translation id="6921709132208495314">Stop med at bruge data på denne side</translation>
 <translation id="6922128026973287222">Spar på dataforbruget, og få en hurtigere browseroplevelse med Googles datasparefunktion. Klik for at få flere oplysninger.</translation>
+<translation id="6922745772873733498">Angiv en pinkode for at udskrive</translation>
 <translation id="6923132443355966645">Rul/klik</translation>
 <translation id="6923633482430812883">Delingen kunne ikke anvendes. Tjek, at den filserver, du opretter forbindelse til, understøtter SMBv2 eller nyere.</translation>
 <translation id="6930036377490597025">Ekstern sikkerhedsnøgle eller indbygget sensor</translation>
@@ -3792,6 +3818,7 @@
 <translation id="7003339318920871147">Webdatabaser</translation>
 <translation id="7003723821785740825">Konfigurer en hurtigere måde at låse din enhed op på</translation>
 <translation id="7003844668372540529">Ukendt produkt, <ph name="PRODUCT_ID" />, fra <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Websitet kan anvende MIDI</translation>
 <translation id="7004499039102548441">Seneste faner</translation>
 <translation id="7005848115657603926">Ugyldigt sideinterval, brug <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Bundmargen</translation>
@@ -3804,9 +3831,11 @@
 <translation id="7017480957358237747">tillad eller forbyd visse websites,</translation>
 <translation id="7018275672629230621">Læs og rediger din browserhistorik</translation>
 <translation id="7019805045859631636">Hurtig</translation>
+<translation id="702252130983202758">Dine apps</translation>
 <translation id="7022562585984256452">Din startside er blevet konfigureret.</translation>
 <translation id="7025190659207909717">Administration af mobildatatjeneste</translation>
 <translation id="7029809446516969842">Adgangskoder</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> – tilsluttet en serieport</translation>
 <translation id="7031962166228839643">TPM forberedes. Vent lidt (dette kan tage et par minutter)...</translation>
 <translation id="7037509989619051237">Tekst til eksempel på oplæsning</translation>
 <translation id="7039326228527141150">Få adgang til USB-enheder fra <ph name="VENDOR_NAME" /></translation>
@@ -3831,6 +3860,7 @@
 <translation id="706626672220389329">Der opstod en fejl ved anvendelse af deling. Den angivne deling anvendes allerede.</translation>
 <translation id="7066944511817949584">Kunne ikke oprette forbindelse til "<ph name="DEVICE_NAME" />".</translation>
 <translation id="7067725467529581407">Vis aldrig dette igen.</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> kræver muligvis en nyere eller anden type sikkerhedsnøgle</translation>
 <translation id="7070484045139057854">Udvidelsen kan læse og ændre websitedata</translation>
 <translation id="7072010813301522126">Navn på genvejen</translation>
 <translation id="707392107419594760">Vælg dit tastatur:</translation>
@@ -3911,6 +3941,7 @@
 <translation id="7189234443051076392">Sørg for, at der er nok ledig plads på din enhed</translation>
 <translation id="7189965711416741966">Fingeraftrykket er tilføjet.</translation>
 <translation id="7191159667348037">Ukendt printer (USB)</translation>
+<translation id="7193051357671784796">Din app blev tilføjet af din organisation. Genstart appen for at afslutte installationen.</translation>
 <translation id="7193374945610105795">Der er ikke gemt nogen adgangskoder til <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Sikkerhedskopiér til Google Drev. Du kan til enhver tid gendanne dine data eller skifte til en anden enhed. Backups omfatter appdata og uploades til Google og krypteres ved hjælp af adgangskoden til din Google-konto. <ph name="BEGIN_LINK1" />Få flere oplysninger<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Få adgang til Google Søgning og Google-intelligens, hver gang du browser</translation>
@@ -4332,6 +4363,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Bemærk!<ph name="END_BOLD" />  Systemet genstarter under processen.</translation>
 <translation id="7829298379596169484">Åbner lydinput</translation>
+<translation id="7830594666202422257">Opret forbindelse til Linux</translation>
 <translation id="7831491651892296503">Der opstod en fejl under konfigurationen af netværket</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Sluttidspunkt</translation>
@@ -4361,6 +4393,7 @@
 <translation id="7877451762676714207">Ukendt serverfejl. Prøv igen, eller kontakt serveradministratoren.</translation>
 <translation id="7877680364634660272">Rundvisning</translation>
 <translation id="7878562273885520351">Din adgangskode kan være kompromitteret</translation>
+<translation id="7880823633812189969">Lokale data slettes, når du genstarter</translation>
 <translation id="7881483672146086348">Vis konto</translation>
 <translation id="7882358943899516840">Udbydertype</translation>
 <translation id="7885253890047913815">Seneste destinationer</translation>
@@ -4456,6 +4489,7 @@
 <translation id="8008356846765065031">Internetforbindelsen blev afbrudt. Kontrollér din internetforbindelse.</translation>
 <translation id="8009225694047762179">Administrer adgangskoder</translation>
 <translation id="8012382203418782830">Denne side er oversat.</translation>
+<translation id="8013993649590906847">Hvis et billede ikke har en brugbar beskrivelse, forsøger Chrome at angive en for dig. Billederne sendes til Google, så der kan oprettes beskrivelser.</translation>
 <translation id="8014154204619229810">Opdateringsprogrammet kører i øjeblikket. Opdater om et minut for at kontrollere igen.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> kan ikke vende tilbage til den tidligere version. Prøv Powerwash i stedet.</translation>
 <translation id="8014210335923519270">Gør <ph name="IDS_SHORT_PRODUCT_NAME" /> og dens sikkerhed bedre ved at sende systemoplysninger og brug til Google</translation>
@@ -4699,6 +4733,7 @@
 <translation id="8426713856918551002">Aktiverer</translation>
 <translation id="8427292751741042100">indlejret på hvilken som helst host</translation>
 <translation id="8428213095426709021">Indstillinger</translation>
+<translation id="8428628598981198790">Din sikkerhedsnøgle kan ikke bruges på dette website</translation>
 <translation id="84297032718407999">Du logges ud om <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Vis tryk</translation>
 <translation id="8431909052837336408">Skift pinkode til SIM-kort</translation>
@@ -4903,6 +4938,7 @@
 <translation id="8732212173949624846">Læs og rediger din browserhistorik på alle enheder, hvor du er logget ind</translation>
 <translation id="8732844209475700754">Flere indstillinger vedrørende privatliv, sikkerhed og dataindsamling</translation>
 <translation id="8734073480934656039">Ved at aktivere denne indstilling tillader du, at terminalapplikationer åbnes automatisk under opstart.</translation>
+<translation id="8734671092194994316">Dette medfører, at dit besøg på <ph name="WEBSITE" /> registreres på din sikkerhedsnøgle.</translation>
 <translation id="873545264931343897">Når <ph name="PLUGIN_NAME" /> er opdateret, skal du aktivere det ved at genindlæse siden.</translation>
 <translation id="8736288397686080465">Dette website er blevet opdateret i baggrunden.</translation>
 <translation id="8737685506611670901">Åbne <ph name="PROTOCOL" />-links i stedet for <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5002,6 +5038,7 @@
 <translation id="8877448029301136595">[parent directory]</translation>
 <translation id="8879284080359814990">&amp;Vis som fane</translation>
 <translation id="8883847527783433352">Synkroniser med en anden konto</translation>
+<translation id="8884570509232205463">Din enhed låses nu kl. <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Smart Lock er ikke tilgængelig</translation>
 <translation id="8888253246822647887">Din app åbner, når opgraderingen er fuldført. Opgraderinger kan tage et par minutter.</translation>
 <translation id="8888432776533519951">Farve:</translation>
@@ -5026,7 +5063,6 @@
 <translation id="891365694296252935">Send brugs- og diagnosticeringsdata. Denne enhed sender i øjeblikket automatisk diagnosticerings- og enhedsdata samt data om brug af apps til Google. Disse data bruges ikke til at identificere dit barn. De bruges kun til forbedring af bl.a. systemets og appens stabilitet. Visse samlede data hjælper også Google-apps og -partnere, f.eks. Android-udviklere. Denne indstilling håndhæves af ejeren. Hvis indstillingen til yderligere web- og appaktivitet er aktiveret for dit barn, gemmes disse data muligvis på barnets Google-konto. <ph name="BEGIN_LINK1" />Få flere oplysninger<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Indlæser forslag</translation>
 <translation id="8916476537757519021">Underramme for inkognitotilstand: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Ja tak</translation>
 <translation id="8919275547519617350">Log ind, og aktivér synkronisering for at få alle dine adgangskoder på alle dine enheder.</translation>
 <translation id="8921366488406707015">Bekræfter din sikkerhedsnøgle...</translation>
 <translation id="8922013791253848639">Tillad altid annoncer på dette website</translation>
@@ -5095,6 +5131,7 @@
 <translation id="9026852570893462412">Denne proces kan tage et par minutter. Den virtuelle maskine downloades.</translation>
 <translation id="9027459031423301635">Åbn link på ny &amp;fane</translation>
 <translation id="9030515284705930323">Din organisation har ikke aktiveret Google Play Butik for din konto. Kontakt din administrator for at få yderligere oplysninger.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Indsæt</translation>
 <translation id="9037965129289936994">Vis oprindelig</translation>
 <translation id="9038649477754266430">Brug en forudsigelsestjeneste til hurtigere sideindlæsning</translation>
@@ -5124,7 +5161,6 @@
 <translation id="9065203028668620118">Rediger</translation>
 <translation id="9066773882585798925">Få læst teksten højt</translation>
 <translation id="9066782832737749352">Oplæsning</translation>
-<translation id="907264006778172906">Giv Linux adgang til USB-enheder. Linux husker ikke en USB-enhed, når den er fjernet.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB-mus er tilsluttet</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index d255d176..ccab334a 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -2018,7 +2018,6 @@
 <translation id="4109135793348361820">Fenster zu <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) verschieben</translation>
 <translation id="4110490973560452005">Download abgeschlossen: <ph name="FILE_NAME" />. Drücken Sie Umschalttaste + F6, um zum Bereich mit der Downloadleiste zu wechseln.</translation>
 <translation id="4110895898888439383">Das Web in Modus mit hohem Kontrast durchsuchen</translation>
-<translation id="4112221174576828331">Wenn ein Bild keine brauchbare Beschreibung hat, versucht Chrome, eine für Sie zu finden. Bilder werden von Google gescannt.</translation>
 <translation id="4115002065223188701">Netzwerk außer Reichweite</translation>
 <translation id="4115080753528843955">Einige Inhaltsdienste verwenden eindeutige IDs, um den Zugriff auf geschützte Inhalte zu gestatten</translation>
 <translation id="4118579674665737931">Bitte starten Sie das Gerät neu und versuchen Sie es noch einmal.</translation>
@@ -4487,6 +4486,7 @@
 <translation id="8008356846765065031">Sie haben keine Verbindung mit dem Internet. Bitte überprüfen Sie Ihre Internetverbindung.</translation>
 <translation id="8009225694047762179">Passwort verwalten</translation>
 <translation id="8012382203418782830">Diese Seite wurde übersetzt.</translation>
+<translation id="8013993649590906847">Wenn ein Bild keine brauchbare Beschreibung hat, versucht Chrome, eine für Sie zu finden. Damit entsprechende Beschreibungen erstellt werden können, werden die Bilder an Google gesendet.</translation>
 <translation id="8014154204619229810">Der Updater wird momentan ausgeführt. Bitte versuchen Sie es in einer Minute erneut, indem Sie eine Aktualisierung vornehmen.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> konnte die zuvor installierte Version nicht wiederherstellen. Bitte versuchen Sie erneut, ein Powerwash für Ihr Gerät durchzuführen.</translation>
 <translation id="8014210335923519270"><ph name="IDS_SHORT_PRODUCT_NAME" /> und die Sicherheit verbessern, indem System- und Nutzungsdaten an Google gesendet werden</translation>
@@ -5059,7 +5059,6 @@
 <translation id="891365694296252935">Sie haben die Möglichkeit, Nutzungs- und Diagnosedaten zu senden. Dieses Gerät sendet momentan automatisch Diagnose- sowie Geräte- und App-Nutzungsdaten an Google. Ihr Kind wird mithilfe dieser Daten nicht identifiziert, sie helfen jedoch beispielsweise dabei, die Stabilität des Systems und der Apps zu verbessern. Einige aggregierte Daten sind auch für Apps und Partner von Google, beispielsweise Android-Entwickler, nützlich. Diese Einstellung wird vom Inhaber erzwungen. Wenn zusätzlich die Einstellung "Web- &amp; App-Aktivitäten" für Ihr Kind aktiviert ist, werden diese Daten in seinem Google-Konto gespeichert. <ph name="BEGIN_LINK1" />Weitere Informationen<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Vorschläge werden geladen</translation>
 <translation id="8916476537757519021">Inkognito-Subframe: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Ja, bitte</translation>
 <translation id="8919275547519617350">Wenn Sie Ihre Passwörter auf allen Ihren Geräten verfügbar haben möchten, melden Sie sich an und aktivieren Sie die Synchronisierung.</translation>
 <translation id="8921366488406707015">Sicherheitsschlüssel wird geprüft…</translation>
 <translation id="8922013791253848639">Werbung auf dieser Website immer zulassen</translation>
@@ -5159,7 +5158,6 @@
 <translation id="9065203028668620118">Bearbeiten</translation>
 <translation id="9066773882585798925">Text vorlesen lassen</translation>
 <translation id="9066782832737749352">Sprachausgabe</translation>
-<translation id="907264006778172906">Linux erlauben, auf USB-Geräte zuzugreifen. Linux speichert keine USB-Geräte, nachdem diese entfernt wurden.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB-Maus angeschlossen</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index c08022a..9a2efe7 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Δεν ήταν δυνατή η φόρτωση συσκευών.</translation>
 <translation id="1008186147501209563">Εξαγωγή σελιδοδεικτών</translation>
 <translation id="1008557486741366299">Όχι τώρα</translation>
+<translation id="1010498023906173788">Αυτή η καρτέλα είναι συνδεδεμένη σε μια σειριακή θύρα.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Μη ανταποκρίσιμη σελίδα}other{Μη ανταποκρίσιμες σελίδες}}</translation>
 <translation id="1012794136286421601">Τα αρχεία Εγγράφων, Φύλλων, Διαφανειών και Σχεδίων συγχρονίζονται. Ανοίξτε την εφαρμογή Google Drive, για να τα προσπελάσετε στο διαδίκτυο ή εκτός σύνδεσης.</translation>
 <translation id="1012876632442809908">Συσκευή USB-C (μπροστινή θύρα)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Πατήστε το |<ph name="ACCELERATOR" />| για να εξέλθετε από την πλήρη οθόνη</translation>
 <translation id="1038168778161626396">Μόνο κρυπτογράφηση</translation>
 <translation id="1039337018183941703">Μη έγκυρο ή κατεστραμμένο αρχείο</translation>
+<translation id="1041175011127912238">Αυτή η σελίδα δεν αποκρίνεται.</translation>
 <translation id="1042174272890264476">Ο υπολογιστής σας κυκλοφορεί και με ενσωματωμένη τη βιβλιοθήκη RLZ του <ph name="SHORT_PRODUCT_NAME" />. Το RLZ εκχωρεί μια μη μοναδική ετικέτα μη προσωπικής ταυτοποίησης για τη μέτρηση των αναζητήσεων και της χρήσης του <ph name="SHORT_PRODUCT_NAME" /> που προκύπτει από μια συγκεκριμένη καμπάνια προώθησης. Αυτές οι ετικέτες εμφανίζονται μερικές φορές σε ερωτήματα στην Αναζήτηση Google στο <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Ωχ, αυτό το όνομα χρησιμοποιείται ήδη!</translation>
 <translation id="1046635659603195359">Φαίνεται πως έχετε ήδη ρυθμίσει το Voice Match με τον Βοηθό σας Google σε κάποια άλλη συσκευή. Αυτές οι προηγούμενες ηχογραφήσεις μπορούν να χρησιμοποιηθούν για τη δημιουργία ενός φωνητικού μοντέλου σε αυτήν τη συσκευή. Η διαδικασία αναμένεται να διαρκέσει λιγότερο από ένα λεπτό.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Χρησιμοποιήστε τον ιστό χωρίς να αποθηκεύσετε το ιστορικό περιήγησής σας με ένα παράθυρο για ανώνυμη περιήγηση</translation>
 <translation id="1213037489357051291">Ρυθμίστηκαν <ph name="NUM_FINGERPRINTS" /> δακτυλικά αποτυπώματα</translation>
 <translation id="1215411991991485844">Προστέθηκε νέα εφαρμογή παρασκηνίου</translation>
+<translation id="1217483152325416304">Τα τοπικά δεδομένα σας θα διαγραφούν σύντομα.</translation>
 <translation id="1217668622537098248">Επαναφορά σε αριστερό κλικ μετά από κάποια ενέργεια</translation>
 <translation id="121783623783282548">Δεν ταιριάζουν οι κωδικοί πρόσβασης.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Η υπηρεσία τοποθεσίας της Google χρησιμοποιεί πηγές όπως δίκτυα Wi‑Fi και κινητής τηλεφωνίας καθώς και αισθητήρες, για τον υπολογισμό της τοποθεσίας αυτής της συσκευής.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Λεπτομέρειες: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Η εγκατάσταση δεν έχει ενεργοποιηθεί</translation>
 <translation id="1483493594462132177">Αποστολή</translation>
+<translation id="1484979925941077974">Ο ιστότοπος χρησιμοποιεί Bluetooth.</translation>
 <translation id="1485015260175968628">Τώρα έχει τις εξής δυνατότητες:</translation>
 <translation id="1485141095922496924">Έκδοση <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Αναζήτηση κωδικών πρόσβασης</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Ανενεργή)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (Αναγνωριστικό: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (Εγγενής)</translation>
+<translation id="1711401317189798723">Δημιουργία εφεδρικού αντιγράφου ασφαλείας σε εξέλιξη για <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">Λήψη αυτού του κωδικού πρόσβασης στο iPhone σας</translation>
 <translation id="1712552549805331520">Ο ιστότοπος <ph name="URL" /> θέλει να αποθηκεύσει μόνιμα δεδομένα στον τοπικό υπολογιστή σας</translation>
 <translation id="1718835860248848330">Τελευταία ώρα</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Επιλογές πρόσβασης με διακόπτη</translation>
 <translation id="1932098463447129402">Όχι πριν από</translation>
 <translation id="1933809209549026293">Συνδέστε ένα ποντίκι ή ένα πληκτρολόγιο. Εάν χρησιμοποιείτε συσκευή Bluetooth, βεβαιωθείτε ότι είναι έτοιμη για σύζευξη.</translation>
+<translation id="1937774647013465102">Δεν είναι δυνατή η εισαγωγή ενός κοντέινερ με τύπο αρχιτεκτονικής <ph name="ARCHITECTURE_CONTAINER" /> με μια συσκευή της οποίας ο τύπος αρχιτεκτονικής είναι <ph name="ARCHITECTURE_DEVICE" />. Προσπαθήστε να επαναφέρετε αυτό το κοντέινερ σε μια άλλη συσκευή ή αποκτήστε πρόσβαση στα αρχεία αυτής της εικόνας κοντέινερ ανοίγοντάς τη στην εφαρμογή Αρχεία.</translation>
 <translation id="1938351510777341717">Εξωτερικό πλήκτρο Command</translation>
 <translation id="1940546824932169984">Συνδεδεμένες συσκευές</translation>
 <translation id="1944921356641260203">Βρέθηκε ενημέρωση</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Ενεργοποίηση</translation>
 <translation id="2394566832561516196">Στην επόμενη επαναφόρτωση θα γίνει διαγραφή των ρυθμίσεων.</translation>
 <translation id="2395616325548404795">Η συσκευή <ph name="DEVICE_TYPE" /> εγγράφηκε επιτυχώς για διαχείριση επιχειρήσεων, αλλά απέτυχε η αποστολή των πληροφοριών στοιχείων και τοποθεσίας. Εισαγάγετε μη αυτόματα αυτές τις πληροφορίες από την Κονσόλα διαχειριστή γι' αυτήν τη συσκευή.</translation>
+<translation id="2396783860772170191">Εισαγάγετε έναν 4ψήφιο PIN (0000-9999).</translation>
 <translation id="2408955596600435184">Εισαγάγετε το PIN</translation>
 <translation id="241082044617551207">Άγνωστη προσθήκη</translation>
 <translation id="2413749388954403953">Αλλαγή της διεπαφής χρήστη σελιδοδεικτών</translation>
+<translation id="241639282915300771">Επαναφορά σε εξέλιξη για <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Τα δεδομένα κρυπτογραφήθηκαν με τον κωδικό πρόσβασης Google από τις
           <ph name="TIME" />. Αυτά τα δεδομένα δεν περιλαμβάνουν τρόπους πληρωμής και διευθύνσεις από το Google Pay.</translation>
 <translation id="2419706071571366386">Για λόγους ασφαλείας, θα είναι καλό να αποσυνδέεστε όταν ο υπολογιστής σας δεν χρησιμοποιείται.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">Ο συγχρονισμός είναι απενεργοποιημένος</translation>
 <translation id="2540449034743108469">Πατήστε Έναρξη για να ακούσετε δραστηριότητες επέκτασης</translation>
 <translation id="2541002089857695151">Βελτιστοποίηση μετάδοσης πλήρους οθόνης;</translation>
+<translation id="2541706104884128042">Ορίστηκε νέα ώρα ύπνου.</translation>
 <translation id="2544853746127077729">Το πιστοποιητικό ελέγχου ταυτότητας απορρίφθηκε από το δίκτυο</translation>
 <translation id="2549985041256363841">Έναρξη εγγραφής</translation>
 <translation id="2550212893339833758">Μνήμη ανταλλαγής</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">Αποχώρηση</translation>
 <translation id="2678063897982469759">Εκ νέου ενεργοποίηση</translation>
 <translation id="268053382412112343">Ιστορικό</translation>
+<translation id="2682498795777673382">Ενημέρωση από τον γονέα σου</translation>
 <translation id="2683638487103917598">Ο φάκελος είναι ταξινομημένος</translation>
 <translation id="2684004000387153598">Για να συνεχίσετε, κάντε κλικ στο κουμπί OK και, στη συνέχεια, κάντε κλικ στην επιλογή "Προσθήκη ατόμου" για να δημιουργήσετε ένα νέο προφίλ για τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας.</translation>
 <translation id="2688196195245426394">Σφάλμα εγγραφής της συσκευής στο διακομιστή: <ph name="CLIENT_ERROR" />.</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">Εκ νέου ά&amp;νοιγμα κλειστού παραθύρου</translation>
 <translation id="2731700343119398978">Περιμένετε…</translation>
 <translation id="2731710757838467317">Δημιουργία του χρήστη υπό επίβλεψη. Η διαδικασία ενδέχεται να διαρκέσει λίγη ώρα.</translation>
+<translation id="2731971182069536520">Την επόμενη φορά που θα επανεκκινήσετε τη συσκευή σας, ο διαχειριστής σας θα εκτελέσει για μία μόνο φορά μια ενημέρωση που θα διαγράψει τα τοπικά δεδομένα σας.</translation>
 <translation id="2734760316755174687">Θα γίνει επίσης επαναφορά των ιστοτόπων της ομάδας <ph name="SITE_GROUP_NAME" />.</translation>
 <translation id="2735438478659026460">Να γίνεται αυτόματα κλικ όταν σταματά ο δείκτης του ποντικιού</translation>
 <translation id="2735712963799620190">Χρονοδιάγραμμα</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">Μηχανές ομιλίας</translation>
 <translation id="3047644958362961983">Αυτές οι πληροφορίες μας βοηθούν να κατανοήσουμε καλύτερα το ζήτημα που αντιμετωπίζετε με τον Βοηθό σας. Αποθηκεύεται για έως και 90 ημέρες και η πρόσβαση περιορίζεται στις κατάλληλες ομάδες μηχανικών και σχολίων.</translation>
 <translation id="3053013834507634016">Χρήση κλειδιού πιστοποιητικού</translation>
+<translation id="3053273573829329829">Ενεργοποίηση PIN χρήστη</translation>
 <translation id="3058498974290601450">Μπορείτε να ενεργοποιήσετε τον συγχρονισμό ανά πάσα στιγμή στις ρυθμίσεις</translation>
 <translation id="3060379269883947824">Ενεργοποίηση λειτουργίας "Επιλέξτε για εκφώνηση"</translation>
 <translation id="3061707000357573562">Υπηρεσία ενημέρωσης κώδικα</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">Είτε εξαντλήθηκε η μνήμη του Chrome ή η διαδικασία για την ιστοσελίδα τερματίστηκε για κάποιον άλλο λόγο. Για να συνεχίσετε, επαναλάβετε τη φόρτωση ή μεταβείτε σε άλλη σελίδα.</translation>
 <translation id="3085412380278336437">Ο ιστότοπος μπορεί να χρησιμοποιήσει την κάμερά σας</translation>
 <translation id="3085752524577180175">Κεντρικός υπολογιστής SOCKS</translation>
+<translation id="3088052000289932193">Ο ιστότοπος χρησιμοποιεί MIDI.</translation>
 <translation id="3088325635286126843">&amp;Μετονομασία...</translation>
 <translation id="3089137131053189723">Η αναζήτηση διαγράφηκε</translation>
 <translation id="3090193911106258841">Πρόσβαση στην είσοδο ήχου και βίντεο</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">Διπλής όψης</translation>
 <translation id="3317678681329786349">Η κάμερα και το μικρόφωνο έχουν αποκλειστεί</translation>
 <translation id="3319048459796106952">Νέο &amp;παράθυρο ανώνυμης περιήγησης</translation>
+<translation id="3323521181261657960">Μπόνους! Έχεις περισσότερο χρόνο χρήσης στη διάθεσή σου.</translation>
 <translation id="3325910708063135066">Η κάμερα και το μικρόφωνο έχουν απενεργοποιηθεί στις προτιμήσεις συστήματος Mac.</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Πληροφορίες εφαρμογής</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">Δεν ήταν δυνατή η ανάγνωση της πολιτικής λειτουργίας επίδειξης εκτός σύνδεσης.</translation>
 <translation id="3766223500670287046">Απομακρυσμένη οθόνη</translation>
 <translation id="3768037234834996183">Γίνεται συγχρονισμός των προτιμήσεών σας…</translation>
+<translation id="377050016711188788">Παγωτό</translation>
 <translation id="3771294271822695279">Αρχεία βίντεο </translation>
 <translation id="3775432569830822555">Πιστοποιητικό διακομιστή SSL</translation>
 <translation id="3775705724665058594">Αποστολή στις συσκευές σας</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">Εσφαλμένος κατάλογος.</translation>
 <translation id="3870931306085184145">Δεν υπάρχουν αποθηκευμένοι κωδικοί πρόσβασης για τον τομέα <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Χαμηλότερος</translation>
+<translation id="3871350334636688135">Μετά από 24 ώρες, ο διαχειριστής σας θα εκτελέσει για μία μόνο φορά μια ενημέρωση που θα έχει ως αποτέλεσμα τη διαγραφή των τοπικών δεδομένων σας κατά την επόμενη επανεκκίνηση της συσκευής σας. Αποθηκεύστε τυχόν απαραίτητα τοπικά δεδομένα στο cloud μέσα στις επόμενες 24 ώρες.</translation>
 <translation id="3872220884670338524">Περισσότερες ενέργειες, αποθηκευμένος λογαριασμός για τον χρήστη <ph name="USERNAME" /> στον τομέα <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Ελευθερώστε χώρο στον δίσκο, διαφορετικά η συσκευή θα σταματήσει να ανταποκρίνεται.</translation>
 <translation id="3873315167136380065">Για ενεργοποίηση, <ph name="BEGIN_LINK" />κάντε επαναφορά στον συγχρονισμό<ph name="END_LINK" />, ώστε να καταργηθεί η φράση πρόσβασης συγχρονισμού</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">Τα δεδομένα από ορισμένες εφαρμογές μπορεί να χαθούν</translation>
 <translation id="3983586614702900908">συσκευές από έναν άγνωστο προμηθευτή</translation>
 <translation id="3984159763196946143">Δεν ήταν δυνατή η έναρξη της λειτουργίας επίδειξης</translation>
+<translation id="3984431586879874039">Να επιτραπεί σε αυτόν τον ιστότοπο να δει το κλειδί ασφαλείας σας;</translation>
 <translation id="3987348946546879621">Εξοικονόμηση δεδομένων</translation>
 <translation id="3987938432087324095">Λυπάμαι, δεν το κατάλαβα.</translation>
 <translation id="3988996860813292272">Επιλογή ζώνης ώρας</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">Επαναφορά προεπιλεγμένης μηχανής αναζήτησης;</translation>
 <translation id="4099874310852108874">Παρουσιάστηκε σφάλμα δικτύου.</translation>
 <translation id="4100733287846229632">Ο ελεύθερος χώρος της συσκευής είναι οριακός</translation>
+<translation id="4100853287411968461">Νέο όριο χρόνου χρήσης</translation>
 <translation id="4103091233824664032">Εισαγάγετε τον κωδικό πρόσβασής σας για να διαμορφώσετε το κλείδωμα της οθόνης και τη σύνδεση</translation>
 <translation id="4104163789986725820">Ε&amp;ξαγωγή...</translation>
 <translation id="4107048419833779140">Ταυτοποίηση και κατάργηση συσκευών αποθηκευτικού χώρου</translation>
 <translation id="4109135793348361820">Μετακίνηση παραθύρου στο χρήστη <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Η λήψη ολοκληρώθηκε: <ph name="FILE_NAME" />. Πατήστε Shift+F6 για να μεταβείτε στη γραμμή λήψεων.</translation>
 <translation id="4110895898888439383">Περιήγηση στον ιστό με τη λειτουργία υψηλής αντίθεσης</translation>
-<translation id="4112221174576828331">Εάν μια εικόνα δεν έχει κάποια χρήσιμη περιγραφή, το Chrome θα σας προσφέρει μια περιγραφή. Οι εικόνες σαρώνονται από την Google.</translation>
 <translation id="4115002065223188701">Δίκτυο εκτός εύρους</translation>
 <translation id="4115080753528843955">Ορισμένες υπηρεσίες περιεχομένου χρησιμοποιούν μοναδικά αναγνωριστικά για λόγους εξουσιοδότησης πρόσβασης σε προστατευμένο περιεχόμενο</translation>
 <translation id="4118579674665737931">Επανεκκινήστε τη συσκευή και δοκιμάστε ξανά.</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">Το αρχείο είναι ελλιπές</translation>
 <translation id="4325237902968425115">Απεγκατάσταση <ph name="LINUX_APP_NAME" />...</translation>
 <translation id="4328203388435897516">Μετά τη ρύθμιση του Chromebook, πατήστε το κουμπί Βοηθού ή πείτε "Ok Google", για να λάβετε βοήθεια ανά πάσα στιγμή. Μεταβείτε στις ρυθμίσεις του Βοηθού για να κάνετε αλλαγές.</translation>
+<translation id="4330191372652740264">Παγωμένο νερό</translation>
 <translation id="4330387663455830245">Να μην γίνεται ποτέ μετάφραση από <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 με κρυπτογράφηση RSA</translation>
 <translation id="4336979451636460645">Για τα αρχεία καταγραφής δικτύου, δείτε: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">Σαρατόγκα</translation>
 <translation id="4387004326333427325">Το πιστοποιητικό ελέγχου ταυτότητας απορρίφθηκε απομακρυσμένα</translation>
 <translation id="4389091756366370506">Χρήστης <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Ανώνυμη περιήγηση}other{# ανοικτά παράθυρα για ανώνυμη περιήγηση}}</translation>
 <translation id="439266289085815679">Η διαμόρφωση Bluetooth ελέγχεται από τον χρήστη <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Απενεργοποίηση</translation>
 <translation id="4400367121200150367">Οι ιστότοποι που δεν αποθηκεύουν ποτέ κωδικούς πρόσβασης θα εμφανίζονται εδώ</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">Ξεκλειδώστε το προφίλ σας προτού προσθέσετε κάποιο άτομο.</translation>
 <translation id="4651484272688821107">Δεν ήταν δυνατή η φόρτωση του ηλεκτρονικού στοιχείου με τους πόρους της λειτουργίας επίδειξης.</translation>
 <translation id="465878909996028221">Για τις ανακατευθύνσεις προγράμματος περιήγησης υποστηρίζονται μόνο http, https και πρωτόκολλα αρχείων.</translation>
+<translation id="4659077111144409915">Κύριος λογαριασμός</translation>
 <translation id="4660476621274971848">Αναμενόταν η έκδοση "<ph name="EXPECTED_VERSION" />", ωστόσο η έκδοση ήταν η "<ph name="NEW_ID" />"</translation>
 <translation id="4662788913887017617">Μοιραστείτε αυτόν τον σελιδοδείκτη με το iPhone</translation>
 <translation id="4663373278480897665">Επιτρέπεται η κάμερα</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">Ο δεσμός άλλαξε</translation>
 <translation id="4725511304875193254">Κόργκι</translation>
 <translation id="4726710629007580002">Παρουσιάστηκαν προειδοποιήσεις κατά την απόπειρα εγκατάστασης αυτής της επέκτασης:</translation>
+<translation id="4727847987444062305">Διαχειριζόμενη περίοδος σύνδεσης επισκέπτη</translation>
 <translation id="4728558894243024398">Πλατφόρμα</translation>
 <translation id="4733082559415072992">Ο ιστότοπος <ph name="URL" /> ζητά να χρησιμοποιήσει την τοποθεσία της συσκευής σας</translation>
 <translation id="4733793249294335256">Τοποθεσία</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">Εμφάνιση λεπτομερειών</translation>
 <translation id="4890773143211625964">Εμφάνιση σύνθετων επιλογών εκτυπωτή</translation>
 <translation id="4891089016822695758">Φόρουμ για την έκδοση beta</translation>
+<translation id="4892229439761351791">Ο ιστότοπος μπορεί να χρησιμοποιεί Βluetooth.</translation>
 <translation id="4893336867552636863">Με αυτήν την ενέργεια θα διαγραφούν οριστικά τα δεδομένα περιήγησής σας από αυτή τη συσκευή.</translation>
 <translation id="4893522937062257019">Στην οθόνη κλειδώματος</translation>
 <translation id="4898011734382862273">Το πιστοποιητικό "<ph name="CERTIFICATE_NAME" />" αντιπροσωπεύει μια Αρχή Πιστοποίησης</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">Είστε πλέον συνδεδεμένοι στο <ph name="SHORT_PRODUCT_NAME" />. Οι σελιδοδείκτες, το ιστορικό και διάφορες άλλες ρυθμίσεις συγχρονίζονται με τον Λογαριασμό σας Google.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422">Ο ιστότοπος <ph name="ORIGIN" /> θέλει να κατεβάσει πολλά αρχεία</translation>
+<translation id="5192316339598592690">Μεταβείτε γρήγορα από έναν λογαριασμό σε άλλον και συνδεθείτε εύκολα σε εφαρμογές και ιστοτόπους.
+    Οι εφαρμογές και οι ιστότοποι μπορεί να ζητήσουν άδεια για να χρησιμοποιήσουν ορισμένες από τις πληροφορίες του Λογαριασμού σας Google. <ph name="LINK_BEGIN" />Μάθετε περισσότερα<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Κάντε powerwash στη συσκευή και δοκιμάστε ξανά.</translation>
 <translation id="5204967432542742771">Εισαγωγή κωδικού πρόσβασης</translation>
 <translation id="5206215183583316675">Να διαγραφεί το "<ph name="CERTIFICATE_NAME" />";</translation>
@@ -3516,6 +3540,7 @@
 <translation id="6547354035488017500">Ελευθερώστε χώρο 512 MB τουλάχιστον, διαφορετικά η συσκευή σας θα σταματήσει να ανταποκρίνεται. Για να ελευθερώσετε χώρο, διαγράψτε αρχεία από τον αποθηκευτικό χώρο της συσκευής.</translation>
 <translation id="6550675742724504774">Επιλογές</translation>
 <translation id="6551508934388063976">Μη διαθέσιμη εντολή. Πατήστε control-N για να ανοίξετε ένα νέο παράθυρο.</translation>
+<translation id="6551612971599078809">Ο ιστότοπος χρησιμοποιεί USB.</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> χρήστες</translation>
 <translation id="655483977608336153">Δοκιμάστε ξανά</translation>
 <translation id="6555432686520421228">Καταργήστε όλους τους λογαριασμούς χρηστών και επαναφέρετε τη συσκευή σας <ph name="IDS_SHORT_PRODUCT_NAME" /> για να γίνει σαν καινούρια.</translation>
@@ -3740,6 +3765,7 @@
 <translation id="692114467174262153">Δεν ήταν δυνατό το άνοιγμα του <ph name="ALTERNATIVE_BROWSER_NAME" /></translation>
 <translation id="6921709132208495314">Διακοπή χρήσης δεδομένων σε αυτήν τη σελίδα</translation>
 <translation id="6922128026973287222">Εξοικονομήστε δεδομένα και περιηγηθείτε πιο γρήγορα με την Εξοικονόμηση δεδομένων Google. Κάντε κλικ για να μάθετε περισσότερα.</translation>
+<translation id="6922745772873733498">Εισαγάγετε ένα PIN για να εκτυπώσετε.</translation>
 <translation id="6923132443355966645">Κύλιση/κλικ</translation>
 <translation id="6923633482430812883">Παρουσιάστηκε σφάλμα κατά την προσάρτηση κοινοποίησης. Βεβαιωθείτε ότι ο διακομιστής αρχείων στον οποίο συνδέεστε υποστηρίζει το SMBv2 ή νεότερη έκδοση.</translation>
 <translation id="6930036377490597025">Εξωτερικό κλειδί ασφαλείας ή ενσωματωμένος αισθητήρας</translation>
@@ -3794,6 +3820,7 @@
 <translation id="7003339318920871147">Βάσεις δεδομένων ιστού</translation>
 <translation id="7003723821785740825">Ρυθμίστε έναν πιο γρήγορο τρόπο για να ξεκλειδώνετε τη συσκευή σας</translation>
 <translation id="7003844668372540529">Άγνωστο προϊόν <ph name="PRODUCT_ID" /> από <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Ο ιστότοπος μπορεί να χρησιμοποιήσει MIDI.</translation>
 <translation id="7004499039102548441">Πρόσφατες καρτέλες</translation>
 <translation id="7005848115657603926">Μη έγκυρο εύρος σελίδας, χρησιμοποιήστε το <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Κάτω περιθώριο</translation>
@@ -3806,9 +3833,11 @@
 <translation id="7017480957358237747">επιτρέψτε ή απαγορεύστε την πρόσβαση σε συγκεκριμένους ιστότοπους,</translation>
 <translation id="7018275672629230621">Ανάγνωση και αλλαγή του ιστορικού περιήγησης</translation>
 <translation id="7019805045859631636">Γρήγορα</translation>
+<translation id="702252130983202758">Οι εφαρμογές σας</translation>
 <translation id="7022562585984256452">Η αρχική σελίδα σας έχει οριστεί.</translation>
 <translation id="7025190659207909717">Διαχείριση υπηρεσιών δεδομένων κινητής συσκευής</translation>
 <translation id="7029809446516969842">Κωδ. πρόσβασης</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - Συνδεδεμένη σε σειριακή θύρα</translation>
 <translation id="7031962166228839643">Γίνεται προετοιμασία TPM, περιμένετε (ενδέχεται να χρειαστούν μερικά λεπτά)...</translation>
 <translation id="7037509989619051237">Κείμενο για προεπισκόπηση</translation>
 <translation id="7039326228527141150">Πρόσβαση σε συσκευές USB από τον προμηθευτή <ph name="VENDOR_NAME" /></translation>
@@ -3833,6 +3862,7 @@
 <translation id="706626672220389329">Σφάλμα κατά την προσάρτηση του συστήματος κοινοποίησης. Το καθορισμένο σύστημα κοινοποίησης έχει προσαρτηθεί ήδη.</translation>
 <translation id="7066944511817949584">Αποτυχία σύνδεσης στη συσκευή "<ph name="DEVICE_NAME" />".</translation>
 <translation id="7067725467529581407">Να μην εμφανιστεί ξανά αυτό το μήνυμα.</translation>
+<translation id="7069811530847688087">Ο ιστότοπος <ph name="WEBSITE" /> μπορεί να χρειάζεται ένα νεότερο κλειδί ασφαλείας ή ένα κλειδί ασφαλείας άλλου είδους.</translation>
 <translation id="7070484045139057854">Μπορεί να διαβάζει και να αλλάζει τα δεδομένα ιστοτόπου</translation>
 <translation id="7072010813301522126">Όνομα συντόμευσης</translation>
 <translation id="707392107419594760">Επιλέξτε το πληκτρολόγιό σας:</translation>
@@ -3913,6 +3943,7 @@
 <translation id="7189234443051076392">Βεβαιωθείτε ότι υπάρχει αρκετός αποθηκευτικός χώρος στη συσκευή σας</translation>
 <translation id="7189965711416741966">Προστέθηκε δακτυλικό αποτύπωμα.</translation>
 <translation id="7191159667348037">Άγνωστος εκτυπωτής (USB)</translation>
+<translation id="7193051357671784796">Αυτή η εφαρμογή προστέθηκε από τον οργανισμό σας. Επανεκκινήστε την εφαρμογή για να ολοκληρώσετε την εγκατάστασή της.</translation>
 <translation id="7193374945610105795">Δεν έχουν αποθηκευτεί κωδικοί πρόσβασης για το <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Δημιουργία αντιγράφων ασφαλείας στο Google Drive. Επαναφέρετε με ευκολία τα δεδομένα σας ή αλλάξτε συσκευή ανά πάσα στιγμή. Το αντίγραφο ασφαλείας σας περιλαμβάνει δεδομένα εφαρμογών. Τα αντίγραφα ασφαλείας σας μεταφορτώνονται στην Google και κρυπτογραφούνται χρησιμοποιώντας τον κωδικό πρόσβασης του Λογαριασμού σας Google. <ph name="BEGIN_LINK1" />Μάθετε περισσότερα<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Λήψη Αναζήτησης Google και έξυπνων λειτουργιών Google κάθε φορά που περιηγείστε</translation>
@@ -4335,6 +4366,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Σημείωση:<ph name="END_BOLD" />  Θα γίνει επανεκκίνηση του συστήματος κατά τη διάρκεια της διαδικασίας.</translation>
 <translation id="7829298379596169484">Πρόσβαση στην είσοδο ήχου</translation>
+<translation id="7830594666202422257">Σύνδεση σε Linux</translation>
 <translation id="7831491651892296503">Σφάλμα κατά τη διαμόρφωση του δικτύου</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Ώρα λήξης</translation>
@@ -4364,6 +4396,7 @@
 <translation id="7877451762676714207">Άγνωστο σφάλμα διακομιστή. Δοκιμάστε ξανά ή επικοινωνήστε με τον διαχειριστή του διακομιστή.</translation>
 <translation id="7877680364634660272">Περιήγηση</translation>
 <translation id="7878562273885520351">Ο κωδικός πρόσβασής σας μπορεί να έχει παραβιαστεί</translation>
+<translation id="7880823633812189969">Τα τοπικά δεδομένα θα διαγραφούν κατά την επανεκκίνηση.</translation>
 <translation id="7881483672146086348">Προβολή λογαριασμού</translation>
 <translation id="7882358943899516840">Τύπος παρόχου</translation>
 <translation id="7885253890047913815">Πρόσφατοι προορισμοί</translation>
@@ -4459,6 +4492,7 @@
 <translation id="8008356846765065031">Η σύνδεση στο διαδίκτυο διακόπηκε. Ελέγξτε τη σύνδεσή σας στο διαδίκτυο.</translation>
 <translation id="8009225694047762179">Διαχείριση Κωδικός πρόσβασης</translation>
 <translation id="8012382203418782830">Αυτή η σελίδα έχει μεταφραστεί.</translation>
+<translation id="8013993649590906847">Εάν μια εικόνα δεν έχει κάποια χρήσιμη περιγραφή, το Chrome θα προσπαθήσει να σας προσφέρει μια περιγραφή. Για τη δημιουργία περιγραφών, αποστέλλονται εικόνες στην Google.</translation>
 <translation id="8014154204619229810">Το πρόγραμμα ενημέρωσης εκτελείται. Κάντε ανανέωση σε ένα λεπτό για να ελέγξετε ξανά.</translation>
 <translation id="8014206674403687691">Το <ph name="IDS_SHORT_PRODUCT_NAME" /> δεν μπορεί να επιστρέψει σε προηγούμενη εγκατεστημένη έκδοση. Δοκιμάστε να χρησιμοποιήσετε ξανά το Powerwash για τη συσκευή σας.</translation>
 <translation id="8014210335923519270">Βελτιώστε το <ph name="IDS_SHORT_PRODUCT_NAME" /> και την ασφάλειά του αποστέλλοντας πληροφορίες συστήματος και στοιχεία χρήσης στην Google</translation>
@@ -4702,6 +4736,7 @@
 <translation id="8426713856918551002">Γίνεται ενεργοποίηση</translation>
 <translation id="8427292751741042100">ενσωματωμένο σε οποιονδήποτε κεντρικό υπολογιστή</translation>
 <translation id="8428213095426709021">Ρυθμίσεις</translation>
+<translation id="8428628598981198790">Το κλειδί ασφαλείας σας δεν μπορεί να χρησιμοποιηθεί με αυτόν τον ιστότοπο.</translation>
 <translation id="84297032718407999">Θα αποσυνδεθείτε σε <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Εμφάνιση πατημάτων</translation>
 <translation id="8431909052837336408">Αλλαγή αριθμού PIN της κάρτας SIM</translation>
@@ -4906,6 +4941,7 @@
 <translation id="8732212173949624846">Ανάγνωση και αλλαγή του ιστορικού περιήγησης σε όλες τις συνδεδεμένες συσκευές σας</translation>
 <translation id="8732844209475700754">Περισσότερες ρυθμίσεις που σχετίζονται με το απόρρητο, την ασφάλεια και τη συλλογή δεδομένων</translation>
 <translation id="8734073480934656039">Η ενεργοποίηση αυτής της ρύθμισης επιτρέπει στις εφαρμογές kiosk να ξεκινούν αυτόματα κατά την εκκίνηση.</translation>
+<translation id="8734671092194994316">Η επίσκεψή σας στον ιστότοπο <ph name="WEBSITE" /> ενδέχεται να καταγραφεί στο κλειδί ασφαλείας.</translation>
 <translation id="873545264931343897">Μόλις ολοκληρωθεί η ενημέρωση της προσθήκης <ph name="PLUGIN_NAME" />, επαναλάβετε τη φόρτωση της σελίδας για να την ενεργοποιήσετε</translation>
 <translation id="8736288397686080465">Αυτός ο ιστότοπος έχει ενημερωθεί στο παρασκήνιο.</translation>
 <translation id="8737685506611670901">Άνοιγμα συνδέσμων <ph name="PROTOCOL" /> αντί για <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5002,6 +5038,7 @@
 <translation id="8877448029301136595">[γονικός κατάλογος]</translation>
 <translation id="8879284080359814990">&amp;Εμφάνιση ως καρτέλα</translation>
 <translation id="8883847527783433352">Συγχρονισμός με άλλον λογαριασμό</translation>
+<translation id="8884570509232205463">Η συσκευή σας θα κλειδωθεί στις <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Το Smart Lock είναι διαθέσιμο</translation>
 <translation id="8888253246822647887">Η εφαρμογή σας θα ανοίξει όταν η αναβάθμιση ολοκληρωθεί. Οι αναβαθμίσεις μπορεί να διαρκέσουν μερικά λεπτά.</translation>
 <translation id="8888432776533519951">Χρώμα:</translation>
@@ -5026,7 +5063,6 @@
 <translation id="891365694296252935">Αποστολή δεδομένων χρήσης και διαγνωστικών. Επί του παρόντος, αυτή η συσκευή στέλνει αυτόματα διαγνωστικά δεδομένα, δεδομένα συσκευής και χρήσης εφαρμογών στην Google. Αυτά τα δεδομένα δεν θα χρησιμοποιηθούν για την ταυτοποίηση του παιδιού σας και  θα βοηθήσουν με τη σταθερότητα του συστήματος και των εφαρμογών και την παροχή άλλων βελτιώσεων. Ορισμένα συγκεντρωτικά δεδομένα θα βοηθήσουν επίσης τις εφαρμογές και τους συνεργάτες της Google, όπως τους προγραμματιστές Android. Αυτή η ρύθμιση επιβάλλεται από τον κάτοχο. Εάν είναι ενεργή η πρόσθετη Δραστηριότητα ιστού και εφαρμογών για το παιδί σας, αυτά τα δεδομένα μπορεί να αποθηκευτούν στον Λογαριασμό του Google. <ph name="BEGIN_LINK1" />Μάθετε περισσότερα<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Φόρτωση πρότασης</translation>
 <translation id="8916476537757519021">Υποπλαίσιο ανώνυμης περιήγησης: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Ναι, συμφωνώ</translation>
 <translation id="8919275547519617350">Για να έχετε όλους τους κωδικούς πρόσβασης σε όλες τις συσκευές σας, συνδεθείτε και ενεργοποιήστε τον συγχρονισμό.</translation>
 <translation id="8921366488406707015">Επαλήθευση του κλειδιού ασφαλείας σας…</translation>
 <translation id="8922013791253848639">Να επιτρέπονται πάντα οι διαφημίσεις σε αυτόν τον ιστότοπο</translation>
@@ -5095,6 +5131,7 @@
 <translation id="9026852570893462412">Αυτή η διαδικασία μπορεί να διαρκέσει μερικά λεπτά. Λήψη του εικονικού μηχανήματος.</translation>
 <translation id="9027459031423301635">Άνοιγμα Συνδέσμου σε Νέα Καρτέ&amp;λα</translation>
 <translation id="9030515284705930323">Ο οργανισμός σας δεν έχει ενεργοποιήσει το Google Play Store για τον λογαριασμό σας. Για περισσότερες πληροφορίες, επικοινωνήστε με τον διαχειριστή σας.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Επικόλληση</translation>
 <translation id="9037965129289936994">Εμφάνιση πρωτοτύπου</translation>
 <translation id="9038649477754266430">Χρήση μιας υπηρεσίας πρόβλεψης για ταχύτερη φόρτωση σελίδων</translation>
@@ -5124,7 +5161,6 @@
 <translation id="9065203028668620118">Επεξεργασία</translation>
 <translation id="9066773882585798925">Ακρόαση εκφώνησης κειμένου</translation>
 <translation id="9066782832737749352">Κείμενο σε ομιλία</translation>
-<translation id="907264006778172906">Παραχωρήστε στο Linux δικαίωμα πρόσβασης σε συσκευές USB. Το Linux δεν θα θυμάται μια συσκευή USB μετά την αφαίρεσή της.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Συνδέθηκε ποντίκι USB</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index 00dc354..3cc57618 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -2022,7 +2022,6 @@
 <translation id="4109135793348361820">Move window to <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Download complete: <ph name="FILE_NAME" />. Press Shift+F6 to cycle to the downloads bar area.</translation>
 <translation id="4110895898888439383">Browse the web in high contrast mode</translation>
-<translation id="4112221174576828331">If an image doesn’t have a useful description, Chrome will provide one for you. Images are scanned by Google.</translation>
 <translation id="4115002065223188701">Network out of range</translation>
 <translation id="4115080753528843955">Some content services use unique identifiers for the purposes of authorising access to protected content</translation>
 <translation id="4118579674665737931">Please reboot the device and try again.</translation>
@@ -4491,6 +4490,7 @@
 <translation id="8008356846765065031">Internet disconnected. Please check your Internet connection.</translation>
 <translation id="8009225694047762179">Manage Passwords</translation>
 <translation id="8012382203418782830">This page has been translated.</translation>
+<translation id="8013993649590906847">If an image doesn’t have a useful description, Chrome will try to provide one for you. To create descriptions, images are sent to Google.</translation>
 <translation id="8014154204619229810">The updater is currently running. Refresh in a minute to check again.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> is unable to revert to the previously installed version. Please try again to Powerwash your device.</translation>
 <translation id="8014210335923519270">Improve <ph name="IDS_SHORT_PRODUCT_NAME" /> and its security by sending system information and usage to Google</translation>
@@ -5063,7 +5063,6 @@
 <translation id="891365694296252935">Send usage and diagnostic data. This device is currently automatically sending diagnostic, device and app usage data to Google. This won't be used to identify your child, and will help system and app stability and other improvements. Some aggregate data will also help Google apps and partners, such as Android developers. This setting is enforced by the owner. If additional Web &amp; App Activity is turned on for your child, this data may be saved to their Google Account. <ph name="BEGIN_LINK1" />Find out more<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Loading suggestion</translation>
 <translation id="8916476537757519021">Incognito Subframe: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Yes, I'm In</translation>
 <translation id="8919275547519617350">To get all of your passwords on all your devices, sign in and turn on sync.</translation>
 <translation id="8921366488406707015">Verifying your security key...</translation>
 <translation id="8922013791253848639">Always allow ads on this site</translation>
@@ -5162,7 +5161,6 @@
 <translation id="9065203028668620118">Edit</translation>
 <translation id="9066773882585798925">Hear text read aloud</translation>
 <translation id="9066782832737749352">Text-to-Speech</translation>
-<translation id="907264006778172906">Give Linux permission to access USB devices. Linux won't remember a USB device once it's removed.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB mouse connected</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index dc104ec..cb8b962 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -2002,7 +2002,6 @@
 <translation id="4109135793348361820">Mover ventana a <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Se completó la descarga: <ph name="FILE_NAME" />. Presiona mayúscula + F6 para ir al área de la barra de descargas.</translation>
 <translation id="4110895898888439383">Navegar en la Web en el modo de contraste alto</translation>
-<translation id="4112221174576828331">Si una imagen no tiene una descripción útil, Chrome te proporcionará una. Google escanea las imágenes.</translation>
 <translation id="4115002065223188701">La red está fuera de alcance</translation>
 <translation id="4115080753528843955">Algunos servicios de contenido usan identificadores únicos para autorizar el acceso a contenido protegido</translation>
 <translation id="4118579674665737931">Reinicia el dispositivo y vuelve a intentarlo.</translation>
@@ -4455,6 +4454,7 @@
 <translation id="8008356846765065031">No hay conexión a Internet. Comprueba la conexión.</translation>
 <translation id="8009225694047762179">Administrar contraseñas</translation>
 <translation id="8012382203418782830">Se tradujo esta página.</translation>
+<translation id="8013993649590906847">Si una imagen no tiene una descripción útil, Chrome intentará proporcionarte una. Para crear descripciones, se envían las imágenes a Google.</translation>
 <translation id="8014154204619229810">El actualizador se está ejecutando en este momento. Actualiza dentro de un minuto para verificarlo de nuevo.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> no puede volver a la versión instalada previamente. Vuelve a intentarlo para utilizar la función Powerwash en el dispositivo.</translation>
 <translation id="8014210335923519270">Para mejorar <ph name="IDS_SHORT_PRODUCT_NAME" /> y su seguridad, envía a Google información sobre el sistema y sobre el modo en que lo usas</translation>
@@ -5025,7 +5025,6 @@
 <translation id="891365694296252935">Envía datos de uso y diagnóstico. De forma automática, este dispositivo está enviando a Google datos de diagnóstico y sobre el uso del dispositivo y las apps. Esta información no se usará para identificar a tu hijo y ayudará a lograr la estabilidad de las apps y el sistema, entre otras mejoras. Algunos datos agregados también ayudarán a las apps y los socios de Google, como los desarrolladores de Android. El propietario controla esta configuración. Si habilitaste la "Actividad de web y de aplicaciones adicional" en la Cuenta de Google de tu hijo, es posible que se almacenen estos datos en esa cuenta. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Cargando sugerencia</translation>
 <translation id="8916476537757519021">Submarco incógnito: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Acepto</translation>
 <translation id="8919275547519617350">Para obtener todas tus contraseñas en todos los dispositivos, accede a tu cuenta y activa la sincronización.</translation>
 <translation id="8921366488406707015">Verificando la llave de seguridad…</translation>
 <translation id="8922013791253848639">Permite mostrar anuncios en este sitio</translation>
@@ -5123,7 +5122,6 @@
 <translation id="9065203028668620118">Editar</translation>
 <translation id="9066773882585798925">Escucha el texto leído en voz alta</translation>
 <translation id="9066782832737749352">Texto a voz</translation>
-<translation id="907264006778172906">Le otorga permiso a Linux para acceder a dispositivos USB. Linux no recuerda los dispositivos USB después de quitarlos.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Mouse USB conectado</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index 255e36c..c90658c 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -2002,7 +2002,6 @@
 <translation id="4109135793348361820">Mover ventana a <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Descarga completa: <ph name="FILE_NAME" />. Pulsa Mayús+F6 para desplazarte al área de la barra de descargas.</translation>
 <translation id="4110895898888439383">Navega por la Web con el modo de contraste alto</translation>
-<translation id="4112221174576828331">Si una imagen no tiene una descripción útil, Chrome te proporcionará una. Google se encarga de analizar las imágenes.</translation>
 <translation id="4115002065223188701">La red está fuera del alcance</translation>
 <translation id="4115080753528843955">Algunos servicios de contenido utilizan identificadores únicos para autorizar el acceso a contenido protegido</translation>
 <translation id="4118579674665737931">Reinicia el dispositivo e inténtalo de nuevo.</translation>
@@ -4455,6 +4454,7 @@
 <translation id="8008356846765065031">No hay conexión a Internet. Comprueba la conexión.</translation>
 <translation id="8009225694047762179">Administrar contraseñas</translation>
 <translation id="8012382203418782830">Esta página se ha traducido.</translation>
+<translation id="8013993649590906847">Si una imagen no tiene ninguna descripción útil, Chrome intentará proporcionártela. Para crear las descripciones, las imágenes se envían a Google.</translation>
 <translation id="8014154204619229810">La herramienta de actualización se está ejecutando en este momento. Actualiza en un minuto para comprobarlo de nuevo.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> no puede volver a la versión instalada previamente. Vuelve a intentarlo para hacer un Powerwash del dispositivo.</translation>
 <translation id="8014210335923519270">Envía información y uso del sistema a Google para mejorar <ph name="IDS_SHORT_PRODUCT_NAME" /> y su seguridad</translation>
@@ -5024,7 +5024,6 @@
 <translation id="891365694296252935">Enviar datos de uso y diagnóstico. Este dispositivo envía automáticamente a Google datos de diagnóstico, del dispositivo y del uso de las aplicaciones. Los datos no se usarán para identificar a tu hijo, sino para aumentar la estabilidad de las aplicaciones y del sistema y realizar otras mejoras. Parte de los datos recogidos también ayudarán a las aplicaciones y los colaboradores de Google, como los desarrolladores de Android. El propietario ha aplicado este ajuste. Si la opción Actividad en la Web y en Aplicaciones Adicional está activada, es posible que estos datos se guarden en la cuenta de Google de tu hijo. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Cargando sugerencia</translation>
 <translation id="8916476537757519021">Submarco incógnito: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Sí, acepto</translation>
 <translation id="8919275547519617350">Inicia sesión y activa la sincronización para tener tus contraseñas en todos tus dispositivos.</translation>
 <translation id="8921366488406707015">Verificando la llave de seguridad...</translation>
 <translation id="8922013791253848639">Permite los anuncios siempre en este sitio web</translation>
@@ -5122,7 +5121,6 @@
 <translation id="9065203028668620118">Editar</translation>
 <translation id="9066773882585798925">Escuchar el texto leído en voz alta</translation>
 <translation id="9066782832737749352">Síntesis de voz</translation>
-<translation id="907264006778172906">Da permiso a Linux para acceder a los dispositivos USB. Linux no recordará el dispositivo USB después de retirarlo.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Ratón USB conectado</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index 4f258152..94a8323 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Seadmete laadimine ebaõnnestus.</translation>
 <translation id="1008186147501209563">Järjehoidjate eksportimine</translation>
 <translation id="1008557486741366299">Mitte praegu</translation>
+<translation id="1010498023906173788">See vaheleht on ühendatud jadapordiga.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Leht ei reageeri}other{Lehed ei reageeri}}</translation>
 <translation id="1012794136286421601">Teie rakenduste Dokumendid, Arvutustabelid, Esitlused ja Joonised failid sünkroonitakse. Nendele võrgus või võrguühenduseta juurdepääsemiseks avage Google Drive'i rakendus.</translation>
 <translation id="1012876632442809908">C-tüüpi USB-seade (eesmine port)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Täisekraanilt väljumiseks vajutage klahvi |<ph name="ACCELERATOR" />|</translation>
 <translation id="1038168778161626396">Ainult šifreerimine</translation>
 <translation id="1039337018183941703">Sobimatu või rikutud fail</translation>
+<translation id="1041175011127912238">Leht ei reageeri</translation>
 <translation id="1042174272890264476">Teie arvutil on ka toote <ph name="SHORT_PRODUCT_NAME" /> sisseehitatud RLZ-teek. RLZ määrab korduva ja isikut mittetuvastava ID-tunnuse, et mõõta konkreetse reklaamikampaania tekitatud otsinguid ja toote <ph name="SHORT_PRODUCT_NAME" /> kasutust. Need sildid kuvatakse vahel ka tootes <ph name="PRODUCT_NAME" /> Google'i otsingupäringutes.</translation>
 <translation id="1046059554679513793">Vabandust, see nimi on juba kasutusel!</translation>
 <translation id="1046635659603195359">Näib, et olete Voice Matchi oma Google'i assistendiga juba mõnes teises seadmes seadistanud. Neid varasemaid salvestisi saab kasutada häälemudeli loomiseks selles seadmes. See peaks võtma alla minuti.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Inkognito aknas kasutate veebi ilma sirvimisajalugu salvestamata</translation>
 <translation id="1213037489357051291">Seadistati <ph name="NUM_FINGERPRINTS" /> sõrmejälg(e)</translation>
 <translation id="1215411991991485844">Uus taustarakendus on lisatud</translation>
+<translation id="1217483152325416304">Teie kohalikud andmed kustutatakse peagi</translation>
 <translation id="1217668622537098248">Pärast toimingut vasakpoolsele klikile ennistamine</translation>
 <translation id="121783623783282548">Paroolid ei ühti.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Google'i asukohateenus kasutab selliseid allikaid nagu WiFi- ja mobiilsidevõrgud ning andurid, et aidata prognoosida seadme asukohta.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Üksikasjad: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Installimine ei ole lubatud</translation>
 <translation id="1483493594462132177">Saada</translation>
+<translation id="1484979925941077974">Sait kasutab Bluetoothi</translation>
 <translation id="1485015260175968628">See võib nüüd:</translation>
 <translation id="1485141095922496924">Versioon <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Otsi paroole</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Passiivne)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (omaeraldusvõime)</translation>
+<translation id="1711401317189798723">Konteineri <ph name="CONTAINER_ID" /> varundamine on praegu pooleli</translation>
 <translation id="1712349894969001173">Saatke see parool oma iPhone'i</translation>
 <translation id="1712552549805331520"><ph name="URL" /> soovib andmed alaliselt teie kohalikku arvutisse salvestada</translation>
 <translation id="1718835860248848330">Viimase tunni jooksul</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Lülitiga juurdepääsu valikud</translation>
 <translation id="1932098463447129402">Mitte enne</translation>
 <translation id="1933809209549026293">Ühendage hiir või klaviatuur. Kui kasutate Bluetoothi seadet, veenduge, et see oleks valmis sidumiseks.</translation>
+<translation id="1937774647013465102">Selle seadmega, mis põhineb arhitektuuril <ph name="ARCHITECTURE_DEVICE" />, ei saa konteineri arhitektuuri tüüpi <ph name="ARCHITECTURE_CONTAINER" /> importida. Võite proovida konteineri muus seadmes taastada või rakendusega Failid selles konteinerikujutises olevatele failidele juurde pääseda.</translation>
 <translation id="1938351510777341717">Väline Command-klahv</translation>
 <translation id="1940546824932169984">Ühendatud seadmed</translation>
 <translation id="1944921356641260203">Leiti värskendus</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Aktiveeri</translation>
 <translation id="2394566832561516196">Seaded kustutatakse järgmise uuesti laadimise ajal.</translation>
 <translation id="2395616325548404795">Teie seade <ph name="DEVICE_TYPE" /> on ettevõtte halduse jaoks registreeritud, kuid varade ja asukoha teabe saatmine ebaõnnestus. Sisestage teave käsitsi selle seadme administraatorikonsoolil.</translation>
+<translation id="2396783860772170191">Sisestage 4-kohaline PIN-kood (0000–9999)</translation>
 <translation id="2408955596600435184">Sisestage PIN-kood</translation>
 <translation id="241082044617551207">Tundmatu pistikprogramm</translation>
 <translation id="2413749388954403953">Järjehoidjate kasutajaliidese muutmine</translation>
+<translation id="241639282915300771">Konteineri <ph name="CONTAINER_ID" /> taastamine on praegu pooleli</translation>
 <translation id="241727068219398187">Andmed krüpteeriti teie Google'i parooliga
           <ph name="TIME" />. See ei hõlma Google Pay makseviise ja aadresse.</translation>
 <translation id="2419706071571366386">Turvalisuse huvides logige välja, kui arvutit parajasti ei kasutata.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">Sünkroonimine on keelatud</translation>
 <translation id="2540449034743108469">Laienduste tegevuste kuulamiseks vajutage „Alusta”</translation>
 <translation id="2541002089857695151">Kas optimeerida täisekraanil ülekandmiseks?</translation>
+<translation id="2541706104884128042">Määrati uus uneaeg</translation>
 <translation id="2544853746127077729">Võrk lükkas autentimissertifikaadi tagasi</translation>
 <translation id="2549985041256363841">Alusta salvestamist</translation>
 <translation id="2550212893339833758">Saalitud mälu</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">Lahku</translation>
 <translation id="2678063897982469759">Luba uuesti</translation>
 <translation id="268053382412112343">&amp;Ajalugu</translation>
+<translation id="2682498795777673382">Värskendus sinu vanemalt</translation>
 <translation id="2683638487103917598">Kaust on sorditud</translation>
 <translation id="2684004000387153598">Jätkamiseks klõpsake nupul OK, seejärel klõpsake valikul Inimese lisamine, et luua oma e-posti aadressi jaoks uus profiil.</translation>
 <translation id="2688196195245426394">Seadme serveris registreerimisel ilmnes viga: <ph name="CLIENT_ERROR" />.</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">A&amp;va suletud aken uuesti</translation>
 <translation id="2731700343119398978">Oodake ...</translation>
 <translation id="2731710757838467317">Jälgitava kasutaja loomine. Selleks võib kuluda natuke aega.</translation>
+<translation id="2731971182069536520">Seadme järgmisel taaskäivitamisel teeb administraator ühekordse värskenduse, mille käigus kustutatakse teie kohalikud andmed.</translation>
 <translation id="2734760316755174687">Rühmas <ph name="SITE_GROUP_NAME" /> olevad saidid lähtestatakse samuti.</translation>
 <translation id="2735438478659026460">Automaatne klõpsamine hiirekursori peatumisel</translation>
 <translation id="2735712963799620190">Ajakava</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">Kõnesünteesimootorid</translation>
 <translation id="3047644958362961983">See teave aitab meil teie assistendiga seotud probleemi paremini mõista. See talletatakse kuni 90 päevaks ning sellele pääsevad juurde ainult asjakohased inseneri- ja tagasisidetiimid.</translation>
 <translation id="3053013834507634016">Sertifikaadi võtme kasutus</translation>
+<translation id="3053273573829329829">Luba kasutaja PIN-kood</translation>
 <translation id="3058498974290601450">Saate sünkroonimise seadetes alati sisse lülitada</translation>
 <translation id="3060379269883947824">Luba funktsioon Vali ja kuula</translation>
 <translation id="3061707000357573562">Teenuse paikamine</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">Chrome'i mälu sai otsa või veebilehe protsess lõpetati muul põhjusel. Jätkamiseks laadige uuesti või minge muule lehele.</translation>
 <translation id="3085412380278336437">Sait saab kasutada teie kaamerat</translation>
 <translation id="3085752524577180175">SOCKS-host</translation>
+<translation id="3088052000289932193">Sait kasutab MIDI-seadet</translation>
 <translation id="3088325635286126843">&amp;Nimeta ümber ...</translation>
 <translation id="3089137131053189723">Otsing on tühjendatud</translation>
 <translation id="3090193911106258841">Juurdepääs heli- ja videosisendile</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">Kahepoolne</translation>
 <translation id="3317678681329786349">Kaamera ja mikrofon on blokeeritud</translation>
 <translation id="3319048459796106952">Uus &amp;inkognito aken</translation>
+<translation id="3323521181261657960">Boonus! Saite ekraaniaega juurde</translation>
 <translation id="3325910708063135066">Kaamera ja mikrofon on Maci süsteemieelistustes välja lülitatud</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Rakenduse teave</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">Võrguühenduseta demorežiimi reeglit ei saanud lugeda.</translation>
 <translation id="3766223500670287046">Kaugekraan</translation>
 <translation id="3768037234834996183">Eelistuste sünkroonimine ...</translation>
+<translation id="377050016711188788">Jäätis</translation>
 <translation id="3771294271822695279">Videofailid</translation>
 <translation id="3775432569830822555">SSL-serveri sertifikaat</translation>
 <translation id="3775705724665058594">Saatmine teie seadmetesse</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">Vale register.</translation>
 <translation id="3870931306085184145">Domeeni <ph name="DOMAIN" /> jaoks pole paroole salvestatud</translation>
 <translation id="3871092408932389764">Kõige madalam</translation>
+<translation id="3871350334636688135">24 tunni möödudes teeb administraator ühekordse värskenduse, mis kustutab seadme taaskäivitamisel kohalikud andmed. Salvestage vajalikud kohalikud andmed 24 tunni jooksul pilvepõhisesse salvestusruumi.</translation>
 <translation id="3872220884670338524">Rohkem toiminguid, kasutaja <ph name="USERNAME" /> salvestatud konto domeenis <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Vabastage kettaruumi, muidu seade ei reageeri.</translation>
 <translation id="3873315167136380065">Selle sisselülitamiseks <ph name="BEGIN_LINK" />lähtestage sünkroonimine<ph name="END_LINK" />, et eemaldada oma sünkroonimisparool</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">Mõnede rakenduste andmed võivad kaotsi minna</translation>
 <translation id="3983586614702900908">tundmatu müüja seadmed</translation>
 <translation id="3984159763196946143">Demorežiimi ei saanud käivitada</translation>
+<translation id="3984431586879874039">Kas lubada saidil teie turvavõtit näha?</translation>
 <translation id="3987348946546879621">Andmemahtu säästeti</translation>
 <translation id="3987938432087324095">Kahjuks ei kuulnud seda.</translation>
 <translation id="3988996860813292272">Ajavööndi valimine</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">Kas taastada vaikeotsingumootor?</translation>
 <translation id="4099874310852108874">Ilmnes võrgu viga.</translation>
 <translation id="4100733287846229632">Seadmes on kriitiliselt vähe kettaruumi</translation>
+<translation id="4100853287411968461">Uus ekraaniaja piirang</translation>
 <translation id="4103091233824664032">Ekraaniluku seadistamiseks ja sisselogimiseks sisestage parool</translation>
 <translation id="4104163789986725820">&amp;Ekspordi...</translation>
 <translation id="4107048419833779140">Salvestusseadmete tuvastamine ja väljutamine</translation>
 <translation id="4109135793348361820">Teisalda aken kasutaja <ph name="USER_NAME" /> töölauale (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Allalaadimine on lõpule viidud: <ph name="FILE_NAME" />. Allalaadimiste riba valikute vahel vahetamiseks vajutage klahvikombinatsiooni Tõstuklahv + F6.</translation>
 <translation id="4110895898888439383">Sirvige veebi suure kontrastsusega režiimis</translation>
-<translation id="4112221174576828331">Kui pildil puudub kasulik kirjeldus, loob Chrome selle ise. Pilte skannib Google.</translation>
 <translation id="4115002065223188701">Võrk ei ole läheduses</translation>
 <translation id="4115080753528843955">Mõned sisuteenused kasutavad kordumatuid identifikaatoreid, et kaitstud sisule juurdepääsu volitada</translation>
 <translation id="4118579674665737931">Taaskäivitage seade ja proovige uuesti.</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">Fail on poolik</translation>
 <translation id="4325237902968425115">Rakenduse <ph name="LINUX_APP_NAME" />desinstallimine …</translation>
 <translation id="4328203388435897516">Kui teie Chromebook on seadistatud, vajutage assistendi nuppu või öelge otsetee sõna „Ok Google”, et millal tahes abi hankida. Muudatuste tegemiseks avage assistendi seaded.</translation>
+<translation id="4330191372652740264">Jäävesi</translation>
 <translation id="4330387663455830245">Ära kunagi tõlgi <ph name="LANGUAGE" /> keelt</translation>
 <translation id="4333854382783149454">PKCS 1 SHA-1 koos RSA krüpteerimisega</translation>
 <translation id="4336979451636460645">Võrgulogisid vaadake: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">Ratsu</translation>
 <translation id="4387004326333427325">Autentimissertifikaat lükati kaugühenduse kaudu tagasi</translation>
 <translation id="4389091756366370506">Kasutaja <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Inkognito}other{# avatud inkognito akent}}</translation>
 <translation id="439266289085815679">Bluetoothi seadistust juhib <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Keela</translation>
 <translation id="4400367121200150367">Siin kuvatakse saidid, millel paroole kunagi ei salvestata</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">Enne inimese lisamist avage oma profiil.</translation>
 <translation id="4651484272688821107">Demorežiimi ressurssidega veebipõhist komponenti ei saanud laadida.</translation>
 <translation id="465878909996028221">Brauseri ümbersuunamiste puhul toetatakse ainult HTTP-d, HTTPS-i ja failiprotokolle.</translation>
+<translation id="4659077111144409915">Peamine konto</translation>
 <translation id="4660476621274971848">Eeldatav versioon oli „<ph name="EXPECTED_VERSION" />”, kuid versioon oli „<ph name="NEW_ID" />”</translation>
 <translation id="4662788913887017617">Jagage seda järjehoidjat oma iPhone'iga</translation>
 <translation id="4663373278480897665">Kaamera on lubatud</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">Kuulumine muudetud</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4726710629007580002">Laienduse installimisel ilmnesid hoiatused:</translation>
+<translation id="4727847987444062305">Hallatud külastajaseanss</translation>
 <translation id="4728558894243024398">Platvorm</translation>
 <translation id="4733082559415072992"><ph name="URL" /> soovib kasutada teie seadme asukohta</translation>
 <translation id="4733793249294335256">Asukoht</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">Üksikasjade kuvamine</translation>
 <translation id="4890773143211625964">Kuva printeri täpsemad valikud</translation>
 <translation id="4891089016822695758">Beeta foorum</translation>
+<translation id="4892229439761351791">Sait saab kasutada Bluetoothi</translation>
 <translation id="4893336867552636863">See kustutab teie sirvimisandmed sellest seadmest jäädavalt.</translation>
 <translation id="4893522937062257019">Lukustuskuval</translation>
 <translation id="4898011734382862273">Sertifikaat „<ph name="CERTIFICATE_NAME" />” esindab sertifitseerimisorganit</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">Olete nüüd teenusesse <ph name="SHORT_PRODUCT_NAME" /> sisse logitud. Järjehoidjad, ajalugu ja muud seaded sünkroonitakse teie Google'i kontoga.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> soovib alla laadida mitu faili</translation>
+<translation id="5192316339598592690">Võimaldab kiiresti kontosid vahetada ja korraga kõigisse rakendustesse ja veebisaitidele sisse logida.
+    Rakendused ja saidid võivad teie Google'i konto teatud teabe kasutamiseks küsida teie luba. <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Käitage seadmes funktsiooni Powerwash ja proovige uuesti.</translation>
 <translation id="5204967432542742771">Sisestage parool</translation>
 <translation id="5206215183583316675">Kas kustutada „<ph name="CERTIFICATE_NAME" />”?</translation>
@@ -3515,6 +3539,7 @@
 <translation id="6547354035488017500">Vabastage vähemalt 512 MB kettaruumi, muidu seade ei reageeri. Kettaruumi vabastamiseks kustutage seadme salvestusruumist faile.</translation>
 <translation id="6550675742724504774">Valikud</translation>
 <translation id="6551508934388063976">Käsk pole saadaval. Uue akna avamiseks vajutage klahve Ctrl + N.</translation>
+<translation id="6551612971599078809">Sait kasutab USB-seadet</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> kasutajat</translation>
 <translation id="655483977608336153">Proovi uuesti</translation>
 <translation id="6555432686520421228">Eemaldage kõik kasutajakontod ja lähtestage seade <ph name="IDS_SHORT_PRODUCT_NAME" />, et taas nullist alustada.</translation>
@@ -3739,6 +3764,7 @@
 <translation id="692114467174262153">Brauserit <ph name="ALTERNATIVE_BROWSER_NAME" /> ei saanud avada</translation>
 <translation id="6921709132208495314">Katkesta sel lehel andmemahu kasutamine</translation>
 <translation id="6922128026973287222">Salvestage andmeid ja sirvige kiiremini Google'i andmemahu säästjaga. Lisateabe saamiseks klõpsake.</translation>
+<translation id="6922745772873733498">Sisestage printimiseks PIN-kood</translation>
 <translation id="6923132443355966645">Kerimine/klõpsamine</translation>
 <translation id="6923633482430812883">Viga ühiskasutuse seadistamisel. Veenduge, et failiserver, millega ühenduse loote, toetaks SMBv2 või uuemat versiooni.</translation>
 <translation id="6930036377490597025">Väline turvavõti või sisseehitatud andur</translation>
@@ -3793,6 +3819,7 @@
 <translation id="7003339318920871147">Veebiandmebaasid</translation>
 <translation id="7003723821785740825">Seadistage kiirem viis oma seadme avamiseks</translation>
 <translation id="7003844668372540529">Tundmatu toode <ph name="PRODUCT_ID" /> teenusepakkujalt <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Sait saab kasutada MIDI-t</translation>
 <translation id="7004499039102548441">Hiljutised vahelehed</translation>
 <translation id="7005848115657603926">Kehtetu lehevahemik, kasutage <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Alumine veeris</translation>
@@ -3805,9 +3832,11 @@
 <translation id="7017480957358237747">lubada või keelata teatud veebisaite,</translation>
 <translation id="7018275672629230621">Sirvimisajaloo lugemine ja muutmine</translation>
 <translation id="7019805045859631636">Kiire</translation>
+<translation id="702252130983202758">Teie rakendused</translation>
 <translation id="7022562585984256452">Teie avaleht on määratud.</translation>
 <translation id="7025190659207909717">Mobiilse andmesideteenuse haldus</translation>
 <translation id="7029809446516969842">Paroolid</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> – jadapordiga ühendatud</translation>
 <translation id="7031962166228839643">TPM-i valmistatakse ette, palun oodake (selleks võib kuluda mitu minutit) ...</translation>
 <translation id="7037509989619051237">Kõnesünteesi eelvaade</translation>
 <translation id="7039326228527141150">Juurdepääs müüja <ph name="VENDOR_NAME" /> USB-seadmetele</translation>
@@ -3832,6 +3861,7 @@
 <translation id="706626672220389329">Viga jagatava üksuse ühendamisel. Määratud jagatav üksus on juba ühendatud.</translation>
 <translation id="7066944511817949584">Seadmega „<ph name="DEVICE_NAME" />” ei saanud ühendust luua.</translation>
 <translation id="7067725467529581407">Ära seda kunagi enam näita.</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> võib nõuda uuemat või erinevat turvavõtit</translation>
 <translation id="7070484045139057854">Laiendus võib lugeda ja muuta saidiandmeid</translation>
 <translation id="7072010813301522126">Otsetee nimi</translation>
 <translation id="707392107419594760">Vali klaviatuur:</translation>
@@ -3912,6 +3942,7 @@
 <translation id="7189234443051076392">Veenduge, et seadmes oleks piisavalt ruumi</translation>
 <translation id="7189965711416741966">Sõrmejälg lisati.</translation>
 <translation id="7191159667348037">Tundmatu printer (USB)</translation>
+<translation id="7193051357671784796">Selle rakenduse lisas teie organisatsioon. Taaskäivitage rakendus, et selle installimine lõpule viia.</translation>
 <translation id="7193374945610105795">Allika <ph name="ORIGIN" /> jaoks ei ole salvestatud ühtki parooli</translation>
 <translation id="7196913789568937443">Varundage andmed Google Drive'i. Saate andmed igal ajal hõlpsasti taastada või seadet vahetada. Teie varukoopia hõlmab rakenduste andmeid. Teie varukoopiad laaditakse Google'isse üles ja krüpteeritakse teie Google'i konto parooliga. <ph name="BEGIN_LINK1" />Lisateave<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Google'i otsing ja teadmised on sirvides alati käepärast</translation>
@@ -4334,6 +4365,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Märkus.<ph name="END_BOLD" />  Protsessi käigus süsteem taaskäivitatakse.</translation>
 <translation id="7829298379596169484">Juurdepääs helisisendile</translation>
+<translation id="7830594666202422257">Ühenda Linuxiga</translation>
 <translation id="7831491651892296503">Viga võrgu seadistamisel</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Lõppaeg</translation>
@@ -4363,6 +4395,7 @@
 <translation id="7877451762676714207">Tundmatu serveriviga. Proovige uuesti või võtke ühendust serveri administraatoriga.</translation>
 <translation id="7877680364634660272">Tutvustus</translation>
 <translation id="7878562273885520351">Teie parool võib olla ohus</translation>
+<translation id="7880823633812189969">Kohalikud andmed kustutatakse taaskäivitamisel</translation>
 <translation id="7881483672146086348">Kuva konto</translation>
 <translation id="7882358943899516840">Teenusepakkuja tüüp</translation>
 <translation id="7885253890047913815">Hiljutised sihtkohad</translation>
@@ -4458,6 +4491,7 @@
 <translation id="8008356846765065031">Interneti-ühendus puudub. Kontrollige Interneti-ühendust.</translation>
 <translation id="8009225694047762179">Halda paroole</translation>
 <translation id="8012382203418782830">See leht on tõlgitud.</translation>
+<translation id="8013993649590906847">Kui pildil puudub kasulik kirjeldus, üritab Chrome selle ise luua. Kirjelduste loomiseks saadetakse pildid Google'ile.</translation>
 <translation id="8014154204619229810">Värskendaja töötab praegu. Värskendage uuesti kontrollimiseks minuti pärast.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> ei saa varem installitud versiooni ennistada. Proovige uuesti, rakendades oma seadmele funktsiooni Powerwash.</translation>
 <translation id="8014210335923519270">Täiustage teenust <ph name="IDS_SHORT_PRODUCT_NAME" /> ja selle turvalisust, saates Google'ile süsteemi- ja kasutusteavet</translation>
@@ -4702,6 +4736,7 @@
 <translation id="8426713856918551002">Luba</translation>
 <translation id="8427292751741042100">manustatud mis tahes hostile</translation>
 <translation id="8428213095426709021">Seaded</translation>
+<translation id="8428628598981198790">Teie turvavõtit ei saa sellel saidil kasutada</translation>
 <translation id="84297032718407999">Teid logitakse välja <ph name="LOGOUT_TIME_LEFT" /> pärast</translation>
 <translation id="8431190899827883166">Puudutuste kuvamine</translation>
 <translation id="8431909052837336408">Muuda SIM-kaardi PIN-koodi</translation>
@@ -4906,6 +4941,7 @@
 <translation id="8732212173949624846">Sirvimisajaloo lugemine ja muutmine kõikides sisselogitud seadmetes</translation>
 <translation id="8732844209475700754">Rohkem privaatsuse, turvalisuse ja andmete kogumisega seotud seadeid</translation>
 <translation id="8734073480934656039">Kui lubate seade, võivad kioskirakendused käivitamisel automaatselt avaneda.</translation>
+<translation id="8734671092194994316">Teie turvavõtmele salvestatakse veebisaidi <ph name="WEBSITE" /> külastamise kirje.</translation>
 <translation id="873545264931343897">Kui pistikprogrammi <ph name="PLUGIN_NAME" /> värskendamine lõpetatakse, laadige leht selle aktiveerimiseks uuesti</translation>
 <translation id="8736288397686080465">Saiti värskendati taustal.</translation>
 <translation id="8737685506611670901">Ava protokolli <ph name="PROTOCOL" /> lingid teenuse <ph name="REPLACED_HANDLER_TITLE" /> asemel</translation>
@@ -5004,6 +5040,7 @@
 <translation id="8877448029301136595">[emakataloog]</translation>
 <translation id="8879284080359814990">&amp;Kuva vahelehena</translation>
 <translation id="8883847527783433352">Sünkrooni muu kontoga</translation>
+<translation id="8884570509232205463">Teie seade lukustatakse nüüd kell <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Smart Lock pole saadaval</translation>
 <translation id="8888253246822647887">Rakendus avatakse, kui uuendamine on lõppenud. Uuendamiseks võib kuluda mõni minut.</translation>
 <translation id="8888432776533519951">Värv:</translation>
@@ -5028,7 +5065,6 @@
 <translation id="891365694296252935">Saada kasutus- ja diagnostikaandmeid. See seade saadab Google'ile praegu automaatselt seadme teavet ning rakenduse kasutus- ja  diagnostikaandmeid. Neid andmeid ei kasutata teie lapse isiku tuvastamiseks ning need aitavad parandada süsteemi ja rakenduse stabiilsust ning muud. Teatud koondandmed on abiks ka Google'i rakendustele ja partneritele, näiteks Androidi arendajatele. Selle seade on jõustanud omanik. Kui täiendavad veebi- ja rakendustegevused on teie lapse jaoks sisse lülitatud, võidakse need andmed salvestada tema Google'i kontole. <ph name="BEGIN_LINK1" />Lisateave<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Soovituste laadimine</translation>
 <translation id="8916476537757519021">Inkognito alamraam: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Jah, olen nõus</translation>
 <translation id="8919275547519617350">Selleks et hankida kõik oma paroolid kõikidesse seadmetesse, logige sisse ja lülitage sünkroonimine sisse.</translation>
 <translation id="8921366488406707015">Turvavõtme kinnitamine …</translation>
 <translation id="8922013791253848639">Luba sellel saidil alati reklaamid</translation>
@@ -5097,6 +5133,7 @@
 <translation id="9026852570893462412">Protsess võib võtta mõne minuti. Virtuaalset masinat laaditakse alla.</translation>
 <translation id="9027459031423301635">Ava &amp;link uuel vahelehel</translation>
 <translation id="9030515284705930323">Organisatsioon pole Google Play poodi teie kontol lubanud. Lisateabe saamiseks võtke ühendust oma administraatoriga.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Kleebi</translation>
 <translation id="9037965129289936994">Kuva originaal</translation>
 <translation id="9038649477754266430">Kasuta lehtede kiiremaks laadimiseks ennustusteenust</translation>
@@ -5126,7 +5163,6 @@
 <translation id="9065203028668620118">Muuda</translation>
 <translation id="9066773882585798925">Teksti ettelugemine</translation>
 <translation id="9066782832737749352">Kõnesüntees</translation>
-<translation id="907264006778172906">Andke Linuxile luba USB-seadmetele juurde pääseda. Linux ei mäleta USB-seadet pärast selle eemaldamist.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB-hiir on ühendatud</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index 2da3d39..e37803e 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">بارگیری دستگاه‌ها انجام نشد.</translation>
 <translation id="1008186147501209563">صادرکردن نشانک‌ها</translation>
 <translation id="1008557486741366299">اکنون نه</translation>
+<translation id="1010498023906173788">این برگه به درگاه سریال متصل است.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{صفحه غیرپاسخگو}one{صفحه‌های غیرپاسخگو}other{صفحه‌های غیرپاسخگو}}</translation>
 <translation id="1012794136286421601">‏فایل‌های سندنگار، برگه‌‌نگار، اسلایدنگار و طرح‌نگار شما در حال همگام‌سازی هستند. برنامه Google Drive را باز کنید تا به صورت آنلاین یا آفلاین به آنها دسترسی داشته باشید.</translation>
 <translation id="1012876632442809908">‏دستگاه USB-C (درگاه جلو)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">برای خروج از حالت تمام صفحه |<ph name="ACCELERATOR" />| را فشار دهید</translation>
 <translation id="1038168778161626396">فقط به رمز درآورد</translation>
 <translation id="1039337018183941703">فایل نامعتبر یا خراب است</translation>
+<translation id="1041175011127912238">این صفحه پاسخ نمی‌دهد</translation>
 <translation id="1042174272890264476">‏‫همچنین کتابخانه RLZ‏ <ph name="SHORT_PRODUCT_NAME" /> از قبل بر روی رایانه شما نصب شده است. RLZ یک برچسب غیرمنحصر بفرد و غیرقابل‌شناسایی برای سنجش جستجوها و استفاده از <ph name="SHORT_PRODUCT_NAME" /> اختصاص می‌دهد که توسط یک کمپین تبلیغاتی خاص ارائه می‌شود. در بعضی مواقع در <ph name="PRODUCT_NAME" /> این برچسب‌ها در عباراتی که در جستجوی Goole جستجو می‌شوند نمایان می‌شوند.</translation>
 <translation id="1046059554679513793">اوه، این نام از قبل در حال استفاده است!</translation>
 <translation id="1046635659603195359">‏به‌نظر می‌رسد ازقبل Voice Match را با «دستیار Google» در دستگاه دیگری راه‌اندازی کرده‌اید. از این قطعه‌های قبلاً ضبط‌شده می‌توان برای ایجاد مدل صوتی در این دستگاه استفاده کرد. نباید بیشتر از یک دقیقه طول بکشد.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">با پنجره ناشناس، بدون ذخیره کردن سابقه مرور از وب استفاده کنید</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> اثرانگشت تنظیم شده است</translation>
 <translation id="1215411991991485844">برنامه جدید پس‌زمینه اضافه شد</translation>
+<translation id="1217483152325416304">داده‌های محلی شما به‌زودی حذف خواهد شد</translation>
 <translation id="1217668622537098248">بعد از کنش، به کلیک چپ بازنشانی کنید</translation>
 <translation id="121783623783282548">گذرواژه‌ها با هم مطابقت ندارند.</translation>
 <translation id="1218839827383191197">‏<ph name="BEGIN_PARAGRAPH1" />خدمات مکان Google از منابعی مانند Wi-Fi، شبکه‌های تلفن همراه و حسگرها برای کمک به تخمین مکان این دستگاه استفاده می‌کند.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">جزئیات: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">نصب فعال نشده است</translation>
 <translation id="1483493594462132177">ارسال</translation>
+<translation id="1484979925941077974">سایت درحال استفاده از بلوتوث است</translation>
 <translation id="1485015260175968628">هم‌اکنون این می‌تواند:</translation>
 <translation id="1485141095922496924">نسخه <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">جستجوی گذرواژه‌ها</translation>
@@ -455,6 +459,7 @@
 <translation id="1708338024780164500">(غیرفعال)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (شناسه: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> × <ph name="HEIGHT" /> (اصلی)</translation>
+<translation id="1711401317189798723">درحال‌حاضر پشتیبان‌گیری برای <ph name="CONTAINER_ID" /> درحال انجام است</translation>
 <translation id="1712349894969001173">‏دریافت این گذرواژه در iPhone</translation>
 <translation id="1712552549805331520"><ph name="URL" /> می‌خواهد داده‌ها را برای همیشه در رایانه محلی‌تان ذخیره کند</translation>
 <translation id="1718835860248848330">ساعت قبل</translation>
@@ -604,6 +609,7 @@
 <translation id="1932026958134051332">گزینه‌های دسترسی سوئیچ</translation>
 <translation id="1932098463447129402">نه قبل از</translation>
 <translation id="1933809209549026293">لطفاً موشواره یا صفحه‌کلیدی را وصل کنید. اگر از دستگاه بلوتوث استفاده می‌کنید، مطمئن شوید آماده مرتبط‌سازی است.</translation>
+<translation id="1937774647013465102">‏نمی‌توان با این دستگاه که <ph name="ARCHITECTURE_DEVICE" /> است، محتوی با نوع معماری <ph name="ARCHITECTURE_CONTAINER" /> را وارد کرد. می‌توانید این محتوی را در دستگاه دیگری بازیابی کنید، یا اینکه برنامه Files را باز کنید و ازطریق آن به فایل‌های درون این تصویر محتوی دسترسی یابید.</translation>
 <translation id="1938351510777341717">فرمان خارجی</translation>
 <translation id="1940546824932169984">دستگاه‌های متصل</translation>
 <translation id="1944921356641260203">به‌روزرسانی پیدا شد</translation>
@@ -888,9 +894,11 @@
 <translation id="2392369802118427583">فعالسازی</translation>
 <translation id="2394566832561516196">تنظیمات در تازه‌سازی بعدی حذف می‌شوند.</translation>
 <translation id="2395616325548404795"><ph name="DEVICE_TYPE" /> شما باموفقیت برای مدیریت شرکت ثبت شد اما نتوانست اطلاعات مکان و دارایی‌اش را ارسال کند. لطفاً این اطلاعات را به‌صورت دستی از کنسول سرپرستتان برای این دستگاه وارد کنید.</translation>
+<translation id="2396783860772170191">پین ۴ رقمی را وارد کنید (۹۹۹۹-۰۰۰۰)</translation>
 <translation id="2408955596600435184">پین را وارد کنید</translation>
 <translation id="241082044617551207">افزایه ناشناس</translation>
 <translation id="2413749388954403953">تغییر رابط کاربر نشانک‌ها</translation>
+<translation id="241639282915300771">درحال‌حاضر بازیابی برای<ph name="CONTAINER_ID" /> درحال انجام است</translation>
 <translation id="241727068219398187">‏داده‌ها با گذرواژه Google شما از 
           <ph name="TIME" /> رمزگذاری شدند. این کار شامل روش‌های پرداخت و نشانی‌های موجود در Google Pay نمی‌شود.</translation>
 <translation id="2419706071571366386">برای حفظ امنیت، وقتی از رایانه استفاده نمی‌کنید از سیستم خارج شوید.</translation>
@@ -983,6 +991,7 @@
 <translation id="2538361623464451692">همگام‌سازی غیرفعال شد</translation>
 <translation id="2540449034743108469">برای گوش دادن به فعالیت‌های افزونه، روی «شروع» فشار دهید</translation>
 <translation id="2541002089857695151">ارسال محتوای تمام‌صفحه بهینه‌سازی شود؟</translation>
+<translation id="2541706104884128042">زمان خواب جدید تنظیم شد</translation>
 <translation id="2544853746127077729">گواهینامه راستی‌آزمایی توسط شبکه رد شد</translation>
 <translation id="2549985041256363841">شروع ضبط</translation>
 <translation id="2550212893339833758">حافظه جابه‌جاشده</translation>
@@ -1073,6 +1082,7 @@
 <translation id="2677748264148917807">خروج</translation>
 <translation id="2678063897982469759">فعال کردن مجدد</translation>
 <translation id="268053382412112343">&amp;سابقه</translation>
+<translation id="2682498795777673382">به‌روزرسانی ازطرف والدین شما</translation>
 <translation id="2683638487103917598">پوشه مرتب شد</translation>
 <translation id="2684004000387153598">برای ادامه، روی «تأیید» کلیک کنید و سپس برای ایجاد نمایه‌ای جدید برای نشانی رایانامه‌تان، روی «افزودن شخص» کلیک کنید.</translation>
 <translation id="2688196195245426394">خطا هنگام ثبت دستگاه با سرور: <ph name="CLIENT_ERROR" />.</translation>
@@ -1106,6 +1116,7 @@
 <translation id="2731392572903530958">با&amp;ز کردن مجدد پنجره بسته</translation>
 <translation id="2731700343119398978">لطفاً صبر کنید...</translation>
 <translation id="2731710757838467317">در حال ایجاد کاربر نظارت‌شده‌ شما. این کار ممکن است چند لحظه طول بکشد.</translation>
+<translation id="2731971182069536520">دفعه بعد که دستگاهتان را بازراه‌اندازی می‌کنید، سرپرستتان به‌روزرسانی یک‌باره‌ای انجام می‌دهد که داده‌های محلی شما را حذف خواهد کرد.</translation>
 <translation id="2734760316755174687">سایت‌های زیرگروه <ph name="SITE_GROUP_NAME" /> نیز بازنشانی می‌شود.</translation>
 <translation id="2735438478659026460">کلیک کردن به‌طور خودکار وقتی نشانگر موشواره متوقف می‌شود</translation>
 <translation id="2735712963799620190">زمان‌بندی</translation>
@@ -1309,6 +1320,7 @@
 <translation id="304747341537320566">موتورهای گفتار</translation>
 <translation id="3047644958362961983">این اطلاعات به ما کمک می‌کند مشکل «دستیار» شما را بهتر تشخیص دهیم. این اطلاعات تا ۹۰ روز ذخیره می‌شود و دسترسی به آن به تیم‌های مهندسی و بازخورد مربوطه محدود می‌شود.</translation>
 <translation id="3053013834507634016">کاربرد کلید گواهی</translation>
+<translation id="3053273573829329829">فعال کردن پین کاربر</translation>
 <translation id="3058498974290601450">هرزمان خواستید می‌توانید همگام‌سازی را در تنظیمات روشن کنید</translation>
 <translation id="3060379269883947824">فعال کردن «انتخاب برای شنیدن»</translation>
 <translation id="3061707000357573562">سرویس وصله</translation>
@@ -1328,6 +1340,7 @@
 <translation id="3084771660770137092">‏ممکن است حافظه Chrome تمام شده باشد یا فرآیند مربوط به صفحهٔ وب به دلایل دیگری متوقف شده باشد. برای ادامه، صفحه را تازه‌سازی کنید یا به یک صفحه دیگر بروید.</translation>
 <translation id="3085412380278336437">سایت می‌تواند از دوربینتان استفاده کند</translation>
 <translation id="3085752524577180175">‏میزبان SOCKS</translation>
+<translation id="3088052000289932193">‏سایت درحال استفاده از MIDI است</translation>
 <translation id="3088325635286126843">&amp;تغییر‌نام...</translation>
 <translation id="3089137131053189723">جستجو پاک شد</translation>
 <translation id="3090193911106258841">در حال دسترسی به ورودی صوتی و ویدئویی</translation>
@@ -1467,6 +1480,7 @@
 <translation id="3317459757438853210">دو طرفه</translation>
 <translation id="3317678681329786349">دوربین و میکروفون مسدود شده‌اند</translation>
 <translation id="3319048459796106952">&amp;پنجره جدید حالت ناشناس</translation>
+<translation id="3323521181261657960">پاداش! مدت تماشای صفحه بیشتری دریافت کردید</translation>
 <translation id="3325910708063135066">‏در «تنظیمات برگزیده سیستم Mac»، دوربین و میکروفون خاموش‌اند</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">اطلاعات برنامه</translation>
@@ -1762,6 +1776,7 @@
 <translation id="3765246971671567135">خط‌مشی آفلاین حالت نمایشی خوانده نشد.</translation>
 <translation id="3766223500670287046">پخش ازراه‌دور صفحه‌نمایش</translation>
 <translation id="3768037234834996183">در حال همگام‌سازی تنظیمات ترجیحی...</translation>
+<translation id="377050016711188788">بستنی</translation>
 <translation id="3771294271822695279">فایل‌های ویدئویی</translation>
 <translation id="3775432569830822555">‏گواهی سرور SSL</translation>
 <translation id="3775705724665058594">ارسال به دستگاه‌هایتان</translation>
@@ -1840,6 +1855,7 @@
 <translation id="3869917919960562512">فهرست اشتباه.</translation>
 <translation id="3870931306085184145">هیچ گذرواژه‌ای برای <ph name="DOMAIN" /> ذخیره نشده است</translation>
 <translation id="3871092408932389764">پایین‌ترین</translation>
+<translation id="3871350334636688135">پس از ۲۴ ساعت، سرپرستتان به‌روزرسانی یک‌باره‌ای انجام خواهد داد که داده‌های محلی شما را هنگام بازراه‌اندازی دستگاه حذف می‌کند. ظرف ۲۴ ساعت، همه داده‌های محلی موردنیازتان را در فضای ذخیره‌سازی ابری ذخیره کنید.</translation>
 <translation id="3872220884670338524">عملکردهای بیشتر، حساب ذخیره‌شده برای <ph name="USERNAME" /> در <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">فضای دیسک را خالی کنید، در غیر این صورت دستگاه پاسخ نخواهد داد.</translation>
 <translation id="3873315167136380065">برای روشن کردن این گزینه، <ph name="BEGIN_LINK" />همگام‌سازی را بازنشانی کنید<ph name="END_LINK" /> تا عبارت عبور همگام‌سازی حذف شود</translation>
@@ -1919,6 +1935,7 @@
 <translation id="3983400541576569538">ممکن است داده‌های برخی برنامه‌ها از دست بروند</translation>
 <translation id="3983586614702900908">دستگاه‌های ارائه‌دهنده ناشناس</translation>
 <translation id="3984159763196946143">حالت نمایشی شروع نشد</translation>
+<translation id="3984431586879874039">به این سایت اجازه می‌دهید کلید امنیتی‌تان را ببیند؟</translation>
 <translation id="3987348946546879621">داده‌های ذخیره‌‌شده</translation>
 <translation id="3987938432087324095">متأسفم، متوجه نشدم.</translation>
 <translation id="3988996860813292272">انتخاب منطقه زمانی</translation>
@@ -1995,13 +2012,13 @@
 <translation id="4099060993766194518">موتور جستجوی پیش‌فرض بازیابی شود؟</translation>
 <translation id="4099874310852108874">خطای شبکه رخ داد.</translation>
 <translation id="4100733287846229632">فضای دستگاه خیلی کم است</translation>
+<translation id="4100853287411968461">محدودیت جدید مدت تماشای صفحه</translation>
 <translation id="4103091233824664032">برای پیکربندی قفل صفحه و ورود به سیستم، گذرواژه‌تان را وارد کنید</translation>
 <translation id="4104163789986725820">&amp;صادر کردن...</translation>
 <translation id="4107048419833779140">شناسایی و خارج کردن دستگاه‌های ذخیره‌سازی</translation>
 <translation id="4109135793348361820">انتقال پنجره به <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">‏بارگیری کامل شد: <ph name="FILE_NAME" />. برای چرخش در قسمت نوار بارگیری‌ها، Shift+F6 را فشار دهید.</translation>
 <translation id="4110895898888439383">مرور وب در حالت کنتراست بالا</translation>
-<translation id="4112221174576828331">‏اگر تصویری توضیح مفیدی نداشته باشد، Chrome توضیحی برای شما ارائه خواهد کرد. Google تصاویر را اسکن می‌کند.</translation>
 <translation id="4115002065223188701">شبکه خارج از محدوده است</translation>
 <translation id="4115080753528843955">بعضی از سرویس‌های محتوا از شناسه‌های متمایز با هدف مجاز کردن دسترسی به محتوای محافظت‌شده استفاده می‌کنند</translation>
 <translation id="4118579674665737931">لطفاً دستگاه را راه‌اندازی مجدد کنید و دوباره امتحان کنید.</translation>
@@ -2115,6 +2132,7 @@
 <translation id="4324577459193912240">فایل ناقص</translation>
 <translation id="4325237902968425115">درحال حذف نصب <ph name="LINUX_APP_NAME" />…</translation>
 <translation id="4328203388435897516">‏وقتی Chromebook راه‌اندازی شد، دکمه «دستیار» را فشار دهید یا بگویید «OK Google» تا در هرزمانی از «دستیار» کمک بگیرید. برای انجام تغییرات به تنظیمات «دستیار» بروید.</translation>
+<translation id="4330191372652740264">آب یخ</translation>
 <translation id="4330387663455830245"><ph name="LANGUAGE" /> هرگز ترجمه نشود</translation>
 <translation id="4333854382783149454">‏PKCS #1 SHA-1 با رمزگذاری RSA</translation>
 <translation id="4336979451636460645">برای گزارش‌های شبکه، به این قسمت رجوع کنید: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2150,6 +2168,7 @@
 <translation id="438503109373656455">اسب</translation>
 <translation id="4387004326333427325">گواهینامه راستی‌آزمایی، ازراه‌دور، رد شد</translation>
 <translation id="4389091756366370506">کاربر <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{حالت ناشناس}one{# پنجره ناشناس}other{# پنجره ناشناس}}</translation>
 <translation id="439266289085815679">‏پیکربندی Bluetooth توسط <ph name="USER_EMAIL" /> کنترل می‌شود.</translation>
 <translation id="4394049700291259645">غیر فعال کردن</translation>
 <translation id="4400367121200150367">سایت‌هایی که هرگز گذرواژه را ذخیره نمی‌کنند در اینجا نشان داده نخواهند شد</translation>
@@ -2298,6 +2317,7 @@
 <translation id="4648499713050786492">لطفاً قبل از افزودن شخصی، قفل نمایه‌تان را باز کنید.</translation>
 <translation id="4651484272688821107">بااستفاده از منابع حالت نمایشی، مؤلفه آنلاین بار نشد.</translation>
 <translation id="465878909996028221">‏فقط پروتکل‌های فایل، http و https برای ویژگی هدایت کردن مرورگر پشتیبانی می‌شوند.</translation>
+<translation id="4659077111144409915">حساب اصلی</translation>
 <translation id="4660476621274971848">نسخه موردانتظار «<ph name="EXPECTED_VERSION" />» است، اما نسخه «<ph name="NEW_ID" />» بود</translation>
 <translation id="4662788913887017617">‏این نشانک را با iPhone خود به اشتراک بگذارید</translation>
 <translation id="4663373278480897665">دوربین مجاز است</translation>
@@ -2343,6 +2363,7 @@
 <translation id="4724450788351008910">شرکت وابسته تغییر کرد</translation>
 <translation id="4725511304875193254">کورگی</translation>
 <translation id="4726710629007580002">هنگام تلاش برای نصب این برنامهٔ افزودنی٬ اخطارهایی وجود داشت:</translation>
+<translation id="4727847987444062305">جلسه مهمان مدیریت‌شده</translation>
 <translation id="4728558894243024398">پلت فورم</translation>
 <translation id="4733082559415072992"><ph name="URL" /> می‌خواهد از موقعیت مکانی دستگاهتان استفاده کند</translation>
 <translation id="4733793249294335256">مکان</translation>
@@ -2452,6 +2473,7 @@
 <translation id="488785315393301722">نمایش جزئیات</translation>
 <translation id="4890773143211625964">نمایش گزینه‌های چاپگر پیشرفته</translation>
 <translation id="4891089016822695758">تالار گفتمان بتا</translation>
+<translation id="4892229439761351791">سایت می‌تواند از بلوتوث استفاده کند</translation>
 <translation id="4893336867552636863">این کار داده مرور شما را برای همیشه از روی این دستگاه حذف می‌کند.</translation>
 <translation id="4893522937062257019">در صفحه قفل</translation>
 <translation id="4898011734382862273">مجوز «<ph name="CERTIFICATE_NAME" />» نشان‌دهنده یک ارائه‌دهنده مجوز است</translation>
@@ -2627,6 +2649,8 @@
 <translation id="5187295959347858724">‏شما اکنون به سیستم <ph name="SHORT_PRODUCT_NAME" /> وارد شدید. نشانک‌ها، سابقه و سایر تنظیمات شما با حساب Google  شما همگام‌سازی می‌شوند.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> می‌خواهد چند فایل را بارگیری کند</translation>
+<translation id="5192316339598592690">‏به‌سرعت به حساب دیگری بروید و به‌طور هم‌زمان به سیستم برنامه‌ها و وب‌سایت‌ها وارد شوید.
+    برنامه‌ها و سایت‌ها می‌توانند از شما بخواهند به آن‌ها اجازه دهید از بعضی از اطلاعات حساب Google شما استفاده کنند. <ph name="LINK_BEGIN" />بیشتر بدانید<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">لطفاً دستگاه را پاورواش کنید و دوباره امتحان کنید.</translation>
 <translation id="5204967432542742771">گذرواژه را وارد کنید</translation>
 <translation id="5206215183583316675">«<ph name="CERTIFICATE_NAME" />» حذف شود؟</translation>
@@ -3511,6 +3535,7 @@
 <translation id="6547354035488017500">اگر حداقل ۵۱۲ مگابایت از حافظه دستگاه را خالی نکنید، پاسخ‌گویی دستگاه متوقف خواهد شد. برای آزاد کردن فضا، فایل‌ها را از حافظه دستگاه حذف کنید.</translation>
 <translation id="6550675742724504774">گزینه‌ها</translation>
 <translation id="6551508934388063976">‏فرمان در دسترس نیست. برای باز کردن پنجره‌ای جدید، Control-N را فشار دهید.</translation>
+<translation id="6551612971599078809">‏سایت درحال استفاده از USB است</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> کاربر</translation>
 <translation id="655483977608336153">امتحان مجدد</translation>
 <translation id="6555432686520421228">همه حساب‌های کاربر حذف شود و دستگاه <ph name="IDS_SHORT_PRODUCT_NAME" /> شما بازنشانی شود تا جدید شود.</translation>
@@ -3735,6 +3760,7 @@
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> باز نشد</translation>
 <translation id="6921709132208495314">توقف استفاده از داده در این صفحه</translation>
 <translation id="6922128026973287222">‏با «صرفه‌جویی داده Google»، مصرف داده را بهینه کرده و سریع‌تر مرور کنید. برای اطلاعات بیشتر کلیک کنید.</translation>
+<translation id="6922745772873733498">برای چاپ کردن، پین را وارد کنید</translation>
 <translation id="6923132443355966645">پیمایش / کلیک</translation>
 <translation id="6923633482430812883">‏هنگام نشاندن دستگاه ذخیره‌سازی متصل به شبکه خطایی روی داد. لطفاً مطمئن شوید سرور فایلی که می‌خواهید به آن متصل شوید از SMB نسخه v2 یا بالاتر پشتیبانی می‌کند.</translation>
 <translation id="6930036377490597025">کلید امنیتی خارجی یا حسگر داخلی</translation>
@@ -3789,6 +3815,7 @@
 <translation id="7003339318920871147">پایگاه‌های داده وب</translation>
 <translation id="7003723821785740825">تنظیم روشی سریع‌تر جهت باز کردن قفل دستگاه</translation>
 <translation id="7003844668372540529">محصول نامشخص <ph name="PRODUCT_ID" /> از <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">‏سایت می‌تواند از MIDI استفاده کند</translation>
 <translation id="7004499039102548441">برگه‌های جدید</translation>
 <translation id="7005848115657603926">محدوده صفحه معتبر نیست، از <ph name="EXAMPLE_PAGE_RANGE" /> استفاده کنید</translation>
 <translation id="7006634003215061422">حاشیه پایین</translation>
@@ -3801,9 +3828,11 @@
 <translation id="7017480957358237747">وب‌سایت‌های خاصی را مجاز یا ممنوع کنید،</translation>
 <translation id="7018275672629230621">خواندن و تغییر سابقه مرورگرتان</translation>
 <translation id="7019805045859631636">سریع</translation>
+<translation id="702252130983202758">برنامه‌های شما</translation>
 <translation id="7022562585984256452">صفحه اصلی شما تنظیم شد.</translation>
 <translation id="7025190659207909717">مدیریت خدمات داده‌های تلفن همراه</translation>
 <translation id="7029809446516969842">گذرواژه‌ها</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - متصل به درگاه سریال</translation>
 <translation id="7031962166228839643">‏TPM در حال آماده شدن است، لطفاً منتظر بمانید (این مرحله ممکن است چند دقیقه طول بکشد)...</translation>
 <translation id="7037509989619051237">نوشتار برای پیش‌نمایش</translation>
 <translation id="7039326228527141150">‏دسترسی به دستگاه‌های USB از <ph name="VENDOR_NAME" /></translation>
@@ -3828,6 +3857,7 @@
 <translation id="706626672220389329">هنگام نشاندن دستگاه ذخیره‌سازی متصل به شبکه خطایی روی داد. دستگاه ذخیره‌سازی مشخص‌شده قبلاً نشانده شده است.</translation>
 <translation id="7066944511817949584">اتصاله به "<ph name="DEVICE_NAME" />" ناموفق بود.</translation>
 <translation id="7067725467529581407">هرگز دوباره نشان داده نشود.</translation>
+<translation id="7069811530847688087">ممکن است <ph name="WEBSITE" /> به کلید امنیتی جدیدتر یا نوع دیگری نیاز داشته باشد</translation>
 <translation id="7070484045139057854">می‌تواند داده‌های سایت را بخواند و تغییر دهد</translation>
 <translation id="7072010813301522126">نام میان‌بر</translation>
 <translation id="707392107419594760">صفحه‌کلید خود را انتخاب کنید:</translation>
@@ -3908,6 +3938,7 @@
 <translation id="7189234443051076392">مطمئن شوید که در دستگاهتان فضای کافی وجود داشته باشد</translation>
 <translation id="7189965711416741966">اثرانگشت اضافه شد.</translation>
 <translation id="7191159667348037">‏چاپگر ناشناس (USB)</translation>
+<translation id="7193051357671784796">این برنامه توسط سازمانتان اضافه شده است. برای تکمیل نصب، برنامه را بازراه‌اندازی کنید.</translation>
 <translation id="7193374945610105795">هیچ گذرواژه‌ای برای <ph name="ORIGIN" /> ذخیره نشده است</translation>
 <translation id="7196913789568937443">‏پشتیبان‌گیری در Google Drive. هرزمان خواستید داده‌هایتان را به‌آسانی بازیابی کنید یا دستگاهتان را عوض کنید. نسخه پشتیبان شما حاوی داده‌های برنامه است. داده‌های پشتیبان در Google بارگذاری می‌شود و با استفاده از گذرواژه حساب Google رمزگذاری می‌شود. <ph name="BEGIN_LINK1" />بیشتر بدانید<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">‏دریافت «جستجوی Google» و هوشمندی‌های Google هنگام مرور</translation>
@@ -4330,6 +4361,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />نکته:<ph name="END_BOLD" /> سیستم هنگام پردازش راه‌اندازی مجدد می‌شود.</translation>
 <translation id="7829298379596169484">در حال دسترسی به ورودی صوتی</translation>
+<translation id="7830594666202422257">‏اتصال به Linux</translation>
 <translation id="7831491651892296503">خطا در پیکربندی شبکه</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">زمان پایان</translation>
@@ -4359,6 +4391,7 @@
 <translation id="7877451762676714207">خطای سرور ناشناس. لطفاً دوباره سعی کنید یا با سرپرست سرور تماس بگیرید.</translation>
 <translation id="7877680364634660272">گشت</translation>
 <translation id="7878562273885520351">ممکن است گذرواژه‌تان درمعرض خطر باشد</translation>
+<translation id="7880823633812189969">وقتی بازراه‌اندازی کنید، داده‌های محلی حذف می‌شود</translation>
 <translation id="7881483672146086348">مشاهده حساب</translation>
 <translation id="7882358943899516840">نوع ارائه‌دهنده</translation>
 <translation id="7885253890047913815">مقصدهای اخیر</translation>
@@ -4454,6 +4487,7 @@
 <translation id="8008356846765065031">اینترنت قطع است. لطفاً اتصال اینترنتتان را بررسی کنید.</translation>
 <translation id="8009225694047762179">مدیریت گذرواژه</translation>
 <translation id="8012382203418782830">این صفحه ترجمه شده است.</translation>
+<translation id="8013993649590906847">‏اگر تصویری توضیح مفیدی نداشته باشد، Chrome توضیحی برای شما ارائه خواهد کرد. برای ایجاد توضیحات، تصاویر به Google ارسال می‌شود.</translation>
 <translation id="8014154204619229810">در حال حاضر به‌روزرسان در حال اجراست. برای بررسی دوباره، بعد از یک دقیقه بازخوانی کنید.</translation>
 <translation id="8014206674403687691">‏<ph name="IDS_SHORT_PRODUCT_NAME" /> قادر نیست به نسخه نصب شده قبلی بازگردد. لطفاً دوباره سعی کنید دستگاهتان را Powerwash کنید.</translation>
 <translation id="8014210335923519270">‏بهبود <ph name="IDS_SHORT_PRODUCT_NAME" /> و امنیت آن ازطریق ارسال اطلاعات و آمار استفاده سیستم به Google</translation>
@@ -4697,6 +4731,7 @@
 <translation id="8426713856918551002">فعال کردن</translation>
 <translation id="8427292751741042100">جاسازی‌شده در هر میزبانی</translation>
 <translation id="8428213095426709021">تنظیمات</translation>
+<translation id="8428628598981198790">نمی‌توان از کلید امنیتی‌تان در این سایت استفاده کرد.</translation>
 <translation id="84297032718407999"><ph name="LOGOUT_TIME_LEFT" /> دیگر از سیستم خارج می‌شوید</translation>
 <translation id="8431190899827883166">نمایش ضربه‌ها</translation>
 <translation id="8431909052837336408">تغییر پین سیم</translation>
@@ -4901,6 +4936,7 @@
 <translation id="8732212173949624846">خواندن و تغییر سابقه مرورتان در همه دستگاه‌های وارد به سیستم خودتان</translation>
 <translation id="8732844209475700754">تنظیمات بیشتر مرتبط با حریم خصوصی، امنیت و جمع‌آوری داده‌ها</translation>
 <translation id="8734073480934656039">فعال کردن این تنظیم به برنامه‌های کیوسک اجازه می‌دهد تا به صورت خودکار در شروع به کار راه‌اندازی شوند.</translation>
+<translation id="8734671092194994316">با این کار، سابقه‌ای از بازدیدتان از <ph name="WEBSITE" /> در کلید امنیتی‌تان ثبت خواهد شد.</translation>
 <translation id="873545264931343897">وفتی به‌روزرسانی <ph name="PLUGIN_NAME" /> تمام شد، برای فعال کردن آن، صفحه را تازه‌سازی کنید</translation>
 <translation id="8736288397686080465">این سایت در پس‌زمینه به‌روزرسانی شده است.</translation>
 <translation id="8737685506611670901">باز کردن پیوندهای <ph name="PROTOCOL" /> به جای <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -4999,6 +5035,7 @@
 <translation id="8877448029301136595">[دایرکتوری والد]</translation>
 <translation id="8879284080359814990">&amp;نمایش به‌صورت برگه</translation>
 <translation id="8883847527783433352">همگام‌سازی با حسابی دیگر</translation>
+<translation id="8884570509232205463">اکنون دستگاهتان ساعت <ph name="UNLOCK_TIME" /> قفل می‌شود.</translation>
 <translation id="8885197664446363138">‏Smart Lock در دسترس نیست</translation>
 <translation id="8888253246822647887">وقتی ارتقا به پایان برسد، برنامه‌تان باز خواهد شد. ارتقا ممکن است چند دقیقه طول بکشد.</translation>
 <translation id="8888432776533519951">رنگ:</translation>
@@ -5023,7 +5060,6 @@
 <translation id="891365694296252935">‏داده‌های استفاده و عیب‌یابی را ارسال کنید. این دستگاه درحال‌حاضر به‌صورت‌ خودکار داده‌های عیب‌یابی و داده‌های استفاده از دستگاه و برنامه را برای Google ارسال می‌کند. این داده‌ها برای شناسایی فرزندتان استفاده نخواهند شد و به بهبود پایداری سیستم و برنامه و موارد دیگر کمک خواهد کرد. بعضی داده‌های انبوه نیز به برنامه‌ها و شرکای Google (مانند برنامه‌نویس‌های Android) کمک می‌کند. این تنظیم توسط مالک اعمال می‌شود. اگر «فعالیت وب و برنامه» تکمیلی برای فرزندتان روشن باشد، ممکن است این داده‌ها در حساب Google او ذخیره شود. <ph name="BEGIN_LINK1" />بیشتر بدانید<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">در حال بارگیری پیشنهادات</translation>
 <translation id="8916476537757519021">قاب فرعی ناشناس: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">بله، موافقم</translation>
 <translation id="8919275547519617350">برای اینکه همه گذرواژه‌هایتان را در همه دستگاه‌ها دریافت کنید، به سیستم وارد شوید و همگام‌سازی را روشن کنید.</translation>
 <translation id="8921366488406707015">درحال تأیید کردن کلید امنیتی…</translation>
 <translation id="8922013791253848639">آگهی‌ها همیشه در این سایت مجاز باشند</translation>
@@ -5092,6 +5128,7 @@
 <translation id="9026852570893462412">این فرایند ممکن است چند دقیقه طول بکشد. درحال بارگیری دستگاه مجازی.</translation>
 <translation id="9027459031423301635">باز کردن پیوند در &amp;برگه جدید</translation>
 <translation id="9030515284705930323">‏سازمان شما فروشگاه Google Play را برای حسابتان فعال نکرده است. برای اطلاعات بیشتر با سرپرستتان تماس بگیرید.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;جای‌گذاری</translation>
 <translation id="9037965129289936994">نمایش مورد اصلی</translation>
 <translation id="9038649477754266430">استفاده از یک سرویس پیش‌بینی برای بار کردن سریع‌تر صفحه‌ها</translation>
@@ -5121,7 +5158,6 @@
 <translation id="9065203028668620118">ویرایش</translation>
 <translation id="9066773882585798925">بلند خوانده شدن نوشتار</translation>
 <translation id="9066782832737749352">تبدیل نوشتار به‌ گفتار</translation>
-<translation id="907264006778172906">‏به Linux اجازه می‌دهد به دستگاه‌های USB دسترسی پیدا کند. Linux بعد از برداشتن دستگاه usb، آن را به خاطر نمی‌سپارد.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">بلوتوث</translation>
 <translation id="9074836595010225693">‏موشواره USB متصل شد</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index 24c20ce3..61924b4 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -2003,7 +2003,6 @@
 <translation id="4109135793348361820">Siirrä ikkuna käyttäjälle <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Lataus valmis: <ph name="FILE_NAME" />. Paina Shift + F6 siirtyäksesi latauspalkkialueelle.</translation>
 <translation id="4110895898888439383">Selaa internetiä Suuri kontrasti ‑tilassa</translation>
-<translation id="4112221174576828331">Jos kuvalla ei ole hyödyllistä kuvausta, Chrome luo sellaisen. Google skannaa kuvat.</translation>
 <translation id="4115002065223188701">Verkon kantama ei riitä</translation>
 <translation id="4115080753528843955">Jotkin sisältöpalvelut käyttävät yksilöllisiä tunnuksia suojatun sisällön käyttöoikeuden myöntämiseen.</translation>
 <translation id="4118579674665737931">Käynnistä laite uudelleen ja yritä sen jälkeen uudelleen.</translation>
@@ -3847,7 +3846,7 @@
 <translation id="7088434364990739311">Päivitystarkistuksen käynnistäminen epäonnistui (virhekoodi <ph name="ERROR" />).</translation>
 <translation id="7088561041432335295">Zip Archiver – Avaa ja pakkaa ZIP-tiedostoja Tiedostot-sovelluksessa.</translation>
 <translation id="7088674813905715446">Järjestelmänvalvoja on asettanut tämän laitteen poistotilaan. Voit asettaa sen käyttöönottotilaan pyytämällä järjestelmänvalvojaa asettamaan laitteen odottavaan tilaan.</translation>
-<translation id="7092474863625458670">Voice Matchin avulla voit käynnistää Assistantin suoraan puhekomennolla.
+<translation id="7092474863625458670">Voice Matchin avulla voit käynnistää Assistantin suoraan äänikomennolla.
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Muistettavaa:<ph name="END_BOLD" /> Assistantin käyttö voi olla mahdollista myös, jos ääntäsi on nauhoitettu tai jonkun toisen ääni muistuttaa omaasi. Voit poistaa Voice Matchin käyttöoikeuden myöhemmin poistamalla sen käytöstä Assistantin asetuksissa.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -4457,6 +4456,7 @@
 <translation id="8008356846765065031">Internetyhteys katkaistu. Tarkista internetyhteytesi.</translation>
 <translation id="8009225694047762179">Salasanojen hallinta</translation>
 <translation id="8012382203418782830">Tämä sivu on käännetty.</translation>
+<translation id="8013993649590906847">Jos kuvalla ei ole hyödyllistä kuvausta, Chrome yrittää luoda sellaisen. Kuvat lähetetään Googlelle kuvausten luomista varten.</translation>
 <translation id="8014154204619229810">Päivitysohjelma on käynnissä. Lataa sivu hetken kuluttua uudelleen ja tarkista tilanne.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> ei voi palautua aiemmin asennettuun versioon. Suorita laitteellesi Powerwash uudelleen.</translation>
 <translation id="8014210335923519270">Auta luomaan parempi ja turvallisempi <ph name="IDS_SHORT_PRODUCT_NAME" /> lähettämällä järjestelmä- ja käyttötietoja Googlelle.</translation>
@@ -5026,7 +5026,6 @@
 <translation id="891365694296252935">Lähetä käyttö- ja diagnostiikkadataa. Laite lähettää tällä hetkellä diagnostiikkadataa sekä laitteen ja sovellusten käyttödataa automaattisesti Googlelle. Dataa ei käytetä lapsesi henkilöllisyyden selvittämiseen – sen avulla parannetaan esimerkiksi järjestelmän ja sovellusten vakautta. Kootusta datasta on hyötyä myös Googlen sovelluksille ja kumppaneille, kuten Android-kehittäjille. Omistaja on ottanut tämän asetuksen käyttöön. Jos muun verkko- ja sovellustoiminnan asetus on lapsella käytössä, tätä dataa voidaan tallentaa hänen Google-tililleen. <ph name="BEGIN_LINK1" />Lue lisää<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Ladataan ehdotusta</translation>
 <translation id="8916476537757519021">Incognito-alakehys: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Kyllä</translation>
 <translation id="8919275547519617350">Kirjaudu sisään ja ota synkronointi käyttöön, niin voit käyttää salasanojasi kaikilla laitteilla.</translation>
 <translation id="8921366488406707015">Vahvistetaan suojausavainta…</translation>
 <translation id="8922013791253848639">Salli aina mainokset tällä sivustolla.</translation>
@@ -5124,7 +5123,6 @@
 <translation id="9065203028668620118">Muokkaa</translation>
 <translation id="9066773882585798925">Tekstin lukeminen ääneen</translation>
 <translation id="9066782832737749352">Tekstistä puheeksi</translation>
-<translation id="907264006778172906">Anna USB-laitteiden käyttöoikeus Linuxille. Linux ei muista USB-laitetta, kun se on irrotettu.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB-hiiri yhdistetty</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index df9df10..5d2c578 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -2005,7 +2005,6 @@
 <translation id="4109135793348361820">Ilipat ang window sa <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Na-download na: <ph name="FILE_NAME" />. Pindutin ang Shift+F6 para mag-cycle sa lugar ng bar ng mga download.</translation>
 <translation id="4110895898888439383">I-browse ang web sa high contrast mode</translation>
-<translation id="4112221174576828331">Kung walang kapaki-pakinabang na paglalarawan ang isang larawan, magbibigay nito ang Chrome para sa iyo. Sina-scan ng Google ang mga larawan.</translation>
 <translation id="4115002065223188701">Hindi nasasagap ang network</translation>
 <translation id="4115080753528843955">Gumagamit ang ilang serbisyo ng content ng mga natatanging identifier para sa pagpapahintulot ng access sa pinoprotektahang content</translation>
 <translation id="4118579674665737931">Paki-reboot ang device at subukang muli.</translation>
@@ -4458,6 +4457,7 @@
 <translation id="8008356846765065031">Nadiskonekta ang Internet. Pakisuri ang iyong koneksyon sa internet.</translation>
 <translation id="8009225694047762179">Pamahalaan ang Mga Password</translation>
 <translation id="8012382203418782830">Naisalin na ang pahinang ito.</translation>
+<translation id="8013993649590906847">Kung hindi sapat ang deskripsyon ng isang larawan, susubukan ng Chrome na ayusin ito para sa iyo. Para gumawa ng mga deskripsyon, ipinapadala ang mga larawan sa Google.</translation>
 <translation id="8014154204619229810">Kasalukuyang tumatakbo ang updater. I-refresh pagkatapos ng isang minuto upang muling suriin.</translation>
 <translation id="8014206674403687691">Hindi ma-revert ang <ph name="IDS_SHORT_PRODUCT_NAME" /> sa dating naka-install na bersyon. Pakisubukang muli upang i-Powerwash ang iyong device.</translation>
 <translation id="8014210335923519270">Pahusayin ang <ph name="IDS_SHORT_PRODUCT_NAME" /> at ang seguridad nito sa pamamagitan ng pagpapadala ng impormasyon at paggamit ng system sa Google</translation>
@@ -5029,7 +5029,6 @@
 <translation id="891365694296252935">Magpadala ng data ng paggamit at diagnostic na data. Sa kasalukuyan, ang device na ito ay awtomatikong nagpapadala ng diagnostic na data, data ng device, at data ng paggamit sa app sa Google. Hindi ito gagamitin para tukuyin ang pagkakakilanlan ng iyong anak, at makakatulong ito sa stability ng system at ng app, at sa iba pang pagpapahusay. Makakatulong din ang ilang pinagsama-samang data sa mga app at partner ng Google, gaya ng mga developer ng Android. Ipinapatupad ng may-ari ang setting na ito. Kung naka-on ang karagdagang Aktibidad sa Web at App para sa iyong anak, maaaring ma-save ang data na ito sa kanyang Google Account. <ph name="BEGIN_LINK1" />Matuto Pa<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Nilo-load ang suhestiyon</translation>
 <translation id="8916476537757519021">Incognito na Subframe: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Oo, Tinatanggap Ko</translation>
 <translation id="8919275547519617350">Para mailagay ang lahat ng iyong password sa lahat ng device mo, mag-sign in at i-on ang pag-sync.</translation>
 <translation id="8921366488406707015">Vine-verify ang iyong security key...</translation>
 <translation id="8922013791253848639">Palaging payagan ang mga ad sa site na ito</translation>
@@ -5127,7 +5126,6 @@
 <translation id="9065203028668620118">I-edit</translation>
 <translation id="9066773882585798925">Marinig na binabasa nang malakas ang text</translation>
 <translation id="9066782832737749352">Text-to-Speech</translation>
-<translation id="907264006778172906">Pahintulutan ang Linux na i-access ang mga USB device. Hindi maaalala ng Linux ang isang usb device pagkatapos itong alisin.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Nakakonekta ang USB mouse</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index 4dd851c..a175ef8 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -675,7 +675,7 @@
 <translation id="2075959085554270910">Permet d'activer ou de désactiver la fonctionnalité Taper pour cliquer et le déplacement tactile</translation>
 <translation id="2076269580855484719">Masquer ce plug-in</translation>
 <translation id="2076672359661571384">Moyenne (recommandé)</translation>
-<translation id="2077129598763517140">Utiliser l'accélération matérielle (le cas échéant)</translation>
+<translation id="2077129598763517140">Utiliser l'accélération matérielle si disponible</translation>
 <translation id="2078019350989722914">Confirmer avant de quitter (<ph name="KEY_EQUIVALENT" />)</translation>
 <translation id="2079053412993822885">Si vous supprimez l'un de vos propres certificats, vous ne pouvez plus l'utiliser pour vous identifier.</translation>
 <translation id="2079545284768500474">Annuler</translation>
@@ -2005,7 +2005,6 @@
 <translation id="4109135793348361820">Déplacer la fenêtre vers <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Téléchargement terminé : <ph name="FILE_NAME" />. Appuyez sur Maj+F6 pour accéder à la zone de la barre de téléchargements.</translation>
 <translation id="4110895898888439383">Parcourir le Web en mode Contraste élevé</translation>
-<translation id="4112221174576828331">Si une image n'est pas accompagnée d'une description utile, Chrome vous en proposera une. Les images sont analysées par Google.</translation>
 <translation id="4115002065223188701">Réseau hors de portée</translation>
 <translation id="4115080753528843955">Certains services de contenu utilisent des identifiants uniques dans le but d'autoriser l'accès au contenu protégé</translation>
 <translation id="4118579674665737931">Veuillez redémarrer l'appareil et réessayer.</translation>
@@ -4459,6 +4458,7 @@
 <translation id="8008356846765065031">Connexion Internet interrompue. Veuillez vérifier votre connexion.</translation>
 <translation id="8009225694047762179">Gérer les mots de passe</translation>
 <translation id="8012382203418782830">Cette page a été traduite.</translation>
+<translation id="8013993649590906847">Si une image n'est pas accompagnée d'une description utile, Chrome essaiera de vous en proposer une. Pour nous permettre de créer des descriptions, les images sont envoyées à Google.</translation>
 <translation id="8014154204619229810">Le processus de mise à jour est en cours. Actualisez la page dans quelques instants et revérifiez.</translation>
 <translation id="8014206674403687691">Impossible de revenir à la version précédente de <ph name="IDS_SHORT_PRODUCT_NAME" />. Veuillez essayer de réinitialiser l'appareil avec la fonctionnalité Powerwash.</translation>
 <translation id="8014210335923519270">Améliorez <ph name="IDS_SHORT_PRODUCT_NAME" /> et ses paramètres de sécurité en envoyant des informations système et des données d'utilisation à Google</translation>
@@ -5028,7 +5028,6 @@
 <translation id="891365694296252935">Envoyer des données d'utilisation et de diagnostic. À l'heure actuelle, cet appareil envoie automatiquement à Google des données relatives aux diagnostics et à l'utilisation de l'appareil et des applications. Ces informations ne seront pas utilisées pour identifier votre enfant, mais elles nous aideront à améliorer, entre autres, la stabilité du système et des applications. Certaines données globales seront également utiles aux développeurs des applications Google et à nos partenaires, tels que les développeurs Android. Ce paramètre est appliqué par le propriétaire. Si vous activez le paramètre relatif à l'activité supplémentaire sur le Web et les applications pour votre enfant, ces données peuvent être enregistrées dans son compte Google. <ph name="BEGIN_LINK1" />En savoir plus<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Chargement des suggestions en cours…</translation>
 <translation id="8916476537757519021">Sous-cadre de navigation privée : <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">J'accepte</translation>
 <translation id="8919275547519617350">Pour enregistrer tous vos mots de passe sur tous vos appareils, connectez-vous et activez la synchronisation.</translation>
 <translation id="8921366488406707015">Validation de votre clé de sécurité…</translation>
 <translation id="8922013791253848639">Toujours autoriser les annonces sur ce site</translation>
@@ -5126,7 +5125,6 @@
 <translation id="9065203028668620118">Modifier</translation>
 <translation id="9066773882585798925">Écouter un texte lu à voix haute</translation>
 <translation id="9066782832737749352">Synthèse vocale</translation>
-<translation id="907264006778172906">Autoriser Linux à accéder aux périphériques USB. Linux ne conserve pas un périphérique USB une fois qu'il est retiré.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Souris USB connectée.</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index c669eb1..36d90eb4 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">ઉપકરણો લોડ કરી શકાયાં નથી.</translation>
 <translation id="1008186147501209563">બુકમાર્ક નિકાસ કરો</translation>
 <translation id="1008557486741366299">હમણાં નહીં</translation>
+<translation id="1010498023906173788">આ ટૅબ સિરીઅલ પોર્ટ સાથે કનેક્ટ થયેલ છે.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{પૃષ્ઠ પ્રતિભાવવિહીન}one{પૃષ્ઠો પ્રતિભાવવિહીન}other{પૃષ્ઠો પ્રતિભાવવિહીન}}</translation>
 <translation id="1012794136286421601">તમારી દસ્તાવેજ, શીટ, સ્લાઇડ, અને ડ્રોઇંગ્સ ફાઇલો સિંક થઈ રહી છે. ઓનલાઇન કે ઑફલાઇન તેમને વાપરવા માટે Google ડ્રાઇવ ઍપ મેમરીન ખોલો.</translation>
 <translation id="1012876632442809908">USB-C ઉપકરણ (આગળનું પોર્ટ)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">બહાર નીકળવા માટે |<ph name="ACCELERATOR" />| દબાવો</translation>
 <translation id="1038168778161626396">ફક્ત ચિહ્નિત કરો</translation>
 <translation id="1039337018183941703">અમાન્ય અથવા દૂષિત ફાઇલ</translation>
+<translation id="1041175011127912238">આ પેજ પ્રતિભાવ આપી રહ્યું નથી</translation>
 <translation id="1042174272890264476">તમારા કમ્પ્યુટરની સાથે <ph name="SHORT_PRODUCT_NAME" /> ની RLZ લાઇબ્રેરી બિલ્ટ ઇન પણ આવે છે. RLZ વિશેષ પ્રચારાત્મક ઝુંબેશ દ્વારા ચલાવવામાં આવતી શોધ અને <ph name="SHORT_PRODUCT_NAME" /> ઉપયોગને માપવા માટે બિન-અદ્વિતીય, બિન-વ્યક્તિગત રૂપે ઓળખી શકાય તેવા ટૅગ સોંપે છે. આ લેબલ્સ કેટલીકવાર <ph name="PRODUCT_NAME" /> માં Google શોધ ક્વેરીઝમાં દેખાય છે.</translation>
 <translation id="1046059554679513793">ઓહ, આ નામ પહેલેથી ઉપયોગમાં છે!</translation>
 <translation id="1046635659603195359">એવું લાગી રહ્યું છે કે તમે પહેલેથી જ કોઈ અન્ય ડિવાઇસ પર તમારા Google આસિસ્ટંટ વડે Voice Matchનું સેટઅપ કર્યું છે. અગાઉની આ બધી રેકોર્ડિંગનો ઉપયોગ આ ડિવાઇસ પર વૉઇસ મૉડલ બનાવવા માટે કરી શકાશે. આમાં એક મિનિટ કરતાં પણ ઓછો સમય લાગે છે.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">છુપી વિંડો વડે, તમારો બ્રાઉઝિંગ ઇતિહાસ સાચવ્યા વિના વેબનો ઉપયોગ કરો</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> ફિંગરપ્રિન્ટ સેટ અપ</translation>
 <translation id="1215411991991485844">નવી પૃષ્ઠભૂમિ ઍપ્લિકેશન ઉમેરી છે</translation>
+<translation id="1217483152325416304">તમારો સ્થાનિક ડેટા ટૂંક સમયમાં ડિલીટ કરવામાં આવશે</translation>
 <translation id="1217668622537098248">ક્રિયા કર્યા પછી ડાબી ક્લિક પર પાછા ફરો</translation>
 <translation id="121783623783282548">પાસવર્ડ્સ મેળ ખાતા નથી.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Googleની સ્થાન સેવા, આ ડિવાઇસના સ્થાનનું અનુમાન લગાવવામાં સહાય માટે વાઇ-ફાઇ, મોબાઇલ નેટવર્ક અને સેન્સર જેવા સૉર્સનો ઉપયોગ કરે છે.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">વિગતો: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ઇન્સ્ટૉલેશન ચાલુ કર્યું નથી</translation>
 <translation id="1483493594462132177">મોકલો</translation>
+<translation id="1484979925941077974">સાઇટ બ્લૂટૂથનો ઉપયોગ કરી રહી છે</translation>
 <translation id="1485015260175968628">તે હવે આ કરી શકે છે:</translation>
 <translation id="1485141095922496924">વર્ઝન <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">પાસવર્ડ્સ શોધો</translation>
@@ -454,6 +458,7 @@
 <translation id="1708338024780164500">(નિષ્ક્રિય)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (મૂળ)</translation>
+<translation id="1711401317189798723"><ph name="CONTAINER_ID" /> માટે હાલમાં બૅકઅપ લેવાઈ રહ્યો છે</translation>
 <translation id="1712349894969001173">તમારા iPhone પર આ પાસવર્ડ મેળવો</translation>
 <translation id="1712552549805331520"><ph name="URL" /> તમારા સ્થાનિક કમ્પ્યુટર પર કાયમી ધોરણે ડેટા સ્ટોર કરવા માગે છે</translation>
 <translation id="1718835860248848330">છેલ્લા એક કલાક</translation>
@@ -603,6 +608,7 @@
 <translation id="1932026958134051332">ઍક્સેસ વિકલ્પોને સ્વિચ કરો</translation>
 <translation id="1932098463447129402">આની પહેલા નહીં</translation>
 <translation id="1933809209549026293">કૃપા કરીને માઉસ અથવા કીબોર્ડને કનેક્ટ કરો. જો તમે Bluetooth ડિવાઇસ વાપરી રહ્યા હો, તો તે જોડી માટે તૈયાર છે તેની ખાતરી કરો.</translation>
+<translation id="1937774647013465102">આ ડિવાઇસ કે જે <ph name="ARCHITECTURE_DEVICE" /> છે તેના વડે <ph name="ARCHITECTURE_CONTAINER" /> પ્રકારના કન્ટેનર આર્કિટેક્ચરની આયાત કરી શકાતી નથી. તમે આ કન્ટેનરની જુદા ડિવાઇસમાં પુનઃસ્થાપના કરવાનો પ્રયાસ કરી શકો છો અથવા તમે આ કન્ટેનર છબીમાંની ફાઇલોને ફાઇલો ઍપમાં ખોલીને તેમને ઍક્સેસ કરી શકો છો.</translation>
 <translation id="1938351510777341717">બાહ્ય આદેશ</translation>
 <translation id="1940546824932169984">કનેક્ટ થયેલ ઉપકરણો</translation>
 <translation id="1944921356641260203">અપડેટ મળ્યું</translation>
@@ -887,9 +893,11 @@
 <translation id="2392369802118427583">સક્રિય કરો</translation>
 <translation id="2394566832561516196">પછી ફરી લોડ થવા પર સેટિંગ્સ સાફ થઈ જશે.</translation>
 <translation id="2395616325548404795">એન્ટરપ્રાઇઝ સંચાલન માટે તમારા <ph name="DEVICE_TYPE" /> ની સફળતાપૂર્વક નોંધણી કરવામાં આવી, પરંતુ તેની એસેટ અને સ્થાન માહિતી મોકલવામાં નિષ્ફળ થયાં. કૃપા કરીને આ ઉપકરણ માટે તમારા Admin console માંથી આ માહિતી જાતે દાખલ કરો.</translation>
+<translation id="2396783860772170191">4 અંકનો પિન (0000-9999) દાખલ કરો</translation>
 <translation id="2408955596600435184">તમારો PIN દાખલ કરો</translation>
 <translation id="241082044617551207">અજ્ઞાત પ્લગિન</translation>
 <translation id="2413749388954403953">બુકમાર્ક્સ વપરાશકર્તા ઇન્ટરફેસ બદલો</translation>
+<translation id="241639282915300771"><ph name="CONTAINER_ID" /> માટે હાલની પ્રગતિની પુનઃસ્થાપના કરો</translation>
 <translation id="241727068219398187">ડેટા <ph name="TIME" />ના રોજ તમારા Google પાસવર્ડ સાથે એન્ક્રિપ્ટ કર્યો હતો.
           આમાં Google Payની ચુકવણી પદ્ધતિઓ અને ઍડ્રેસ સામેલ હોતા નથી.</translation>
 <translation id="2419706071571366386">સુરક્ષા માટે, તમારા કમ્પ્યુટરનો ઉપયોગ ન થતો હોય ત્યારે સાઇન આઉટ કરો.</translation>
@@ -982,6 +990,7 @@
 <translation id="2538361623464451692">સિંક બંધ કર્યું છે</translation>
 <translation id="2540449034743108469">એક્સ્ટેન્શનની પ્રવૃત્તિઓ સાંભળવા માટે "શરૂ કરો" દબાવો</translation>
 <translation id="2541002089857695151">પૂર્ણસ્ક્રીનને કાસ્ટ કરવાનું ઑપ્ટિમાઇઝ કરીએ?</translation>
+<translation id="2541706104884128042">સૂવાનો નવો સમય સેટ કર્યો</translation>
 <translation id="2544853746127077729">નેટવર્ક દ્વારા પ્રમાણીકરણ પ્રમાણપત્ર નકારવામાં આવ્યું</translation>
 <translation id="2549985041256363841">રેકોર્ડિંગ શરૂ કરો</translation>
 <translation id="2550212893339833758">સ્વૅપ કરેલ મેમરી</translation>
@@ -1073,6 +1082,7 @@
 <translation id="2677748264148917807">છોડો</translation>
 <translation id="2678063897982469759">ફરી ચાલુ કરો</translation>
 <translation id="268053382412112343">Hi&amp;story</translation>
+<translation id="2682498795777673382">તમારા માતાપિતા પાસે અપડેટ કરાવો</translation>
 <translation id="2683638487103917598">ફોલ્ડર સૉર્ટ કર્યુ</translation>
 <translation id="2684004000387153598">ચાલુ રાખવા માટે, ઓકે ક્લિક કરો, પછી તમારા ઇમેઇલ ઍડ્રેસ માટે નવી પ્રોફાઇલ બનાવવા માટે વ્યક્તિ ઉમેરો પર ક્લિક કરો.</translation>
 <translation id="2688196195245426394">સર્વર સાથે ઉપકરણની નોંધણી કરતી વખતે ભૂલ: <ph name="CLIENT_ERROR" />.</translation>
@@ -1106,6 +1116,7 @@
 <translation id="2731392572903530958">બંધ કરેલી વિંડો ફ&amp;રીથી ખોલો</translation>
 <translation id="2731700343119398978">કૃપા કરીને રાહ જુઓ...</translation>
 <translation id="2731710757838467317">તમારો નિરીક્ષિત વપરાશકર્તા બનાવી રહ્યું છે. આમાં થોડો સમય લાગી શકે છે.</translation>
+<translation id="2731971182069536520">આગલી વખતે તમે તમારું ડિવાઇસ ફરી શરૂ કરશો, ત્યારે તમારા વ્યવસ્થાપક એક-સમયનો અપડેટ કરશે, જેના કારણે તમારો બધો સ્થાનિક ડેટા ડિલીટ થઈ જશે.</translation>
 <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> હેઠળની સાઇટ પણ રીસેટ કરવામાં આવશે.</translation>
 <translation id="2735438478659026460">માઉસ કર્સર રોકાઈ જાય ત્યારે આપમેળે ક્લિક કરો</translation>
 <translation id="2735712963799620190">શેડ્યૂલ</translation>
@@ -1309,6 +1320,7 @@
 <translation id="304747341537320566">વાણી એન્જિનો</translation>
 <translation id="3047644958362961983">આ માહિતી અમને તમારી આસિસ્ટંટ સંબંધિત સમસ્યાને વધુ સારી રીતે સમજવામાં સહાય કરે છે. તેને વધુમાં વધુ 90 દિવસ સુધી સ્ટોર કરવામાં આવે છે અને તેનો ઍક્સેસ એન્જિનિયરિંગ અને પ્રતિસાદ ટીમ સુધી મર્યાદિત હોય છે.</translation>
 <translation id="3053013834507634016">પ્રમાણપત્ર કી ઉપયોગ</translation>
+<translation id="3053273573829329829">વપરાશકર્તા પિન ચાલુ કરો</translation>
 <translation id="3058498974290601450">તમે કોઈ પણ સમયે સેટિંગમાં 'સિંક કરો' ચાલુ કરી શકો છો</translation>
 <translation id="3060379269883947824">સાંભળવા માટે પસંદ કરોને ચાલુ કરો</translation>
 <translation id="3061707000357573562">પૅચ સેવા</translation>
@@ -1328,6 +1340,7 @@
 <translation id="3084771660770137092">Chromeની મેમરી પૂરી થઈ ગઈ છે અથવા કોઈ અન્ય કારણસર વેબપેજની પ્રક્રિયા બંધ થઈ ગઈ છે. ચાલુ રાખવા માટે, ફરીથી લોડ કરો અથવા બીજા પેજ પર જાઓ.</translation>
 <translation id="3085412380278336437">સાઇટ તમારા કૅમેરાનો ઉપયોગ કરી શકે છે</translation>
 <translation id="3085752524577180175">SOCKS હોસ્ટ</translation>
+<translation id="3088052000289932193">સાઇટ MIDIનો ઉપયોગ કરી રહી છે</translation>
 <translation id="3088325635286126843">&amp;નામ બદલો...</translation>
 <translation id="3089137131053189723">શોધ સાફ કરી</translation>
 <translation id="3090193911106258841">ઑડિયો અને વીડિયો ઇનપુટને ઍક્સેસ કરી રહ્યાં છીએ</translation>
@@ -1467,6 +1480,7 @@
 <translation id="3317459757438853210">બંને બાજુ</translation>
 <translation id="3317678681329786349">કૅમેરા અને માઇક્રોફોન અવરોધિત</translation>
 <translation id="3319048459796106952">નવી &amp;છુપી વિંડો</translation>
+<translation id="3323521181261657960">બોનસ! તમને હજી વધુ સ્ક્રીન સમય મળ્યો છે</translation>
 <translation id="3325910708063135066">Mac સિસ્ટમ પસંદગીઓમાં કૅમેરા અને માઇક્રોફોન બંધ છે</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">ઍપ્લિકેશન માહિતી</translation>
@@ -1762,6 +1776,7 @@
 <translation id="3765246971671567135">ઑફલાઇન ડેમો મોડ નીતિ વાંચી શકાઈ નથી.</translation>
 <translation id="3766223500670287046">રિમોટ સ્ક્રીન</translation>
 <translation id="3768037234834996183">તમારી પસંદગીઓને સમન્વયિત કરી રહ્યું છે...</translation>
+<translation id="377050016711188788">આઇસ્ક્રીમ</translation>
 <translation id="3771294271822695279">વીડિયો ફાઇલો</translation>
 <translation id="3775432569830822555">SSL સર્વર પ્રમાણપત્ર</translation>
 <translation id="3775705724665058594">તમારા ડિવાઇસ પર મોકલો</translation>
@@ -1840,6 +1855,7 @@
 <translation id="3869917919960562512">ખોટી અનુક્રમણિકા</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> માટે કોઈ પાસવર્ડ સાચવેેેેલ નથી</translation>
 <translation id="3871092408932389764">ન્યૂનતમ</translation>
+<translation id="3871350334636688135">24 કલાક પછી તમારા વ્યવસ્થાપક એક-સમયનો અપડેટ કરશે, જેના કારણે તમે તમારું ડિવાઇસ ફરી શરૂ કરશો, ત્યારે તમારો બધો સ્થાનિક ડેટા ડિલીટ થઈ જશે. તમને જરૂર હોય તે બધો સ્થાનિક ડેટા 24 કલાકની અંદર ક્લાઉડ સ્ટોરેજમાં સાચવી લો.</translation>
 <translation id="3872220884670338524">વધુ ક્રિયાઓ, <ph name="DOMAIN" /> પર <ph name="USERNAME" /> માટે સાચવેલ એકાઉન્ટ</translation>
 <translation id="3872991219937722530">ડિસ્ક સ્થાન ખાલી કરો અથવા ઉપકરણ પ્રતિભાવવિહીન બની જશે.</translation>
 <translation id="3873315167136380065">આ ચાલુ કરવા માટે, તમારો સિંક પાસફ્રેઝ કાઢી નાખવા માટે <ph name="BEGIN_LINK" />સિંકને રીસેટ કરો<ph name="END_LINK" /></translation>
@@ -1919,6 +1935,7 @@
 <translation id="3983400541576569538">કેટલીક ઍપમાંથી ડેટા ગુમાવશો</translation>
 <translation id="3983586614702900908">અજાણ્યા વિક્રેતા પાસેથી ઉપકરણો</translation>
 <translation id="3984159763196946143">ડેમો મોડ શરૂ કરી શકાયો નથી</translation>
+<translation id="3984431586879874039">આ સાઇટને તમારો સુરક્ષા કોડ જોવાની મંજૂરી આપીએ?</translation>
 <translation id="3987348946546879621">બચાવેલ ડેટા</translation>
 <translation id="3987938432087324095">માફ કરશો, તે સમજાયું ન હતું.</translation>
 <translation id="3988996860813292272">સમયઝોન પસંદ કરો</translation>
@@ -1995,13 +2012,13 @@
 <translation id="4099060993766194518">ડિફૉલ્ટ શોધ એંજિન પુનઃસ્થાપિત કરીએ?</translation>
 <translation id="4099874310852108874">નેટવર્ક ભૂલ આવી.</translation>
 <translation id="4100733287846229632">ઉપકરણ સ્થાન અત્યંત ઓછું છે</translation>
+<translation id="4100853287411968461">સ્ક્રીન સમયની નવી મર્યાદા</translation>
 <translation id="4103091233824664032">સ્ક્રીન લૉક ગોઠવવા અને સાઇન ઇન કરવા માટે, તમારો પાસવર્ડ દાખલ કરો</translation>
 <translation id="4104163789986725820">નિ&amp;કાસ કરો...</translation>
 <translation id="4107048419833779140">સ્ટોરેજ ઉપકરણોને ઓળખો અને તેને બહાર કાઢો</translation>
 <translation id="4109135793348361820"><ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) પર વિંડો ખસેડો</translation>
 <translation id="4110490973560452005">ડાઉનલોડ પૂર્ણ થયું: <ph name="FILE_NAME" />. ડાઉનલોડ બાર ક્ષેત્રમાં પહોંચવા માટે Shift+F6 દબાવો.</translation>
 <translation id="4110895898888439383">ઉચ્ચ કોન્ટ્રાસ્ટ મોડમાં વેબ બ્રાઉઝ કરો</translation>
-<translation id="4112221174576828331">જો છબીમાં ઉપયોગી વર્ણન ન હોય, તો Chrome, તમારા માટે વર્ણન પ્રદાન કરશે. છબીઓ Google દ્વારા સ્કૅન થયેલી છે.</translation>
 <translation id="4115002065223188701">નેટવર્ક પહોંચની બહાર છે</translation>
 <translation id="4115080753528843955">કેટલીક કન્ટેન્ટ સેવાઓ, સુરક્ષિત કન્ટેન્ટની ઍક્સેસને અધિકૃત કરવાના ઉદ્દેશ્યો માટે અનન્ય ઓળખકર્તાઓનો ઉપયોગ કરે છે</translation>
 <translation id="4118579674665737931">કૃપા કરીને ડિવાઇસને રીબૂટ કરો અને ફરી પ્રયાસ કરો.</translation>
@@ -2115,6 +2132,7 @@
 <translation id="4324577459193912240">ફાઇલ અધૂરી છે</translation>
 <translation id="4325237902968425115"><ph name="LINUX_APP_NAME" />ને અનઇન્સ્ટૉલ કરી રહ્યાં છીએ...</translation>
 <translation id="4328203388435897516">જ્યારે તમારી Chromebook સેટઅપ કરેલ હોય, ત્યારે કોઈપણ સમયે સહાય મેળવવા માટે આસિસ્ટંટ બટન દબાવો અથવા "ઓકે Google" બોલો. ફેરફારો કરવા માટે આસિસ્ટંટ સેટિંગ પર જાઓ.</translation>
+<translation id="4330191372652740264">બરફનું પાણી</translation>
 <translation id="4330387663455830245"><ph name="LANGUAGE" /> નો ક્યારેય અનુવાદ કરશો નહીં</translation>
 <translation id="4333854382783149454">RSA એન્ક્રિપ્શનવાળું PKCS #1 SHA-1</translation>
 <translation id="4336979451636460645">નેટવર્ક લૉગ્સ માટે, જુઓ: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2150,6 +2168,7 @@
 <translation id="438503109373656455">સારાતોગા</translation>
 <translation id="4387004326333427325">પ્રમાણીકરણ પ્રમાણપત્ર રિમોટલી નકારવામાં આવ્યું છે</translation>
 <translation id="4389091756366370506">વપરાશકર્તા <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{છૂપો મોડ}one{# છુપી વિન્ડો ખોલો}other{# છુપી વિન્ડો ખોલો}}</translation>
 <translation id="439266289085815679">નેટવર્ક ગોઠવણી, <ph name="USER_EMAIL" /> દ્વારા નિયંત્રિત છે.</translation>
 <translation id="4394049700291259645">બંધ કરો</translation>
 <translation id="4400367121200150367">ક્યારેય પાસવર્ડ ન સાચવતી સાઇટ અહીં દેખાશે</translation>
@@ -2298,6 +2317,7 @@
 <translation id="4648499713050786492">કોઇ વ્યક્તિને ઉમેરતા પહેલાં કૃપા કરીને તમારી પ્રોફાઇલ અનલૉક કરો.</translation>
 <translation id="4651484272688821107">ડેમો મોડ સંસાધનો ધરાવતું ઑનલાઇન ઘટક લોડ કરી શકાયું નહીં.</translation>
 <translation id="465878909996028221">બ્રાઉઝર રીડાયરેક્ટ માટે માત્ર http, https અને ફાઇલ પ્રોટોકૉલ સમર્થિત છે.</translation>
+<translation id="4659077111144409915">પ્રાથમિક એકાઉન્ટ</translation>
 <translation id="4660476621274971848">અપેક્ષિત વર્ઝન "<ph name="EXPECTED_VERSION" />" છે, પરંતુ વર્ઝન "<ph name="NEW_ID" />" હતું.</translation>
 <translation id="4662788913887017617">તમારા iPhone સાથે આ બુકમાર્ક શેર કરો</translation>
 <translation id="4663373278480897665">કૅમેરાને મંજૂરી</translation>
@@ -2343,6 +2363,7 @@
 <translation id="4724450788351008910">એફિલિએશન બદલાયું</translation>
 <translation id="4725511304875193254">કોર્ગી - કૂતરાની એક પ્રજાતિ</translation>
 <translation id="4726710629007580002">આ એક્સ્ટેંશન ઇન્સ્ટોલ કરવાનો પ્રયાસ કરતી વખતે ચેતવણીઓ હતી:</translation>
+<translation id="4727847987444062305">મેનેજ કરવામાં આવેલ અતિથિ સત્ર</translation>
 <translation id="4728558894243024398">પ્લેટફોર્મ</translation>
 <translation id="4733082559415072992"><ph name="URL" /> તમારા ઉપકરણના સ્થાનનો ઉપયોગ કરવા માગે છે</translation>
 <translation id="4733793249294335256">સ્થાન</translation>
@@ -2452,6 +2473,7 @@
 <translation id="488785315393301722">વિગતો બતાવો</translation>
 <translation id="4890773143211625964">વિગતવાર પ્રિન્ટર વિકલ્પો બતાવો</translation>
 <translation id="4891089016822695758">બીટા ચર્ચા મંચ</translation>
+<translation id="4892229439761351791">સાઇટ બ્લૂટૂથનો ઉપયોગ કરી શકે</translation>
 <translation id="4893336867552636863">આ તમારો બ્રાઉઝીંગ ડેટા આ ડિવાઇસમાંથી સ્થાયી રૂપે ડિલીટ કરશે.</translation>
 <translation id="4893522937062257019">લૉક સ્ક્રીન પર</translation>
 <translation id="4898011734382862273">પ્રમાણપત્ર "<ph name="CERTIFICATE_NAME" />", પ્રમાણન અધિકારીનું પ્રતિનિધિત્વ કરે છે</translation>
@@ -2627,6 +2649,8 @@
 <translation id="5187295959347858724">તમે હવે <ph name="SHORT_PRODUCT_NAME" /> પર સાઇન ઇન થયેલા છો. તમારા બુકમાર્ક, ઇતિહાસ, અને બીજા સેટિંગ તમારા Google એકાઉન્ટ સાથે સિંક થાય છે.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> એકથી વધુ ફાઇલો ડાઉનલોડ કરવા માગે છે</translation>
+<translation id="5192316339598592690">ઝડપથી એકાઉન્ટ સ્વિચ કરો અને ઍપ તથા વેબસાઇટમાં સાઇન ઇન કરો, બધું એકસાથે કરો.
+    ઍપ અને સાઇટ તમારા Google એકાઉન્ટની કેટલીક માહિતીનો ઉપયોગ કરવા માટે તમારી પરવાનગી માગી શકે છે. <ph name="LINK_BEGIN" />વધુ જાણો<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">કૃપા કરીને ડિવાઇસને પાવરવોશ કરો અને ફરી પ્રયાસ કરો.</translation>
 <translation id="5204967432542742771">પાસવર્ડ દાખલ કરો</translation>
 <translation id="5206215183583316675">"<ph name="CERTIFICATE_NAME" />"ને ડિલીટ કરી દઈએ?</translation>
@@ -3513,6 +3537,7 @@
 <translation id="6547354035488017500">ઓછામાં ઓછું 512 MB સ્થાન ખાલી કરો અથવા તમારું ડિવાઇસ કામ નહિ કરે. સ્થાન ખાલી કરવા માટે, ડ્રાઇવ સ્ટોરેજમાંથી ફાઇલો ડિલીટ કરો.</translation>
 <translation id="6550675742724504774">વિકલ્પો</translation>
 <translation id="6551508934388063976">આદેશ અનુપલબ્ધ. એક નવી વિંડોમાં ખોલવા માટે કંટ્રોલ-N દબાવો.</translation>
+<translation id="6551612971599078809">સાઇટ USBનો ઉપયોગ કરી રહી છે</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> વપરાશકર્તાઓ</translation>
 <translation id="655483977608336153">ફરી પ્રયાસ કરો</translation>
 <translation id="6555432686520421228">બધા વપરાશકર્તા એકાઉન્ટ દૂર કરો અને તમારા <ph name="IDS_SHORT_PRODUCT_NAME" /> ડિવાઇસને નવાની જેમ રીસેટ કરો.</translation>
@@ -3737,6 +3762,7 @@
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> ખોલી શકાયું નથી</translation>
 <translation id="6921709132208495314">આ પેજ પર ડેટાનો ઉપયોગ કરવાનું બંધ કરો</translation>
 <translation id="6922128026973287222">Google ડેટા સેવરનો ઉપયોગ કરીને ડેટા બચાવો અને ઝડપથી બ્રાઉઝ કરો. વધુ જાણવા માટે ક્લિક કરો.</translation>
+<translation id="6922745772873733498">પ્રિન્ટ કરવા માટે પિન દાખલ કરો</translation>
 <translation id="6923132443355966645">સ્ક્રૉલ કરો/ ક્લિક કરો</translation>
 <translation id="6923633482430812883">શેર માઉન્ટ કરવામાં ભૂલ. કૃપા કરીને ચેક કરો કે તમે કનેક્ટ કરવાનો પ્રયાસ કરી રહ્યા છો તે ફાઇલ સર્વર SMBv2 અથવા તે પછીના વર્ઝનનું સમર્થન કરે છે.</translation>
 <translation id="6930036377490597025">બાહ્ય સુરક્ષા કોડ અને બિલ્ટ-ઇન સેન્સર</translation>
@@ -3791,6 +3817,7 @@
 <translation id="7003339318920871147">વેબ ડેટાબેસેસ</translation>
 <translation id="7003723821785740825">તમારું ઉપકરણ અનલૉક કરવા માટે એક ઝડપી રીત સેટ કરો</translation>
 <translation id="7003844668372540529"><ph name="VENDOR_NAME" /> નું અજાણ્યું ઉત્પાદન <ph name="PRODUCT_ID" /></translation>
+<translation id="7004402701596653846">સાઇટ MIDIનો ઉપયોગ કરી શકે છે</translation>
 <translation id="7004499039102548441">તાજેતરના ટૅબ્સ</translation>
 <translation id="7005848115657603926">અમાન્ય પૃષ્ઠ શ્રેણી, <ph name="EXAMPLE_PAGE_RANGE" /> નો ઉપયોગ કરો</translation>
 <translation id="7006634003215061422">નીચેનો હાસિયો</translation>
@@ -3803,9 +3830,11 @@
 <translation id="7017480957358237747">અમુક વેબસાઇટ્સને મંજૂરી આપો અથવા પ્રતિબંધિત કરો,</translation>
 <translation id="7018275672629230621">તમારો બ્રાઉઝિંગ ઇતિહાસ વાંચો અને બદલો</translation>
 <translation id="7019805045859631636">ઝડપી</translation>
+<translation id="702252130983202758">તમારી ઍપ</translation>
 <translation id="7022562585984256452">તમારું હોમ પેજ સેટ કરવામાં આવ્યું છે.</translation>
 <translation id="7025190659207909717">મોબાઇલ ડેટા સેવા મેનેજમેન્ટ</translation>
 <translation id="7029809446516969842">પાસવર્ડ્સ</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - સિરીઅલ પોર્ટ કનેક્ટ કર્યું</translation>
 <translation id="7031962166228839643">TPM બનાવાઈ રહી છે, કૃપા કરીને રાહ જુઓ (આમાં થોડીવાર લાગી શકે છે)...</translation>
 <translation id="7037509989619051237">ટેક્સ્ટ ટૂ સ્પીચના પ્રીવ્યૂ માટે</translation>
 <translation id="7039326228527141150"><ph name="VENDOR_NAME" /> થી USB ઉપકરણો ઍક્સેસ કરો</translation>
@@ -3830,6 +3859,7 @@
 <translation id="706626672220389329">શેર માઉન્ટ કરવામાં ભૂલ આવી. ઉલ્લેખિત શેર પહેલેથી જ માઉન્ટ કરેલ છે.</translation>
 <translation id="7066944511817949584">"<ph name="DEVICE_NAME" />" થી કનેક્ટ કરવામાં નિષ્ફળ થયું.</translation>
 <translation id="7067725467529581407">આ ફરી ક્યારેય બતાવશો નહીં.</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> માટે વધુ નવો અથવા જુદા પ્રકારનો સુરક્ષા કોડ જરૂરી હોઈ શકે છે</translation>
 <translation id="7070484045139057854">આ સાઇટ ડેટા વાંચી અને તેમાં ફેરફાર કરી શકે છે</translation>
 <translation id="7072010813301522126">શોર્ટકટ નામ</translation>
 <translation id="707392107419594760">તમારા કીબોર્ડને પસંદ કરો:</translation>
@@ -3910,6 +3940,7 @@
 <translation id="7189234443051076392">ખાતરી કરો કે તમારા ઉપકરણ પર પૂરતી સ્પેસ છે</translation>
 <translation id="7189965711416741966">ફિંગરપ્રિન્ટ ઉમેરી.</translation>
 <translation id="7191159667348037">અજાણ્યું પ્રિન્ટર (USB)</translation>
+<translation id="7193051357671784796">આ ઍપ તમારી સંસ્થા દ્વારા ઉમેરવામાં આવી છે. ઍપને ઇન્સ્ટૉલ કરવાનું સમાપ્ત કરવા માટે તેને ફરી શરૂ કરો.</translation>
 <translation id="7193374945610105795"><ph name="ORIGIN" /> માટે કોઈ પાસવર્ડ સાચવેલા નથી</translation>
 <translation id="7196913789568937443">Google ડ્રાઇવમાં બૅકઅપ લો. કોઈપણ સમયે તમારો ડેટા સરળતાથી પાછો મેળવો અથવા ડિવાઇસ સ્વિચ કરો. તમારા બૅકઅપમાં ઍપનો ડેટા શામેલ હોય છે. તમારું બૅકઅપ Google પર અપલોડ કરવામાં આવે છે અને તમારા Google એકાઉન્ટ પાસવર્ડનો ઉપયોગ કરીને એન્ક્રિપ્ટ કરવામાં આવે છે. <ph name="BEGIN_LINK1" />વધુ જાણો<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">તમે બ્રાઉઝ કરો તે દર વખતે Google શોધ અને Google સ્માર્ટ મેળવો</translation>
@@ -4331,6 +4362,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />નોંધ:<ph name="END_BOLD" /> પ્રક્રિયા દરમ્યાન આ સિસ્ટમ રીબૂટ થશે.</translation>
 <translation id="7829298379596169484">ઑડિઓ ઇનપુટને ઍક્સેસ કરી રહ્યું છે</translation>
+<translation id="7830594666202422257">Linux સાથે કનેક્ટ કરો</translation>
 <translation id="7831491651892296503">નેટવર્કની ગોઠવણી કરતી વખતે ભૂલ આવી</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">સમાપ્તિ સમય</translation>
@@ -4360,6 +4392,7 @@
 <translation id="7877451762676714207">અજ્ઞાત સર્વર ભૂલ. કૃપા કરી ફરીથી પ્રયત્ન કરો અથવા સર્વર વ્યવસ્થાપકનો સંપર્ક કરો.</translation>
 <translation id="7877680364634660272">પ્રવાસ</translation>
 <translation id="7878562273885520351">તમારા પાસવર્ડ સાથે ચેડાં થઈ શકે છે</translation>
+<translation id="7880823633812189969">તમે ફરી શરૂ કરશો ત્યારે સ્થાનિક ડેટા ડિલીટ કરવામાં આવશે</translation>
 <translation id="7881483672146086348">એકાઉન્ટ જુઓ</translation>
 <translation id="7882358943899516840">પ્રદાતાનો પ્રકાર</translation>
 <translation id="7885253890047913815">તાજેતરનાં ગંતવ્યો</translation>
@@ -4450,6 +4483,7 @@
 <translation id="8008356846765065031">ઇન્ટરનેટ ડિસ્કનેક્ટ કર્યું. કૃપા કરીને તમારું ઇન્ટરનેટ કનેક્શન તપાસો.</translation>
 <translation id="8009225694047762179">બધા પાસવર્ડ મેનેજ કરો</translation>
 <translation id="8012382203418782830">આ પૃષ્ઠનો અનુવાદ કરવામાં આવ્યો છે.</translation>
+<translation id="8013993649590906847">જો છબીમાં ઉપયોગી વર્ણન ન હોય, તો Chrome તમને વર્ણન પૂરું પાડવાનો પ્રયાસ કરશે. વર્ણન બનાવવા માટે, Googleને છબીઓ મોકલવામાં આવે છે.</translation>
 <translation id="8014154204619229810">અપડેટ કરનાર હાલમાં ચાલી રહ્યું છે. ફરીથી તપાસવા માટે થોડીવારમાં રિફ્રેશ કરો.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" />, પૂર્વમાં ઇન્સ્ટૉલ કરેલ વર્ઝન પર પાછા ફરવામાં અસમર્થ છે. કૃપા કરીને તમારા ડિવાઇસને Powerwash કરવાનો ફરી પ્રયાસ કરો.</translation>
 <translation id="8014210335923519270">Googleને સિસ્ટમ માહિતી અને ઉપયોગ મોકલીને <ph name="IDS_SHORT_PRODUCT_NAME" />ને અને તેની સુરક્ષા બહેતર બનાવો</translation>
@@ -4693,6 +4727,7 @@
 <translation id="8426713856918551002">સક્ષમ કરી રહ્યાં છીએ</translation>
 <translation id="8427292751741042100">કોઈ પણ હોસ્ટ પર એમ્બેડ કરેલ</translation>
 <translation id="8428213095426709021">સેટિંગ્સ</translation>
+<translation id="8428628598981198790">આ સાઇટ સાથે તમારા સુરક્ષા કોડનો ઉપયોગ કરી શકાતો નથી</translation>
 <translation id="84297032718407999">તમે <ph name="LOGOUT_TIME_LEFT" />માં સાઇન આઉટ થઈ જશો</translation>
 <translation id="8431190899827883166">ટૅપ બતાવો</translation>
 <translation id="8431909052837336408">SIM નો PIN બદલો</translation>
@@ -4897,6 +4932,7 @@
 <translation id="8732212173949624846">તમારા બધા સાઇન-ઇન કરેલ ઉપકરણો પર તમારા બ્રાઉઝિંગ ઇતિહાસને વાંચો અને બદલો</translation>
 <translation id="8732844209475700754">પ્રાઇવસી, સુરક્ષા અને ડેટા સંગ્રહ સંબંધિત વધુ સેટિંગ</translation>
 <translation id="8734073480934656039">આ સેટિંગને સક્ષમ કરવું કિઓસ્ક એપ્લિકેશન્સને સ્ટાર્ટઅપ પર આપમેળે લોંચ કરવાની મંજૂરી આપે છે.</translation>
+<translation id="8734671092194994316">આનાથી તમારા સુરક્ષા કોડ પર <ph name="WEBSITE" />ની તમારી મુલાકાત નોંધાઈ જશે.</translation>
 <translation id="873545264931343897">જ્યારે <ph name="PLUGIN_NAME" /> અપડેટ કરવાનું સમાપ્ત કરી લે, ત્યારે તેને સક્રિય કરવા માટે પૃષ્ઠને ફરીથી લોડ કરો</translation>
 <translation id="8736288397686080465">પૃષ્ઠભૂમિમાં આ સાઇટ અપડેટ કરવામાં આવી છે.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> ને બદલે <ph name="PROTOCOL" /> લિંક્સ ખોલો</translation>
@@ -4995,6 +5031,7 @@
 <translation id="8877448029301136595">[માતાપિતાની ડિરેક્ટરી]</translation>
 <translation id="8879284080359814990">ટૅબ તરીકે &amp;બતાવો</translation>
 <translation id="8883847527783433352">બીજા એકાઉન્ટ સાથે સિંક કરો</translation>
+<translation id="8884570509232205463">તમારું ડિવાઇસ હવે <ph name="UNLOCK_TIME" /> વાગ્યે લૉક થઈ જશે.</translation>
 <translation id="8885197664446363138">Smart Lock અનુપલબ્ધ છે</translation>
 <translation id="8888253246822647887">જ્યારે અપગ્રેડ પૂર્ણ થશે ત્યારે તમારી ઍપ ખુલશે. અપગ્રેડમાં થોડી મિનિટ લાગી શકે છે.</translation>
 <translation id="8888432776533519951">રંગ:</translation>
@@ -5019,7 +5056,6 @@
 <translation id="891365694296252935">વપરાશ અને નિદાનનો ડેટા મોકલો. આ ડિવાઇસ હાલમાં Googleને નિદાન, ડિવાઇસ અને ઍપ વપરાશનો ડેટા ઑટોમૅટિક રીતે મોકલી રહ્યું છે. આનો ઉપયોગ તમારા બાળકને ઓળખવા માટે થશે નહીં અને સિસ્ટમ અને ઍપની સ્થિરતા અને અન્ય સુધારણાઓમાં સહાય કરશે. એકત્રીકરણ કરેલો કેટલોક ડેટા Google ઍપ અને ભાગીદારોને પણ મદદ કરશે, જેમ કે Android ડેવલપર. આ સેટિંગ માલિક દ્વારા લાગુ કરવામાં આવેલ છે. જો તમારા બાળક માટે વધારાની વેબ અને ઍપ પ્રવૃત્તિ ચાલુ હોય, તો આ ડેટા તેમના Google એકાઉન્ટમાં સાચવવામાં આવી શકે છે. <ph name="BEGIN_LINK1" />વધુ જાણો<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">સૂચનને લોડ કરી રહ્યું છે</translation>
 <translation id="8916476537757519021">છુપો મોડ સબફ્રેમ: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">હા, હું સંમત છું</translation>
 <translation id="8919275547519617350">તમારા બધા ઉપકરણો પર તમારા બધા પાસવર્ડ મેળવવા માટે સાઇન ઇન કરો અને સિંક ચાલુ કરો.</translation>
 <translation id="8921366488406707015">તમારો સુરક્ષા કોડ ચકાસી રહ્યાં છીએ...</translation>
 <translation id="8922013791253848639">આ સાઇટ પર જાહેરાતો માટે હંમેશાં પરવાનગી આપે છે</translation>
@@ -5088,6 +5124,7 @@
 <translation id="9026852570893462412">આ પ્રક્રિયામાં થોડો સમય લાગી શકે છે. વર્ચ્યુઅલ મશીન ડાઉનલોડ કરી રહ્યાં છીએ.</translation>
 <translation id="9027459031423301635">લિંક નવા &amp;ટૅબમાં ખોલો</translation>
 <translation id="9030515284705930323">તમારા એકાઉન્ટ માટે તમારી સંસ્થાએ Google Play સ્ટોર ચાલુ કરેલ નથી. વધુ માહિતી માટે તમારા એડમિનનો સંપર્ક કરો.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;પેસ્ટ કરો</translation>
 <translation id="9037965129289936994">મૂળ બતાવો</translation>
 <translation id="9038649477754266430">પૃષ્ઠોને વધુ ઝડપથી લોડ કરવા માટે પૂર્વાનુમાન સેવાનો ઉપયોગ કરો</translation>
@@ -5117,7 +5154,6 @@
 <translation id="9065203028668620118">ફેરફાર કરો</translation>
 <translation id="9066773882585798925">ટેક્સ્ટ મોટેથી વંચાતી સાંભળો</translation>
 <translation id="9066782832737749352">ટેક્સ્ટ-ટુ-સ્પીચ</translation>
-<translation id="907264006778172906">Linuxને USB ડિવાઇસ ઍક્સેસ કરવાની પરવાનગી આપો. USB ડિવાઇસ કાઢી નાખ્યા પછી Linux તેને યાદ રાખશે નહીં.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB માઉસ કનેક્ટ કર્યું</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb
index 622fb3a..2bed54d 100644
--- a/chrome/app/resources/generated_resources_hi.xtb
+++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">डिवाइस को लोड नहीं किया जा सका.</translation>
 <translation id="1008186147501209563">बुकमार्क निर्यात करें</translation>
 <translation id="1008557486741366299">अभी नहीं</translation>
+<translation id="1010498023906173788">यह टैब किसी सीरियल पोर्ट से कनेक्ट है.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{पेज प्रतिसाद नहीं दे रहा है}one{पेज प्रतिसाद नहीं दे रहे हैं}other{पेज प्रतिसाद नहीं दे रहे हैं}}</translation>
 <translation id="1012794136286421601">आपके दस्तावेज़, शीट, स्लाइड, और ड्रॉइंग फ़ाइलें सिंक की जा रही हैं. उन्हें ऑनलाइन या ऑफ़लाइन एक्सेस करने के लिए Google डिस्क ऐप्लिकेशन खोलें.</translation>
 <translation id="1012876632442809908">USB-C डिवाइस (सामने वाला पोर्ट)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">पूर्ण स्क्रीन से बाहर निकलने के लिए |<ph name="ACCELERATOR" />| दबाएं</translation>
 <translation id="1038168778161626396">केवल कूटलेखन</translation>
 <translation id="1039337018183941703">अमान्‍य या खराब फ़ाइल</translation>
+<translation id="1041175011127912238">इस पेज से जवाब नहीं मिल रहा है</translation>
 <translation id="1042174272890264476">आपके कंप्यूटर में पहले से ही <ph name="SHORT_PRODUCT_NAME" /> की RLZ लाइब्रेरी होती है. किसी खास प्रचार कैंपेन में इस्तेमाल हुई खोजों और <ph name="SHORT_PRODUCT_NAME" /> के इस्तेमाल को मापने के लिए, RLZ एक बिना-विशिष्ट, बिना निजी तौर वाला टैग तय करता है. कभी-कभी ये लेबल <ph name="PRODUCT_NAME" /> में 'Google सर्च' क्वेरी में दिखाई देते हैं.</translation>
 <translation id="1046059554679513793">ओह, यह नाम पहले से ही उपयोग किया जा रहा है!</translation>
 <translation id="1046635659603195359">ऐसा लगता है कि आपने पहले ही किसी दूसरे डिवाइस पर अपनी Google Assistant की मदद से Voice Match सेट अप कर लिया है. इस डिवाइस पर आवाज़ का नमूना बनाने के लिए इन पुरानी रिकॉर्डिंग का इस्तेमाल किया जा सकता है. इसमें एक मिनट से भी कम समय लगेगा.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">गुप्त विंडो के ज़रिए अपना ब्राउज़िंग इतिहास सेव किए बगैर वेब का उपयोग करें</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> फ़िंगरप्रिंट को सेट अप किया गया</translation>
 <translation id="1215411991991485844">नया पृष्ठभूमि ऐप्स  जोड़ा गया</translation>
+<translation id="1217483152325416304">आपका स्थानीय डेटा जल्द ही मिटा दिया जाएगा</translation>
 <translation id="1217668622537098248">कार्रवाई के बाद बायां क्लिक वापस लाएं</translation>
 <translation id="121783623783282548">पासवर्ड मेल नहीं खाते.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Google की जगह की जानकारी सेवा, इस डिवाइस की जगह का पता लगाने के लिए वाई-फ़ाई, मोबाइल नेटवर्क और सेंसर जैसे स्रोतों का इस्तेमाल करती है.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">विवरण: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">इंस्टॉलेशन चालू नहीं है</translation>
 <translation id="1483493594462132177">भेजें</translation>
+<translation id="1484979925941077974">साइट ब्लूटूथ का इस्तेमाल कर रही है</translation>
 <translation id="1485015260175968628">यह अब निम्न कर सकता है:</translation>
 <translation id="1485141095922496924">वर्शन <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">पासवर्ड खोजें</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(प्रयोग में नहीं)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (आईडी: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (स्थानीय)</translation>
+<translation id="1711401317189798723"><ph name="CONTAINER_ID" /> के लिए फ़िलहाल बैकअप लिया जा रहा है</translation>
 <translation id="1712349894969001173">यह पासवर्ड अपने iPhone पर पाएं</translation>
 <translation id="1712552549805331520"><ph name="URL" /> आपके स्थानीय कंप्यूटर पर हमेशा के लिए डेटा संग्रहित करना चाहता है</translation>
 <translation id="1718835860248848330">अंतिम घंटा</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">एक्सेस का तरीका बदलने का विकल्प</translation>
 <translation id="1932098463447129402">पहले नहीं</translation>
 <translation id="1933809209549026293">कृपया माउस या कीबोर्ड कनेक्ट करें. अगर आप ब्लूटूथ डिवाइस का उपयोग कर रहे हैं, तो सुनिश्चित करें कि वह युग्मित किए जाने के लिए तैयार है.</translation>
+<translation id="1937774647013465102">कंटेनर संरचना प्रकार <ph name="ARCHITECTURE_CONTAINER" /> को इस डिवाइस के साथ इंपोर्ट नहीं किया जा सकता जो कि <ph name="ARCHITECTURE_DEVICE" /> हैै. आप इस कंटेनर को किसी दूसरे डिवाइस में बहाल करके देख सकते हैं या फिर आप फ़ाइलें ऐप्लिकेशन खोलकर इस कंटेनर में मौजूद फ़ाइलें एक्सेस कर सकते हैं.</translation>
 <translation id="1938351510777341717">बाहरी निर्देश</translation>
 <translation id="1940546824932169984">कनेक्ट किए गए डिवाइस</translation>
 <translation id="1944921356641260203">अपडेट मिला</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">सक्रिय करें</translation>
 <translation id="2394566832561516196">अगली बार फिर से लोड करने पर सेटिंग साफ़ हो जाएंगी.</translation>
 <translation id="2395616325548404795">आपका <ph name="DEVICE_TYPE" /> डिवाइस एंटरप्राइज़ प्रबंधन के लिए सफलतापूर्वक नामांकित हो गया है, लेकिन वह अपनी एसेट और स्‍थान की जानकारी भेजने में विफल रहा है. कृपया इस डिवाइस के लिए अपने Admin console से यह जानकारी मैन्‍युअल रूप से डालें.</translation>
+<translation id="2396783860772170191">चार अंकों वाला पिन (0000-9999) डालें</translation>
 <translation id="2408955596600435184">अपना पिन डालें</translation>
 <translation id="241082044617551207">अज्ञात प्लग इन</translation>
 <translation id="2413749388954403953">'बुकमार्क यूज़र इंटरफ़ेस' बदलें</translation>
+<translation id="241639282915300771"><ph name="CONTAINER_ID" /> के लिए फ़िलहाल जारी इंपोर्ट को बहाल करती है</translation>
 <translation id="241727068219398187">आपका डेटा <ph name="TIME" /> से आपके Google पासवर्ड के साथ सुरक्षित किया गया था.
 इसमें Google Pay से भुगतान करने के तरीके और पते शामिल नहीं हैं.</translation>
 <translation id="2419706071571366386">सुरक्षा के लिए, आपका कंप्यूटर इस्तेमाल में नहीं होने पर साइन आउट कर दें.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">सिंक बंद किया गया है</translation>
 <translation id="2540449034743108469">एक्सटेंशन की गतिविधियां सुनने के लिए, "शुरू करें" दबाएं</translation>
 <translation id="2541002089857695151">फ़ुलस्क्रीन पर कास्ट करना ऑप्टिमाइज़ करें?</translation>
+<translation id="2541706104884128042">सोने का नया समय सेट किया गया</translation>
 <translation id="2544853746127077729">नेटवर्क द्वारा प्रमाणीकरण प्रमाणपत्र अस्वीकार किया गया</translation>
 <translation id="2549985041256363841">रिकॉर्ड करना शुरू करें</translation>
 <translation id="2550212893339833758">स्वैप की गई मेमोरी</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">छोड़ें</translation>
 <translation id="2678063897982469759">फिर से चालू करें</translation>
 <translation id="268053382412112343">इति&amp;हास</translation>
+<translation id="2682498795777673382">आपके अभिभावकों की तरफ़ से अपडेट</translation>
 <translation id="2683638487103917598">फ़ोल्डर क्रमबद्ध किया गया</translation>
 <translation id="2684004000387153598">जारी रखने के लिए, ठीक पर क्लिक करें, फिर व्‍यक्ति जोड़ें पर क्लिक करें, ताकि आप अपने ईमेल पते के लिए नई प्रोफ़ाइल बना सकें.</translation>
 <translation id="2688196195245426394">डिवाइस को सर्वर के साथ पंजीकृत करते समय गड़बड़ी: <ph name="CLIENT_ERROR" />.</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">बंद की गई विंडो पु&amp;न: खोलें</translation>
 <translation id="2731700343119398978">कृपया प्रतीक्षा करें...</translation>
 <translation id="2731710757838467317">आपका 'निगरानी में रखा गया उपयोगकर्ता' बनाया जा रहा है. इसमें कुछ समय लग सकता है.</translation>
+<translation id="2731971182069536520">जब आप अगली बार डिवाइस रीस्टार्ट करेंगे, तो आपका एडमिन एक बार किया जाने वाला अपडेट करेगा जिससे आपका स्थानीय डेटा मिट जाएगा.</translation>
 <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> की साइटों को भी रीसेट किया जाएगा.</translation>
 <translation id="2735438478659026460">माउस कर्सर के रुक जाने पर अपने आप क्लिक करें</translation>
 <translation id="2735712963799620190">शेड्यूल</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">बोली इंजन</translation>
 <translation id="3047644958362961983">यह जानकारी आपकी Assistant से जुड़ी समस्या को बेहतर तरीके से समझने में हमारी सहायता करती है. इसे 90 दिनों तक स्टोर किया जाता है और इसका एक्सेस उचित इंजीनियर और फ़ीडबैक टीमों तक सीमित होता है.</translation>
 <translation id="3053013834507634016">प्रमाणपत्र कुंजी उपयोग</translation>
+<translation id="3053273573829329829">इस्तेमाल करने वाले का पिन चालू करें</translation>
 <translation id="3058498974290601450">आप सेटिंग में किसी भी समय सिंक चालू कर सकते हैं</translation>
 <translation id="3060379269883947824">'चुनें और सुनें' सुविधा चालू करें</translation>
 <translation id="3061707000357573562">पैच सेवा</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">या तो Chrome की मेमोरी खत्म हो गई है या वेबपेज की प्रक्रिया किसी और वजह से खत्म कर दी गई है. जारी रखने के लिए, फिर लोड करें या किसी और पेज पर जाएं.</translation>
 <translation id="3085412380278336437">साइट आपके कैमरे का इस्तेमाल कर सकती है</translation>
 <translation id="3085752524577180175">SOCKS होस्ट</translation>
+<translation id="3088052000289932193">साइट 'मिडी' की इस्तेमाल कर रही है</translation>
 <translation id="3088325635286126843">&amp;नाम बदलें...</translation>
 <translation id="3089137131053189723">खोज हटाई गई</translation>
 <translation id="3090193911106258841">ऑडियो और वीडियो इनपुट ऐक्सेस हो रहा है</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">दोतरफा</translation>
 <translation id="3317678681329786349">कैमरा और माइक्रोफ़ोन ब्लॉक किए गए हैं</translation>
 <translation id="3319048459796106952">नई &amp;गुप्त विंडो</translation>
+<translation id="3323521181261657960">बोनस! आपको थोड़ा और स्क्रीन टाइम मिला</translation>
 <translation id="3325910708063135066">Mac सिस्टम प्राथमिकताओं में कैमरा और माइक्रोफ़ोन किए गए हैं</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">ऐप्स की जानकारी</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">ऑफ़लाइन डेमो मोड नीति पढ़ी नहीं जा सकी.</translation>
 <translation id="3766223500670287046">रिमोट स्क्रीन</translation>
 <translation id="3768037234834996183">आपकी प्राथमिकताएं समन्‍वयित की जा रही हैं...</translation>
+<translation id="377050016711188788">आइस्क्रीम</translation>
 <translation id="3771294271822695279">वीडियो फ़ाइलें</translation>
 <translation id="3775432569830822555">SSL सर्वर प्रमाणपत्र</translation>
 <translation id="3775705724665058594">अपने डिवाइस पर भेजें</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">गलत इंडेक्स.</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> के लिए सेव किया गया कोई पासवर्ड नहीं है</translation>
 <translation id="3871092408932389764">सबसे कम</translation>
+<translation id="3871350334636688135">24 घंटों के बाद, आपका एडमिन एक बार किया जाने वाला अपडेट करेगा. इससे, जब आप अपना डिवाइस रीस्टार्ट करेंगे तो आपका स्थानीय डेटा मिट जाएगा. आपको जिस भी स्थानीय डेटा की ज़रूरत हो, उसे 24 घंटों के अंदर क्लाउड स्टोरेज पर सेव कर लीजिए.</translation>
 <translation id="3872220884670338524">ज़्यादा कार्रवाइयां, <ph name="DOMAIN" /> पर <ph name="USERNAME" /> के लिए सेव किया गया खाता</translation>
 <translation id="3872991219937722530">डिस्क में स्पेस खाली करें अन्यथा डिवाइस प्रतिक्रिया नहीं देगा.</translation>
 <translation id="3873315167136380065">इसे चालू करने के लिए, <ph name="BEGIN_LINK" />सिंक रीसेट करें<ph name="END_LINK" /> ताकि आपका सिंक करने का लंबा पासवर्ड हटाया जा सके</translation>
@@ -1922,6 +1938,7 @@
 <translation id="3983400541576569538">शायद कुछ ऐप्लिकेशन का डेटा खो गया है</translation>
 <translation id="3983586614702900908">किसी अज्ञात विक्रेता के डिवाइस</translation>
 <translation id="3984159763196946143">डेमो मोड शुरू नहीं किया जा सका</translation>
+<translation id="3984431586879874039">इस साइट को अपनी सुरक्षा कुंजी देखने देना चाहते हैं?</translation>
 <translation id="3987348946546879621">बचाया गया डेटा</translation>
 <translation id="3987938432087324095">माफ़ करें, यह समझ में नहीं आया.</translation>
 <translation id="3988996860813292272">समय क्षेत्र चुनें</translation>
@@ -1998,13 +2015,13 @@
 <translation id="4099060993766194518">डिफ़ॉल्ट खोज इंजन को बहाल करना चाहते हैं?</translation>
 <translation id="4099874310852108874">नेटवर्क में गड़बड़ी हुई.</translation>
 <translation id="4100733287846229632">डिवाइस में बहुत ही कम स्थान बचा है</translation>
+<translation id="4100853287411968461">किसी डिवाइस के इस्तेमाल में बीते समय की नई सीमा</translation>
 <translation id="4103091233824664032">स्क्रीन लॉक कॉन्फ़िगर करने के लिए अपना पासवर्ड डालें और साइन इन करें</translation>
 <translation id="4104163789986725820">नि&amp;र्यात करें...</translation>
 <translation id="4107048419833779140">मेमोरी डिवाइसों की पहचान करें और उन्हें निकालें</translation>
 <translation id="4109135793348361820">विंडो को <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) पर ले जाएं</translation>
 <translation id="4110490973560452005">डाउनलोड पूरा हो गया: <ph name="FILE_NAME" />. डाउनलोड बार वाले हिस्से पर जाने के लिए Shift+F6 दबाएं.</translation>
 <translation id="4110895898888439383">उच्च कंट्रास्ट मोड में वेब ब्राउज़ करें</translation>
-<translation id="4112221174576828331">अगर किसी इमेज की मददगार जानकारी मौजूद नहीं है, तो Chrome आपको उसके बारे में जानकारी देगा. Google इमेज स्कैन करता है.</translation>
 <translation id="4115002065223188701">नेटवर्क नहीं मिल रहा है</translation>
 <translation id="4115080753528843955">कुछ सामग्री सेवाएं, सुरक्षित सामग्री के एक्सेस की अनुमति देने के उद्देश्य से खास पहचान करने वालों का इस्तेमाल करती है</translation>
 <translation id="4118579674665737931">कृपया डिवाइस को फिर से चालू करें और दोबारा कोशिश करें.</translation>
@@ -2118,6 +2135,7 @@
 <translation id="4324577459193912240">फ़ाइल अधूरी है</translation>
 <translation id="4325237902968425115"><ph name="LINUX_APP_NAME" /> अनइंस्टॉल हो रहा है...</translation>
 <translation id="4328203388435897516">जब आपका Chromebook सेट अप हो जाए, तो किसी भी समय मदद पाने के लिए Assistant बटन दबाएं या "Ok Google" कहें. बदलाव करने के लिए Assistant की सेटिंग पर जाएं.</translation>
+<translation id="4330191372652740264">आइस वॉटर</translation>
 <translation id="4330387663455830245"><ph name="LANGUAGE" /> का कभी अनुवाद ना करें</translation>
 <translation id="4333854382783149454">RSA सुरक्षित तरीका के साथ PKCS #1 SHA-1</translation>
 <translation id="4336979451636460645">नेटवर्क लॉग के लिए, देखें: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2153,6 +2171,7 @@
 <translation id="438503109373656455">साराटोगा</translation>
 <translation id="4387004326333427325">प्रमाणीकरण प्रमाणपत्र को दूरस्थ रूप से अस्वीकार किया गया</translation>
 <translation id="4389091756366370506">उपयोगकर्ता <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{गुप्त मोड}one{# गुप्त मोड विंडो खोलें}other{# गुप्त मोड विंडो खोलें}}</translation>
 <translation id="439266289085815679">ब्लूटूथ कॉन्फ़िगरेशन को <ph name="USER_EMAIL" /> से नियंत्रित किया जाता है.</translation>
 <translation id="4394049700291259645">बंद करें</translation>
 <translation id="4400367121200150367">वे साइटें जो कभी पासवर्ड नहीं सेव करती हैं, यहां दिखाई देंगी</translation>
@@ -2301,6 +2320,7 @@
 <translation id="4648499713050786492">कृपया किसी व्यक्ति को जोड़ने से पहले अपनी प्रोफ़ाइल अनलॉक करें.</translation>
 <translation id="4651484272688821107">डेमो मोड संसाधनों के साथ ऑनलाइन हिस्से लोड नहीं किए जा सके.</translation>
 <translation id="465878909996028221">ब्राउज़र रीडायरेक्ट के लिए सिर्फ़ एचटीटीपी, एचटीटीपीएस और फ़ाइल प्रोटोकॉल काम करते हैं.</translation>
+<translation id="4659077111144409915">प्राथमिक खाता</translation>
 <translation id="4660476621274971848">अपेक्षित वर्शन "<ph name="EXPECTED_VERSION" />" है, लेकिन वर्शन "<ph name="NEW_ID" />" था</translation>
 <translation id="4662788913887017617">इस बुकमार्क को अपने iPhone से शेयर करें</translation>
 <translation id="4663373278480897665">कैमरे की अनुमति है</translation>
@@ -2346,6 +2366,7 @@
 <translation id="4724450788351008910">संबंध परिवर्तित</translation>
 <translation id="4725511304875193254">कॉर्गी</translation>
 <translation id="4726710629007580002">इस एक्सटेंशन को इंस्टॉल करने का प्रयास करते समय चेतावनियां आई थीं:</translation>
+<translation id="4727847987444062305">मेहमान के तौर पर ब्राउज़ करने का प्रबंधित सेशन</translation>
 <translation id="4728558894243024398">प्लेटफ़ॉर्म</translation>
 <translation id="4733082559415072992"><ph name="URL" /> वेबसाइट आपके डिवाइस के स्थान की जानकारी का इस्तेमाल करना चाहती है</translation>
 <translation id="4733793249294335256">स्थान</translation>
@@ -2455,6 +2476,7 @@
 <translation id="488785315393301722">विवरण दिखाएं</translation>
 <translation id="4890773143211625964">बेहतर प्रिंटर विकल्प दिखाएं</translation>
 <translation id="4891089016822695758">बीटा फ़ोरम</translation>
+<translation id="4892229439761351791">साइट ब्लूटूथ का इस्तेमाल कर सकती है</translation>
 <translation id="4893336867552636863">इससे इस डिवाइस से आपका पूरा ब्राउज़िंग डेटा हमेशा के लिए मिट जाएगा.</translation>
 <translation id="4893522937062257019">लॉक स्क्रीन पर</translation>
 <translation id="4898011734382862273">प्रमाणपत्र "<ph name="CERTIFICATE_NAME" />" किसी प्रमाणन प्राधिकरण का प्रतिनिधित्व करता है</translation>
@@ -2630,6 +2652,8 @@
 <translation id="5187295959347858724">आप अब <ph name="SHORT_PRODUCT_NAME" /> में प्रवेश हो गए हैं. आपके बुकमार्क, इतिहास, और अन्‍य सेटिंग आपके Google खाते में समन्‍वयित की जा रही हैं.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> एक से ज़्यादा फ़ाइलें डाउनलोड करना चाहते हैं</translation>
+<translation id="5192316339598592690">तेज़ी से खाते बदलें और ऐप्लिकेशन और वेबसाइटों में एक ही बार में साइन इन करें.
+    ऐप्लिकेशन और साइटें आपके Google खाते की कुछ जानकारी इस्तेमाल करने की अनुमति मांग सकती हैं. <ph name="LINK_BEGIN" />ज़्यादा जानें<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">कृपया डिवाइस को पावरवॉश करें और फिर से कोशिश करें.</translation>
 <translation id="5204967432542742771">पासवर्ड डालें</translation>
 <translation id="5206215183583316675">"<ph name="CERTIFICATE_NAME" />" मिटाएं?</translation>
@@ -3514,6 +3538,7 @@
 <translation id="6547354035488017500">डिवाइस की मेमोरी से कम से कम 512 एमबी जगह खाली करें. ऐसा न करने पर आपका डिवाइस काम नहीं करेगा. जगह खाली करने के लिए, डिवाइस की मेमोरी से फ़ाइलें मिटाएं.</translation>
 <translation id="6550675742724504774">विकल्प</translation>
 <translation id="6551508934388063976">निर्देश मौजूद नहीं है. नई विंडों खोलने के लिए control-N दबाएं.</translation>
+<translation id="6551612971599078809">साइट यूएसबी का इस्तेमाल कर रही है</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> उपयोगकर्ता</translation>
 <translation id="655483977608336153">दोबारा कोशिश करें</translation>
 <translation id="6555432686520421228">सभी उपयोगकर्ता खातों को हटाएं और अपने <ph name="IDS_SHORT_PRODUCT_NAME" /> डिवाइस को बिल्कुल नया जैसा बनाने के लिए रीसेट करें.</translation>
@@ -3738,6 +3763,7 @@
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> नहीं खुल सका</translation>
 <translation id="6921709132208495314">इस पेज पर डेटा का इस्तेमाल बंद करें</translation>
 <translation id="6922128026973287222">'Google डेटा बचाने की सेटिंग' का उपयोग करके डेटा बचाएं और तेज़ी से ब्राउज़ करें. और ज़्यादा जानने के लिए क्‍लिक करें.</translation>
+<translation id="6922745772873733498">प्रिंट करने के लिए पिन डालें</translation>
 <translation id="6923132443355966645">स्क्रोल करें / क्लिक करें</translation>
 <translation id="6923633482430812883">शेयर माउंट करने में गड़बड़ी. कृपया जाँचें कि आप जिस फ़ाइल सर्वर से कनेक्ट कर रहे हैं वह SMBv2 या उसके बाद के वर्शन पर काम करता है.</translation>
 <translation id="6930036377490597025">बाहरी सुरक्षा चाबी या पहले से मौजूद सेंसर</translation>
@@ -3792,6 +3818,7 @@
 <translation id="7003339318920871147">वेब डेटाबेस</translation>
 <translation id="7003723821785740825">अपना डिवाइस अनलॉक करने के लिए कोई तेज़ तरीका सेट अप करें</translation>
 <translation id="7003844668372540529"><ph name="VENDOR_NAME" /> की ओर से अज्ञात <ph name="PRODUCT_ID" /> उत्पाद</translation>
+<translation id="7004402701596653846">साइट 'मिडी' का इस्तेमाल कर सकती है</translation>
 <translation id="7004499039102548441">हाल के टैब</translation>
 <translation id="7005848115657603926">अमान्य पेज श्रेणी, <ph name="EXAMPLE_PAGE_RANGE" /> का उपयोग करें</translation>
 <translation id="7006634003215061422">निचला हाशिया</translation>
@@ -3804,9 +3831,11 @@
 <translation id="7017480957358237747">कुछ वेबसाइटों को अनुमति दें या प्रतिबंधित करें,</translation>
 <translation id="7018275672629230621">अपना ब्राउज़र इतिहास पढ़ें और बदलें</translation>
 <translation id="7019805045859631636">तेज़</translation>
+<translation id="702252130983202758">आपके ऐप्लिकेशन</translation>
 <translation id="7022562585984256452">आपका होम पेज सेट कर दिया गया है.</translation>
 <translation id="7025190659207909717">मोबाइल डेटा सेवा प्रबंधन</translation>
 <translation id="7029809446516969842">पासवर्ड</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - सीरियल पोर्ट कनेक्ट है</translation>
 <translation id="7031962166228839643">TPM तैयार हो रहा है, कृपया प्रतीक्षा करें (इसमें कुछ मिनट लग सकते हैं)...</translation>
 <translation id="7037509989619051237">वह लेख जिसकी झलक देखी जानी है</translation>
 <translation id="7039326228527141150"><ph name="VENDOR_NAME" /> के USB डिवाइस ऐक्‍सेस करें</translation>
@@ -3831,6 +3860,7 @@
 <translation id="706626672220389329">शेयर माउंट करने में गड़बड़ी. बताया गया शेयर पहले से माउंट किया हुआ है.</translation>
 <translation id="7066944511817949584">"<ph name="DEVICE_NAME" />" से कनेक्‍ट करने में विफल.</translation>
 <translation id="7067725467529581407">इसे फिर से कभी ना दिखाएं.</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> को नई या अलग तरह की सुरक्षा कुंजी की ज़रूरत हो सकती है</translation>
 <translation id="7070484045139057854">यह साइट डेटा पढ़ सकता है और बदल सकता है</translation>
 <translation id="7072010813301522126">शॉर्टकट का नाम</translation>
 <translation id="707392107419594760">अपने कीबोर्ड को चुनें:</translation>
@@ -3911,6 +3941,7 @@
 <translation id="7189234443051076392">पक्का करें कि आपके डिवाइस पर ज़रूरी जगह मौजूद हो</translation>
 <translation id="7189965711416741966">फ़िंगरप्रिंट जोड़ा गया.</translation>
 <translation id="7191159667348037">अज्ञात प्रिंटर (USB)</translation>
+<translation id="7193051357671784796">यह ऐप्लिकेशन आपके संगठन में जोड़ा गया था. ऐप्लिकेशन का इंस्टॉलेशन पूरा करने के लिए इसे रीस्टार्ट करें.</translation>
 <translation id="7193374945610105795"><ph name="ORIGIN" /> के लिए कोई पासवर्ड सेव नहीं किया गया है</translation>
 <translation id="7196913789568937443">'Google डिस्क' में बैक अप लें. किसी भी समय अपना डेटा आसानी से बहाल करें या डिवाइस बदलें. आपके बैकअप में ऐप्लिकेशन डेटा शामिल होता है. आपके बैकअप आपके Google खाते के पासवर्ड से सुरक्षित करके Google पर अपलोड किए जाते हैं. <ph name="BEGIN_LINK1" />ज़्यादा जानें<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">हर बार जब भी ब्राउज़ करें, 'Google सर्च' और Google स्मार्ट पाएं</translation>
@@ -4332,6 +4363,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />नोट:<ph name="END_BOLD" />  इस प्रक्रिया के दौरान सिस्टम फिर चालू होगा.</translation>
 <translation id="7829298379596169484">ऑडियो इनपुट ऐक्सेस हो रहा है</translation>
+<translation id="7830594666202422257">Linux से कनेक्ट करें</translation>
 <translation id="7831491651892296503">नेटवर्क कॉन्फ़िगर करने में गड़बड़ी</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">खत्म होने का समय</translation>
@@ -4361,6 +4393,7 @@
 <translation id="7877451762676714207">अज्ञात सर्वर गड़बड़ी. कृपया फिर से प्रयास करें, या सर्वर व्यवस्थापक से संपर्क करें.</translation>
 <translation id="7877680364634660272">यात्रा</translation>
 <translation id="7878562273885520351">आपके पासवर्ड से छेड़छाड़ की जा सकती है</translation>
+<translation id="7880823633812189969">जब आप रीस्टार्ट करेंगे, तो स्थानीय डेटा मिटा दिया जाएगा</translation>
 <translation id="7881483672146086348">खाता देखें</translation>
 <translation id="7882358943899516840">प्रदाता का प्रकार</translation>
 <translation id="7885253890047913815">हाल ही के गंतव्य</translation>
@@ -4456,6 +4489,7 @@
 <translation id="8008356846765065031">इंटरनेट डिसकनेक्ट हो गया है. कृपया अपना इंटरनेट कनेक्‍शन जाँचें.</translation>
 <translation id="8009225694047762179">पासवर्ड संभालें</translation>
 <translation id="8012382203418782830">इस पेज का अनुवाद किया गया है.</translation>
+<translation id="8013993649590906847">अगर किसी इमेज के बारे में मददगार जानकारी मौजूद नहीं है, तो Chrome उसके बारे में जानकारी देने की कोशिश करेगा. जानकारी तैयार करने के लिए, इमेज Google को भेजी जाती हैं.</translation>
 <translation id="8014154204619229810">अपडेटर वर्तमान में चल रहा है. फिर से देखने के लिए एक मिनट में रीफ्रेश करें.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> पूर्व में इंस्‍टॉल किए गए संस्‍करण को वापस लाने में समर्थ नहीं है. कृपया फिर से अपने डिवाइस को पावरवॉश करके देखें.</translation>
 <translation id="8014210335923519270">Google को सिस्टम जानकारी और इस्तेमाल का डेटा भेजकर <ph name="IDS_SHORT_PRODUCT_NAME" /> और उसकी सुरक्षा को बेहतर बनाएं</translation>
@@ -4699,6 +4733,7 @@
 <translation id="8426713856918551002">सक्षम किया जा रहा है</translation>
 <translation id="8427292751741042100">किसी भी होस्ट पर एम्बेड किया गया</translation>
 <translation id="8428213095426709021">सेटिंग</translation>
+<translation id="8428628598981198790">इस साइट में आपकी सुरक्षा कुंजी का इस्तेमाल नहीं किया जा सकता</translation>
 <translation id="84297032718407999">आपको <ph name="LOGOUT_TIME_LEFT" /> में साइन आउट कर दिया जाएगा</translation>
 <translation id="8431190899827883166">टैप दिखाएं</translation>
 <translation id="8431909052837336408">SIM पिन बदलें</translation>
@@ -4903,6 +4938,7 @@
 <translation id="8732212173949624846">अपने प्रवेश किए हुए सभी डिवाइस पर अपना ब्राउज़िंग इतिहास पढ़ें और बदलें</translation>
 <translation id="8732844209475700754">निजता, सुरक्षा, और डेटा इकट्ठा करने से जुड़ी ज़्यादा सेटिंग</translation>
 <translation id="8734073480934656039">इस सेटिंग को सक्षम करने से किओस्क ऐप्लिकेशन स्टार्टअप पर अपने आप लॉन्च हो जाते हैं.</translation>
+<translation id="8734671092194994316">इससे <ph name="WEBSITE" /> पर आपकी विज़िट का रिकॉर्ड आपकी सुरक्षा कुंजी पर रह जाएगा.</translation>
 <translation id="873545264931343897">जब <ph name="PLUGIN_NAME" /> अपडेट करना पूरा कर ले, तो उसे चालू करने के लिए पेज को फिर से लोड करें</translation>
 <translation id="8736288397686080465">इस साइट को पृष्‍ठभूमि में अपडेट किया गया है.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> के बजाय <ph name="PROTOCOL" /> लिंक खोलें</translation>
@@ -5001,6 +5037,7 @@
 <translation id="8877448029301136595">[मूल निर्देशिका]</translation>
 <translation id="8879284080359814990">टैब के रूप में &amp;दिखाएं</translation>
 <translation id="8883847527783433352">'किसी दूसरे खाते से सिंक करें'</translation>
+<translation id="8884570509232205463">आपका डिवाइस अब <ph name="UNLOCK_TIME" /> बजे अनलॉक होगा.</translation>
 <translation id="8885197664446363138">Smart Lock अनुपलब्‍ध है</translation>
 <translation id="8888253246822647887">अपग्रेड पूरा होने पर आपका ऐप्लिकेशन खुल जाएगा. अपग्रेड में कुछ समय लग सकता है.</translation>
 <translation id="8888432776533519951">रंग:</translation>
@@ -5025,7 +5062,6 @@
 <translation id="891365694296252935">इस्तेमाल और निदान से जुड़ा डेटा भेजें. यह डिवाइस फ़िलहाल Google को निदान, डिवाइस, और ऐप्लिकेशन के इस्तेमाल से जुड़ा डेटा अपने आप भेज रहा है. इसका इस्तेमाल आपके बच्चे की पहचान करने के लिए नहीं किया जाएगा. यह सिस्टम और ऐप्लिकेशन की स्थिरता और दूसरे सुधारों में मदद करेगा. कुछ एग्रीगेट डेटा Google ऐप्लिकेशन और पार्टनर, जैसे कि Android डेवलपरों की भी मदद करेगा. यह सेटिंग डिवाइस के मालिक ने लागू की है. अगर आपके बच्चे के लिए दूसरी 'वेब और ऐप्लिकेशन गतिविधि' चालू है, तो यह डेटा उसके Google खाते में सेव किया जा सकता है. <ph name="BEGIN_LINK1" />ज़्यादा जानें<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">सुझाव लोड हो रहे हैं</translation>
 <translation id="8916476537757519021">गुप्त सबफ़्रेम: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">हां, मैं सहमत हूं</translation>
 <translation id="8919275547519617350">अपने सभी डिवाइस पर अपने सारे पासवर्ड पाने के लिए, साइन इन करें और सिंक चालू करें.</translation>
 <translation id="8921366488406707015">आपकी 'सुरक्षा चाबी' की पुष्टि की जा रही है...</translation>
 <translation id="8922013791253848639">इस साइट पर विज्ञापनों की हमेशा अनुमति दें</translation>
@@ -5094,6 +5130,7 @@
 <translation id="9026852570893462412">इस प्रोसेस में कुछ मिनट लग सकते हैं. वर्चुअल मशीन को डाउनलोड किया जा रहा है.</translation>
 <translation id="9027459031423301635">नए &amp;टैब में लिंक खोलें</translation>
 <translation id="9030515284705930323">आपके संगठन ने आपके खाते के लिए Google Play स्टोर को सक्षम नहीं किया है. ज़्यादा जानकारी के लिए अपने व्यवस्थापक से संपर्क करें.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;चिपकाएं</translation>
 <translation id="9037965129289936994">मूल दिखाएं</translation>
 <translation id="9038649477754266430">ज़्यादा तेज़ी से पेज लोड करने के लिए किसी पूर्वानुमान सेवा का उपयोग करें</translation>
@@ -5123,7 +5160,6 @@
 <translation id="9065203028668620118">बदलाव करें</translation>
 <translation id="9066773882585798925">ज़ोर से पढ़ा गया लेख सुनें</translation>
 <translation id="9066782832737749352">लिखाई को बोली में बदलना</translation>
-<translation id="907264006778172906">यूएसबी डिवाइस एक्सेस करने के लिए, Linux को अनुमति दें. शेयर किए गए किसी डिवाइस को हटाने के बाद Linux उसकी जानकारी याद नहीं रखता है.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">ब्लूटूथ</translation>
 <translation id="9074836595010225693">USB माउस कनेक्ट किया गया</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index 426ae16..cbe2da3 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Uređaji se nisu mogli učitati.</translation>
 <translation id="1008186147501209563">Izvezi oznake</translation>
 <translation id="1008557486741366299">Ne sada</translation>
+<translation id="1010498023906173788">Ta je kartica povezana sa serijskim priključkom.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Stranica ne reagira}one{Stranice ne reagiraju}few{Stranice ne reagiraju}other{Stranice ne reagiraju}}</translation>
 <translation id="1012794136286421601">Vaše se datoteke na Dokumentima, Tablicama, Prezentacijama i Crtežima sinkroniziraju. Otvorite aplikaciju Google disk da biste im pristupali na mreži ili izvanmrežno.</translation>
 <translation id="1012876632442809908">USB-C uređaj (prednji priključak)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Pritisnite |<ph name="ACCELERATOR" />| da biste zatvorili prikaz na cijelom zaslonu</translation>
 <translation id="1038168778161626396">Samo za šifriranje</translation>
 <translation id="1039337018183941703">Neispravna ili oštećena datoteka</translation>
+<translation id="1041175011127912238">Stranica ne reagira</translation>
 <translation id="1042174272890264476">Vaše računalo ima ugrađenu RLZ biblioteku preglednika <ph name="SHORT_PRODUCT_NAME" />. RLZ dodjeljuje nejedinstvenu oznaku koja ne može poslužiti za osobnu identifikaciju za mjerenje pretraživanja i upotrebu proizvoda <ph name="SHORT_PRODUCT_NAME" /> potaknutu određenom promotivnom kampanjom. Te se oznake ponekad prikazuju u upitima Google pretraživanja u pregledniku <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Ups, to je ime već u upotrebi!</translation>
 <translation id="1046635659603195359">Izgleda da ste već postavili Voice Match za Google asistent na nekom drugom uređaju. Prethodne se snimke mogu upotrijebiti za izradu glasovnog modela na ovom uređaju. To bi trebalo trajati manje od minute.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Pomoću anonimnog prozora surfajte na webu bez spremanja povijesti pregledavanja</translation>
 <translation id="1213037489357051291">Postavljeno otisaka: <ph name="NUM_FINGERPRINTS" /></translation>
 <translation id="1215411991991485844">Dodana je nova pozadinska aplikacija</translation>
+<translation id="1217483152325416304">Vaši lokalni podaci uskoro će se izbrisati</translation>
 <translation id="1217668622537098248">Vrati na lijevi klik nakon radnje</translation>
 <translation id="121783623783282548">Zaporke se ne podudaraju.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Googleova usluga lokacije upotrebljava izvore kao što su Wi‑Fi, mobilne mreže i senzori za procjenu lokacije ovog uređaja.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Pojedinosti: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalacija nije omogućena</translation>
 <translation id="1483493594462132177">Pošalji</translation>
+<translation id="1484979925941077974">Web-lokacija upotrebljava Bluetooth</translation>
 <translation id="1485015260175968628">Proširenje ili aplikacija sada može:</translation>
 <translation id="1485141095922496924">Verzija <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Pretraživanje zaporki</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Neaktivno)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (nativno)</translation>
+<translation id="1711401317189798723">U tijeku je sigurnosno kopiranje spremnika <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">Koristite ovu zaporku na iPhoneu</translation>
 <translation id="1712552549805331520"><ph name="URL" /> želi trajno pohraniti podatke na vaše lokalno računalo</translation>
 <translation id="1718835860248848330">Zadnji sat</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Opcije prekidača za pristup</translation>
 <translation id="1932098463447129402">Ne prije</translation>
 <translation id="1933809209549026293">Priključite miš ili tipkovnicu. Ako upotrebljavate Bluetooth uređaj, provjerite je li spreman za uparivanje.</translation>
+<translation id="1937774647013465102">Nije moguće uvesti vrstu arhitekture spremnika <ph name="ARCHITECTURE_CONTAINER" /> na ovom uređaju jer je njegova arhitektura <ph name="ARCHITECTURE_DEVICE" />. Pokušajte vratiti spremnik na nekom drugom uređaju ili pristupite datotekama u spremniku pomoću aplikacije Datoteke.</translation>
 <translation id="1938351510777341717">Vanjska naredba</translation>
 <translation id="1940546824932169984">Povezani uređaji</translation>
 <translation id="1944921356641260203">Pronađeno je ažuriranje</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Aktiviraj</translation>
 <translation id="2394566832561516196">Postavke će biti poništene prilikom sljedećeg ponovnog učitavanja.</translation>
 <translation id="2395616325548404795">Vaš <ph name="DEVICE_TYPE" /> uređaj uspješno je registriran za poslovno upravljanje, ali nije poslao podatke o uređaju i lokaciji. Unesite te podatke ručno putem Admin consolea za taj uređaj.</translation>
+<translation id="2396783860772170191">Unesite 4-zanmenkasti PIN (0000 – 9999)</translation>
 <translation id="2408955596600435184">Unesite PIN</translation>
 <translation id="241082044617551207">Nepoznati dodatak</translation>
 <translation id="2413749388954403953">promijeniti korisničko sučelje oznaka</translation>
+<translation id="241639282915300771">U tijeku je vraćanje spremnika <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Podaci su kriptirani vašom Google zaporkom od
           <ph name="TIME" />. To ne uključuje načine plaćanja i adrese s Google Paya.</translation>
 <translation id="2419706071571366386">Iz sigurnosnih razloga odjavite se kad ne upotrebljavate računalo.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">Onemogućena je sinkronizacija</translation>
 <translation id="2540449034743108469">Pritisnite "Početak" da biste osluškivali aktivnosti proširenja</translation>
 <translation id="2541002089857695151">Želite li optimizirati emitiranje na cijelom zaslonu?</translation>
+<translation id="2541706104884128042">Postavljeno novo vrijeme spavanja</translation>
 <translation id="2544853746127077729">Mreža je odbila certifikat za autentifikaciju</translation>
 <translation id="2549985041256363841">Početak snimanja</translation>
 <translation id="2550212893339833758">Zamijenjena memorija</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">Napusti</translation>
 <translation id="2678063897982469759">Ponovo omogući</translation>
 <translation id="268053382412112343">Hi&amp;story (Povijest)</translation>
+<translation id="2682498795777673382">Ažuriranje tvog roditelja</translation>
 <translation id="2683638487103917598">Mapa je sortirana</translation>
 <translation id="2684004000387153598">Za nastavak kliknite U radu, a zatim kliknite Dodaj osobu da biste izradili novi profil za svoju e-adresu.</translation>
 <translation id="2688196195245426394">Pogreška pri registraciji uređaja na poslužitelju: <ph name="CLIENT_ERROR" />.</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">P&amp;onovo otvori zatvoreni prozor</translation>
 <translation id="2731700343119398978">Pričekajte...</translation>
 <translation id="2731710757838467317">Izrađuje se zaštićeni korisnik. To može potrajati nekoliko trenutaka.</translation>
+<translation id="2731971182069536520">Prilikom sljedećeg ponovnog pokretanja uređaja vaš će administrator izvršiti jednokratno ažuriranje kojim će se izbrisati vaši lokalni podaci.</translation>
 <translation id="2734760316755174687">Poništit će se i web-lokacije u grupi <ph name="SITE_GROUP_NAME" />.</translation>
 <translation id="2735438478659026460">Automatski klikni kada se pokazivač miša zaustavi</translation>
 <translation id="2735712963799620190">Raspored</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">Alati za pretvaranje teksta u govor</translation>
 <translation id="3047644958362961983">Ti nam podaci pomažu da bolje shvatimo vašu poteškoću s Asistentom. Pohranjuju se do 90 dana i pristup je ograničen na odgovarajuće timove za inženjerstvo i povratne informacije.</translation>
 <translation id="3053013834507634016">Korištenje ključa certifikata</translation>
+<translation id="3053273573829329829">Omogući korisnički PIN</translation>
 <translation id="3058498974290601450">Sinkronizaciju možete uključiti u bilo kojem trenutku u postavkama</translation>
 <translation id="3060379269883947824">Omogući Odabir za govor</translation>
 <translation id="3061707000357573562">Usluga zakrpe</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">Pregledniku Chrome ponestalo je memorije ili je proces za web-stranicu prekinut iz nekog drugog razloga. Da biste nastavili, ponovo učitajte stranicu ili idite na neku drugu stranicu.</translation>
 <translation id="3085412380278336437">Web-lokacija može upotrebljavati vašu kameru</translation>
 <translation id="3085752524577180175">SOCKS host</translation>
+<translation id="3088052000289932193">Web-lokacija upotrebljava MIDI</translation>
 <translation id="3088325635286126843">&amp;Preimenuj...</translation>
 <translation id="3089137131053189723">Pretraživanje izbrisano</translation>
 <translation id="3090193911106258841">Pristupanje audio i videoulazu</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">Obostrano</translation>
 <translation id="3317678681329786349">Blokirani su kamera i mikrofon</translation>
 <translation id="3319048459796106952">&amp;Novi anonimni prozor</translation>
+<translation id="3323521181261657960">Bonus! Vrijeme upotrebe ti je produženo</translation>
 <translation id="3325910708063135066">Kamera i mikrofon isključeni su u Postavkama sustava na Macu</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informacije o aplikaciji</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">Nije bilo moguće pročitati pravila izvanmrežnog demo načina.</translation>
 <translation id="3766223500670287046">Udaljeni zaslon</translation>
 <translation id="3768037234834996183">Sinkroniziranje postavki...</translation>
+<translation id="377050016711188788">Sladoled</translation>
 <translation id="3771294271822695279">Datoteke videozapisa</translation>
 <translation id="3775432569830822555">Certifikat SSL poslužitelja</translation>
 <translation id="3775705724665058594">Pošaljite na svoje uređaje</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">Pogrešni indeks.</translation>
 <translation id="3870931306085184145">Nema spremljenih zaporki za <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Najniži</translation>
+<translation id="3871350334636688135">Nakon 24 sata vaš će administrator izvršiti jednokratno ažuriranje kojim će se izbrisati vaši lokalni podaci kada ponovo pokrenete uređaj. Spremite potrebne lokalne podatke u pohranu u oblaku u roku od 24 sata.</translation>
 <translation id="3872220884670338524">Više radnji, spremljeni račun za korisnika <ph name="USERNAME" /> na domeni <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Oslobodite prostor na disku ili će uređaj prestati reagirati.</translation>
 <translation id="3873315167136380065">Da biste uključili tu postavku, <ph name="BEGIN_LINK" />poništite sinkronizaciju<ph name="END_LINK" /> radi uklanjanja vaše šifre za sinkronizaciju</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">Podaci iz nekih aplikacija možda su izgubljeni</translation>
 <translation id="3983586614702900908">uređaji nepoznatog dobavljača</translation>
 <translation id="3984159763196946143">Pokretanje demo-načina nije uspjelo</translation>
+<translation id="3984431586879874039">Želite li dopustiti web-lokaciji prikaz vašeg sigurnosnog ključa?</translation>
 <translation id="3987348946546879621">Spremljeni podaci</translation>
 <translation id="3987938432087324095">Žao mi je, ne razumijem.</translation>
 <translation id="3988996860813292272">Odaberite vremensku zonu</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">Želite li vratiti zadanu tražilicu?</translation>
 <translation id="4099874310852108874">Pojavila se mrežna pogreška.</translation>
 <translation id="4100733287846229632">Količina prostora na uređaju kritično je mala</translation>
+<translation id="4100853287411968461">Novo ograničenje vremena upotrebe</translation>
 <translation id="4103091233824664032">Unesite zaporku da biste konfigurirali zaključavanje zaslona i prijavljivanje</translation>
 <translation id="4104163789986725820">I&amp;zvoz...</translation>
 <translation id="4107048419833779140">Prepoznaj i izbaci uređaje za pohranu</translation>
 <translation id="4109135793348361820">Premjesti prozor korisniku <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Preuzimanje je dovršeno: <ph name="FILE_NAME" />. Pritisnite Shift + F6 da biste došli do područja trake preuzimanja.</translation>
 <translation id="4110895898888439383">Pregledavajte web u načinu rada s visokim kontrastom</translation>
-<translation id="4112221174576828331">Ako slika nema koristan opis, Chrome će ga pružiti. Google skenira slike.</translation>
 <translation id="4115002065223188701">Mreža je izvan dometa</translation>
 <translation id="4115080753528843955">Neke usluge sadržaja upotrebljavaju jedinstvene identifikatore radi autorizacije pristupa zaštićenom sadržaju</translation>
 <translation id="4118579674665737931">Ponovo pokrenite uređaj i pokušajte opet.</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">Nepotpuna datoteka</translation>
 <translation id="4325237902968425115">Deinstaliranje aplikacije <ph name="LINUX_APP_NAME" />...</translation>
 <translation id="4328203388435897516">Kada postavljanje Chromebooka završi, pritisnite gumb Asistenta ili recite "Ok Google" da biste dobili pomoć. Promjene možete izvršiti u postavkama Asistenta.</translation>
+<translation id="4330191372652740264">Ledena voda</translation>
 <translation id="4330387663455830245">Nikad ne prevodi <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS br. 1 SHA-1 s RSA enkripcijom</translation>
 <translation id="4336979451636460645">Za mrežne zapisnike pogledajte: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">Vihor</translation>
 <translation id="4387004326333427325">Certifikat za autentifikaciju odbijen je daljinski</translation>
 <translation id="4389091756366370506">Korisnik <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Anonimno}one{# otvoreni anonimni prozor}few{# otvorena anonimna prozora}other{# otvorenih anonimnih prozora}}</translation>
 <translation id="439266289085815679">Konfiguracijom Bluetootha upravlja <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Onemogući</translation>
 <translation id="4400367121200150367">Ovdje će se pojaviti web-lokacije koje nikad ne spremaju zaporke</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">Otključajte profil da biste mogli dodati osobu.</translation>
 <translation id="4651484272688821107">Nije uspjelo učitavanje online komponente s resursima demo načina.</translation>
 <translation id="465878909996028221">Za preusmjeravanja preglednika podržani su samo protokoli http i https te datotečni protokoli.</translation>
+<translation id="4659077111144409915">Primarni račun</translation>
 <translation id="4660476621274971848">Očekivana je verzija "<ph name="EXPECTED_VERSION" />", no verzija je bila "<ph name="NEW_ID" />"</translation>
 <translation id="4662788913887017617">Dijelite ovu oznaku sa svojim iPhoneom</translation>
 <translation id="4663373278480897665">Kamera je dopuštena</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">Promijenjena afilijacija</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4726710629007580002">Pri pokušaju instaliranja proširenja pojavila su se neka upozorenja:</translation>
+<translation id="4727847987444062305">Upravljana gostujuća sesija</translation>
 <translation id="4728558894243024398">Platforma</translation>
 <translation id="4733082559415072992"><ph name="URL" /> želi upotrijebiti lokaciju vašeg uređaja</translation>
 <translation id="4733793249294335256">Lokacija</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">Pokaži pojedinosti</translation>
 <translation id="4890773143211625964">Prikaži napredne opcije pisača</translation>
 <translation id="4891089016822695758">Forum za beta verziju</translation>
+<translation id="4892229439761351791">Web-lokacija može upotrebljavati Bluetooth</translation>
 <translation id="4893336867552636863">Time će se trajno izbrisati podaci o pregledavanju s ovog uređaja.</translation>
 <translation id="4893522937062257019">Na zaključanom zaslonu</translation>
 <translation id="4898011734382862273">Certifikat "<ph name="CERTIFICATE_NAME" />" predstavlja tijelo za izdavanje certifikata</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">Sada ste prijavljeni na uslugu <ph name="SHORT_PRODUCT_NAME" />. Vaše oznake, povijest i druge postavke sinkroniziraju se s vašim Google računom.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> želi preuzeti više datoteka</translation>
+<translation id="5192316339598592690">Brzo se prebacujte između računa i prijavljujte u aplikacije i na web-lokacije u jednom koraku.
+    Aplikacije i web-lokacije mogu vas tražiti dopuštenje za upotrebu nekih podataka s vašeg Google računa. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Izvršite powerwash uređaja i pokušajte ponovo.</translation>
 <translation id="5204967432542742771">Unesite zaporku</translation>
 <translation id="5206215183583316675">Želite li izbrisati "<ph name="CERTIFICATE_NAME" />"?</translation>
@@ -3515,6 +3539,7 @@
 <translation id="6547354035488017500">Oslobodite najmanje 512 MB prostora ili će uređaj prestati reagirati. Da biste oslobodili prostor, izbrišite datoteke iz pohrane uređaja.</translation>
 <translation id="6550675742724504774">Opcije</translation>
 <translation id="6551508934388063976">Naredba nije dostupna. Pritisnite tipke Ctrl – N za otvaranje novog prozora.</translation>
+<translation id="6551612971599078809">Web-lokacija upotrebljava USB</translation>
 <translation id="655384502888039633">Broj korisnika: <ph name="USER_COUNT" /></translation>
 <translation id="655483977608336153">Pokušaj ponovo</translation>
 <translation id="6555432686520421228">Uklonite sve korisničke račune i ponovo postavite svoj uređaj <ph name="IDS_SHORT_PRODUCT_NAME" /> kao da je novi.</translation>
@@ -3739,6 +3764,7 @@
 <translation id="692114467174262153">Otvaranje preglednika <ph name="ALTERNATIVE_BROWSER_NAME" /> nije uspjelo</translation>
 <translation id="6921709132208495314">Zaustavite učitavanje podataka na ovu stranicu</translation>
 <translation id="6922128026973287222">Štedite podatke i pregledavajte brže uz Google uštedu podataka. Kliknite za više informacija.</translation>
+<translation id="6922745772873733498">Unesite PIN za ispis</translation>
 <translation id="6923132443355966645">Pomicanje/klik</translation>
 <translation id="6923633482430812883">Pogreška pri učitavanju dijeljenja. Provjerite podržava li poslužitelj datoteka s kojim se povezujete SMBv2 ili noviju verziju.</translation>
 <translation id="6930036377490597025">Vanjski sigurnosni ključ ili ugrađeni senzor</translation>
@@ -3793,6 +3819,7 @@
 <translation id="7003339318920871147">Web-baze podataka</translation>
 <translation id="7003723821785740825">Postavite brži način otključavanja uređaja</translation>
 <translation id="7003844668372540529">Nepoznati proizvod <ph name="PRODUCT_ID" />, <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Web-lokacija može upotrebljavati MIDI</translation>
 <translation id="7004499039102548441">Nedavne kartice</translation>
 <translation id="7005848115657603926">Nevažeći raspon stranica, upotrijebite <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Donja margina</translation>
@@ -3805,9 +3832,11 @@
 <translation id="7017480957358237747">dopustiti ili zabraniti određene web-lokacije</translation>
 <translation id="7018275672629230621">pročitati i promijeniti povijest pregledavanja</translation>
 <translation id="7019805045859631636">Brzo</translation>
+<translation id="702252130983202758">Vaše aplikacije</translation>
 <translation id="7022562585984256452">Vaša je početna stranica postavljena.</translation>
 <translation id="7025190659207909717">Upravljanje podatkovnom uslugom za mobilne uređaje</translation>
 <translation id="7029809446516969842">Zaporke</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> – povezano sa serijskim priključkom</translation>
 <translation id="7031962166228839643">TPM se priprema, pričekajte (može potrajati nekoliko minuta)...</translation>
 <translation id="7037509989619051237">Tekst za pregled</translation>
 <translation id="7039326228527141150">pristupiti USB uređajima dobavljača <ph name="VENDOR_NAME" /></translation>
@@ -3832,6 +3861,7 @@
 <translation id="706626672220389329">Pogreška pri učitavanju dijeljenja. Navedeno dijeljenje već je učitano.</translation>
 <translation id="7066944511817949584">Povezivanje s uređajem "<ph name="DEVICE_NAME" />" nije uspjelo.</translation>
 <translation id="7067725467529581407">Ne prikazuj mi to više.</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> može zahtijevati noviju ili neku drugu vrstu sigurnosnog ključa</translation>
 <translation id="7070484045139057854">Može čitati i mijenjati podatke web-lokacije</translation>
 <translation id="7072010813301522126">Naziv prečaca</translation>
 <translation id="707392107419594760">Odaberite svoju tipkovnicu:</translation>
@@ -3912,6 +3942,7 @@
 <translation id="7189234443051076392">Provjerite ima li dovoljno prostora na uređaju</translation>
 <translation id="7189965711416741966">Otisak prsta je dodan.</translation>
 <translation id="7191159667348037">Nepoznati pisač (USB)</translation>
+<translation id="7193051357671784796">Tu je aplikaciju dodala vaša organizacija. Ponovo pokrenite aplikaciju da biste dovršili instalaciju.</translation>
 <translation id="7193374945610105795">Nema spremljenih zaporki za <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Izradite sigurnosnu kopiju na Google disku. Lako vratite svoje podatke ili promijenite uređaj u bilo kojem trenutku. Sigurnosna kopija uključuje podatke aplikacija. Sigurnosna kopija prenosi se na Google i kriptira pomoću zaporke vašeg Google računa. <ph name="BEGIN_LINK1" />Saznajte više<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Koristite se Google pretraživanjem i pametnim Googleovim značajkama pri svakom pregledavanju</translation>
@@ -4334,6 +4365,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Napomena:<ph name="END_BOLD" /> sustav će se ponovo pokrenuti tijekom postupka.</translation>
 <translation id="7829298379596169484">Pristupanje audioulazu</translation>
+<translation id="7830594666202422257">Poveži s Linuxom</translation>
 <translation id="7831491651892296503">Pogreška prilikom konfiguriranja mreže</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Vrijeme završetka</translation>
@@ -4363,6 +4395,7 @@
 <translation id="7877451762676714207">Nepoznata pogreška poslužitelja. Pokušajte ponovo ili se obratite administratoru poslužitelja.</translation>
 <translation id="7877680364634660272">Obilazak</translation>
 <translation id="7878562273885520351">Vaša je zaporka možda ugrožena</translation>
+<translation id="7880823633812189969">Lokalni podaci izbrisat će se prilikom ponovnog pokretanja</translation>
 <translation id="7881483672146086348">Prikaz računa</translation>
 <translation id="7882358943899516840">Vrsta davatelja usluge</translation>
 <translation id="7885253890047913815">Nedavna odredišta</translation>
@@ -4458,6 +4491,7 @@
 <translation id="8008356846765065031">Prekinuta je veza s internetom. Provjerite internetsku vezu.</translation>
 <translation id="8009225694047762179">Upravljanje zaporkama</translation>
 <translation id="8012382203418782830">Ta je stranica prevedena.</translation>
+<translation id="8013993649590906847">Ako slika nema koristan opis, Chrome će ga pokušati pružiti. Da bi se izradili opisi, slike se šalju Googleu.</translation>
 <translation id="8014154204619229810">U tijeku je izvođenje alata za ažuriranje. Osvježite za minutu i provjerite ponovo.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> ne može vratiti prethodno instaliranu verziju. Pokušajte ponovo pokrenuti Powerwash na svom uređaju.</translation>
 <translation id="8014210335923519270">Poboljšajte <ph name="IDS_SHORT_PRODUCT_NAME" /> i njegovu sigurnost slanjem podataka o sustavu i upotrebi Googleu</translation>
@@ -4702,6 +4736,7 @@
 <translation id="8426713856918551002">Omogućivanje</translation>
 <translation id="8427292751741042100">ugrađeno na bilo kojem hostu</translation>
 <translation id="8428213095426709021">Postavke</translation>
+<translation id="8428628598981198790">Vaš sigurnosni ključ ne može se upotrebljavati s tom web-lokacijom</translation>
 <translation id="84297032718407999">Odjavit ćete se za <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Prikaži dodire</translation>
 <translation id="8431909052837336408">Promjena PIN-a za SIM</translation>
@@ -4906,6 +4941,7 @@
 <translation id="8732212173949624846">pročitati i promijeniti vašu povijest pregledavanja na svim uređajima na kojima ste prijavljeni</translation>
 <translation id="8732844209475700754">Više postavki koje se odnose na privatnost, sigurnost i prikupljanje podataka</translation>
 <translation id="8734073480934656039">Omogućivanjem ove postavke aplikacije kioska mogu se automatski pokrenuti prilikom pokretanja zaslona.</translation>
+<translation id="8734671092194994316">Na sigurnosnom ključu evidentirat će se vaš posjet web-lokaciji <ph name="WEBSITE" />.</translation>
 <translation id="873545264931343897">Kada dodatak <ph name="PLUGIN_NAME" /> završi s ažuriranjem, ponovo učitajte stranicu da biste ga aktivirali</translation>
 <translation id="8736288397686080465">Web-lokacija se ažurirala u pozadini.</translation>
 <translation id="8737685506611670901">otvoriti veze za protokol <ph name="PROTOCOL" /> umjesto <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5004,6 +5040,7 @@
 <translation id="8877448029301136595">[matični direktorij]</translation>
 <translation id="8879284080359814990">&amp;Prikaži kao karticu</translation>
 <translation id="8883847527783433352">Sinkroniziraj s drugim računom</translation>
+<translation id="8884570509232205463">Uređaj se odsad zaključava u <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Smart Lock nije dostupan</translation>
 <translation id="8888253246822647887">Aplikacija će se otvoriti kad nadogradnja završi. Nadogradnje mogu trajati nekoliko minuta.</translation>
 <translation id="8888432776533519951">Boja:</translation>
@@ -5028,7 +5065,6 @@
 <translation id="891365694296252935">Slanje podataka o upotrebi i dijagnostici. Ovaj uređaj trenutačno Googleu automatski šalje dijagnostičke podatke te podatke o upotrebi uređaja i aplikacija. Ti se podaci neće upotrebljavati za identifikaciju vašeg djeteta, a pomoći će poboljšati sustav, stabilnost aplikacija i drugo. Neki skupni podaci pomoći će i Googleovim aplikacijama i partnerima, na primjer razvojnim programerima za Android. Ovu postavku zadao je vlasnik. Ako je za vaše dijete uključena dodatna postavka Aktivnost na webu i u aplikacijama, ti se podaci mogu spremati na djetetov Google račun. <ph name="BEGIN_LINK1" />Saznajte više<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Učitavanje prijedloga</translation>
 <translation id="8916476537757519021">Anonimni podokvir: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Da, pristajem</translation>
 <translation id="8919275547519617350">Da biste imali sve svoje zaporke na svim svojim uređajima, prijavite se i uključite sinkronizaciju.</translation>
 <translation id="8921366488406707015">Potvrđivanje sigurnosnog ključa...</translation>
 <translation id="8922013791253848639">Uvijek dopusti oglase na ovoj web-lokaciji</translation>
@@ -5097,6 +5133,7 @@
 <translation id="9026852570893462412">Taj postupak može potrajati nekoliko minuta. Preuzima se virtualno računalo.</translation>
 <translation id="9027459031423301635">Otvori vezu u novoj &amp;kartici</translation>
 <translation id="9030515284705930323">Vaša organizacija nije omogućila Trgovinu Google Play za vaš račun. Više informacija zatražite od administratora.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Zalijepi</translation>
 <translation id="9037965129289936994">Prikaži izvornik</translation>
 <translation id="9038649477754266430">Upotreba usluge predviđanja za brže učitavanje stranica</translation>
@@ -5126,7 +5163,6 @@
 <translation id="9065203028668620118">Uredi</translation>
 <translation id="9066773882585798925">Slušanje teksta izgovorenog naglas</translation>
 <translation id="9066782832737749352">Pretvaranje teksta u govor</translation>
-<translation id="907264006778172906">Dajte Linuxu dopuštenje za pristup USB uređajima. Linux neće zapamtiti USB uređaj nakon njegovog uklanjanja.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB miš povezan</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index c71fa6f..21f7aee0 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Nem sikerült betölteni az eszközöket.</translation>
 <translation id="1008186147501209563">Könyvjelzők exportálása</translation>
 <translation id="1008557486741366299">Ne most</translation>
+<translation id="1010498023906173788">Ez a lap soros porthoz van csatlakoztatva.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Az oldal nem válaszol}other{Több oldal nem válaszol}}</translation>
 <translation id="1012794136286421601">A Dokumentumok, Táblázatok, Diák és Rajzok fájljainak szinkronizálása következik. A fájlok online vagy offline eléréséhez nyissa meg a Google Drive alkalmazást.</translation>
 <translation id="1012876632442809908">C típusú USB-vel kompatibilis eszköz (elülső port)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">A teljes képernyős nézetből való kilépéshez nyomja meg a következő billentyűt: |<ph name="ACCELERATOR" />|</translation>
 <translation id="1038168778161626396">Csak titkosítás</translation>
 <translation id="1039337018183941703">Érvénytelen vagy sérült fájl</translation>
+<translation id="1041175011127912238">Az oldal nem válaszol</translation>
 <translation id="1042174272890264476">Számítógépe a <ph name="SHORT_PRODUCT_NAME" /> RLZ-könyvtárát is tartalmazza beépítve. Az RLZ egy nem egyedi, személy szerinti azonosításra nem alkalmas címkét rendel hozzá a keresések és a <ph name="SHORT_PRODUCT_NAME" /> használatának egy adott promóciós kampány keretein belüli felméréséhez. Ezek a címkék időnként a <ph name="PRODUCT_NAME" /> Google-keresési lekérdezéseiben is feltűnnek.</translation>
 <translation id="1046059554679513793">Hoppá, ez a név már foglalt!</translation>
 <translation id="1046635659603195359">Úgy tűnik, hogy Google Segédjéhez már beállította a Voice Match funkciót valamelyik másik eszközön. Korábbi felvételeiből ezen az eszközön is létrehozhat hangmintát. Ez legfeljebb egy percet vesz igénybe.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Internetezzen a böngészési előzmények mentése nélkül inkognitóablakban</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> ujjlenyomat van beállítva</translation>
 <translation id="1215411991991485844">Új háttéralkalmazás hozzáadva</translation>
+<translation id="1217483152325416304">Helyi adatai hamarosan törlődnek</translation>
 <translation id="1217668622537098248">Visszaállítás bal kattintásra a művelet elvégzése után</translation>
 <translation id="121783623783282548">A jelszavak nem egyeznek.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />A Google helyszolgáltatása olyan információforrásokat használ az eszköz helyének meghatározására, mint a Wi-Fi- és mobilhálózatok, valamint az érzékelők.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Részletek: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">A telepítés nincs engedélyezve</translation>
 <translation id="1483493594462132177">Küldés</translation>
+<translation id="1484979925941077974">A webhely Bluetooth-t használ</translation>
 <translation id="1485015260175968628">Most már megteheti a következőket:</translation>
 <translation id="1485141095922496924">Verzió: <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Jelszavak keresése</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Inaktív)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (azonosító: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> képpont (natív)</translation>
+<translation id="1711401317189798723">Folyamatban van egy biztonsági mentési művelet – <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">Legyen meg ez a jelszó iPhone eszközén</translation>
 <translation id="1712552549805331520">A(z) <ph name="URL" /> webhely állandó jelleggel adatokat szeretne tárolni a helyi számítógépen</translation>
 <translation id="1718835860248848330">Az elmúlt órából</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Kapcsolóalapú hozzáférés beállításai</translation>
 <translation id="1932098463447129402">Ez előtt nem:</translation>
 <translation id="1933809209549026293">Csatlakoztasson egy egeret vagy billentyűzetet. Ha Bluetooth-eszközt használ, győződjön meg róla, hogy az készen áll a párosításra.</translation>
+<translation id="1937774647013465102">Nem lehet importálni a tároló <ph name="ARCHITECTURE_CONTAINER" /> architektúratípusát, ugyanis az eszköz architektúrájának típusa <ph name="ARCHITECTURE_DEVICE" />. Megpróbálhatja helyreállítani ezt a tárolót egy másik eszközön, vagy a Fájlok alkalmazás megnyitásával hozzáférhet a tároló lemezképében lévő fájlokhoz.</translation>
 <translation id="1938351510777341717">Külső parancs</translation>
 <translation id="1940546824932169984">Társított eszközök</translation>
 <translation id="1944921356641260203">A rendszer frissítést talált</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Aktiválás</translation>
 <translation id="2394566832561516196">A beállításokat az oldal következő újratöltésekor törli a rendszer.</translation>
 <translation id="2395616325548404795">A(z) <ph name="DEVICE_TYPE" /> eszköz vállalati kezelés céljából történő rögzítése sikerült, de a tartalmi és helyadatainak elküldése nem. Kérjük, az eszköz ezen adatait írja be manuálisan a Felügyeleti konzolból.</translation>
+<translation id="2396783860772170191">Adjon meg egy négyjegyű PIN-kódot (0000–9999)</translation>
 <translation id="2408955596600435184">PIN-kód megadása</translation>
 <translation id="241082044617551207">Ismeretlen beépülő modul</translation>
 <translation id="2413749388954403953">A Könyvjelzők kezelőfelület módosítása</translation>
+<translation id="241639282915300771">Folyamatban van egy helyreállítási művelet – <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Az adatok titkosítva lettek Google-jelszavával ekkor:
           <ph name="TIME" />. Ez nem tartalmazza a Google Payben megadott fizetési módokat és címeket.</translation>
 <translation id="2419706071571366386">A biztonság érdekében jelentkezzen ki, amikor nem használja a számítógépet.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">Szinkronizálás letiltva</translation>
 <translation id="2540449034743108469">Nyomja meg az „Indítás” lehetőséget, ha szeretné meghallgatni a bővítmény tevékenységeit</translation>
 <translation id="2541002089857695151">Optimalizálja a teljes képernyős átküldést?</translation>
+<translation id="2541706104884128042">Új alvásidő lett beállítva</translation>
 <translation id="2544853746127077729">A hálózat elutasította a hitelesítési tanúsítványt</translation>
 <translation id="2549985041256363841">Felvétel megkezdése</translation>
 <translation id="2550212893339833758">Swap memória</translation>
@@ -1078,6 +1087,7 @@
 <translation id="2677748264148917807">Lap elhagyása</translation>
 <translation id="2678063897982469759">Újraengedélyezés</translation>
 <translation id="268053382412112343">Elő&amp;zmények</translation>
+<translation id="2682498795777673382">Frissítés a szülőtől</translation>
 <translation id="2683638487103917598">A mappa rendezése kész</translation>
 <translation id="2684004000387153598">A folytatáshoz kattintson az OK gombra, majd a Személy hozzáadása lehetőségre. Ekkor létrehozhatja az e-mail-címéhez tartozó új profilt.</translation>
 <translation id="2688196195245426394">Hiba az eszköz szerveren való regisztrálásakor: <ph name="CLIENT_ERROR" />.</translation>
@@ -1111,6 +1121,7 @@
 <translation id="2731392572903530958">Bezárt ablak újram&amp;egnyitása</translation>
 <translation id="2731700343119398978">Kérjük, várjon...</translation>
 <translation id="2731710757838467317">Felügyelt felhasználó létrehozása. Ez eltarthat egy ideig.</translation>
+<translation id="2731971182069536520">Az eszköz következő újraindításakor a rendszergazda egyszeri frissítést fog végezni, amely törli a helyi adatokat.</translation>
 <translation id="2734760316755174687">A(z) <ph name="SITE_GROUP_NAME" /> csoportba tartozó webhelyek visszaállítása is megtörténik.</translation>
 <translation id="2735438478659026460">Automatikus kattintás, ha az egérmutató megáll</translation>
 <translation id="2735712963799620190">Ütemezés</translation>
@@ -1314,6 +1325,7 @@
 <translation id="304747341537320566">Beszédmotorok</translation>
 <translation id="3047644958362961983">Ezek az információk segítenek nekünk a Segéddel kapcsolatos probléma jobb megértésében. 90 napig tároljuk őket, mely során kizárólag a megfelelő mérnöki és ügyfélszolgálati csapatok férhetnek hozzájuk.</translation>
 <translation id="3053013834507634016">Tanúsítványkulcs felhasználása</translation>
+<translation id="3053273573829329829">Felhasználói PIN-kód engedélyezése</translation>
 <translation id="3058498974290601450">A szinkronizálás bármikor bekapcsolható a beállításokban</translation>
 <translation id="3060379269883947824">Felolvasás engedélyezése</translation>
 <translation id="3061707000357573562">Javítókészlet szolgáltatás</translation>
@@ -1333,6 +1345,7 @@
 <translation id="3084771660770137092">Vagy a Chrome fogyott ki a memóriából, vagy a weboldal folyamata szűnt meg valamilyen más ok miatt. A folytatáshoz töltse be újra, vagy keressen fel egy másik oldalt.</translation>
 <translation id="3085412380278336437">A webhely használhatja a kameráját</translation>
 <translation id="3085752524577180175">SOCKS-szerver</translation>
+<translation id="3088052000289932193">A webhely MIDI-eszközt használ</translation>
 <translation id="3088325635286126843">Át&amp;nevezés...</translation>
 <translation id="3089137131053189723">Keresés törölve</translation>
 <translation id="3090193911106258841">Hozzáférés a hang- és videobementhez</translation>
@@ -1472,6 +1485,7 @@
 <translation id="3317459757438853210">Kétoldalas</translation>
 <translation id="3317678681329786349">Kamera és mikrofon letiltva</translation>
 <translation id="3319048459796106952">Új &amp;inkognitóablak</translation>
+<translation id="3323521181261657960">Jutalom! Több ideig használhatod az eszközt</translation>
 <translation id="3325910708063135066">A kamera és a mikrofon ki van kapcsolva a Mac Rendszerbeállításokban</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Alkalmazásadatok</translation>
@@ -1767,6 +1781,7 @@
 <translation id="3765246971671567135">Nem sikerült a demó mód offline házirendjének olvasása.</translation>
 <translation id="3766223500670287046">Távoli képernyő</translation>
 <translation id="3768037234834996183">Beállítások szinkronizálása…</translation>
+<translation id="377050016711188788">Jégkrém</translation>
 <translation id="3771294271822695279">Videofájlok</translation>
 <translation id="3775432569830822555">SSL-szerver tanúsítvány</translation>
 <translation id="3775705724665058594">Küldés a saját eszközökre</translation>
@@ -1845,6 +1860,7 @@
 <translation id="3869917919960562512">Rossz index.</translation>
 <translation id="3870931306085184145">Nincsenek mentett jelszavak a(z) <ph name="DOMAIN" /> domainhez</translation>
 <translation id="3871092408932389764">Legalacsonyabb</translation>
+<translation id="3871350334636688135">24 óra múlva a rendszergazda egyszeri frissítést fog végezni, amely az eszköz újraindításakor törli a helyi adatokat. 24 órán belül mentse felhőtárhelyre a szükséges helyi adatokat.</translation>
 <translation id="3872220884670338524">További műveletek, mentett fiók (<ph name="USERNAME" />) a következő domainen: <ph name="DOMAIN" />.</translation>
 <translation id="3872991219937722530">Szabadítson fel tárhelyet, máskülönben eszköze lefagy.</translation>
 <translation id="3873315167136380065">Ennek bekapcsolásához <ph name="BEGIN_LINK" />állítsa alaphelyzetbe a szinkronizálást<ph name="END_LINK" />, hogy eltávolíthassa az összetett szinkronizálási jelszót</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">Egyes alkalmazások adatai elveszhetnek</translation>
 <translation id="3983586614702900908">ismeretlen szolgáltatótól származó eszközök</translation>
 <translation id="3984159763196946143">Nem sikerült elindítani a demó módot</translation>
+<translation id="3984431586879874039">Engedélyezi a webhelynek, hogy lássa a biztonsági hardverkulcsot?</translation>
 <translation id="3987348946546879621">Megspórolt adatforgalom</translation>
 <translation id="3987938432087324095">Elnézést, de nem értettem.</translation>
 <translation id="3988996860813292272">Időzóna kiválasztásaƒƒ</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">Visszaállítja az alapértelmezett keresőmotort?</translation>
 <translation id="4099874310852108874">Hálózati hiba történt.</translation>
 <translation id="4100733287846229632">Az eszköz nagyon kevés szabad tárhellyel rendelkezik</translation>
+<translation id="4100853287411968461">Képernyő előtt tölthető idő frissítve</translation>
 <translation id="4103091233824664032">Adja meg jelszavát a képernyőzár és bejelentkezés beállításához</translation>
 <translation id="4104163789986725820">E&amp;xportálás...</translation>
 <translation id="4107048419833779140">Tárolóeszközök azonosítása és kiadása</translation>
 <translation id="4109135793348361820">Az ablak áthelyezése <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) asztalára</translation>
 <translation id="4110490973560452005">A letöltés befejeződött: <ph name="FILE_NAME" />. A Shift+F6 billentyűparancs lenyomásával a letöltéssáv területére léphet.</translation>
 <translation id="4110895898888439383">Böngészhet az interneten kontrasztos megjelenítési módban</translation>
-<translation id="4112221174576828331">Ha valamelyik kép nem rendelkezik hasznos leírással, akkor a Chrome leírást ad róla. A képeket a Google olvassa be.</translation>
 <translation id="4115002065223188701">A hálózat kívül esik a hatókörön</translation>
 <translation id="4115080753528843955">Bizonyos tartalomszolgáltatások egyedi azonosítót használnak a védett tartalmakhoz való hozzáférés engedélyezéséhez</translation>
 <translation id="4118579674665737931">Indítsa újra az eszközt, majd próbálja meg újra.</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">A fájl hiányos</translation>
 <translation id="4325237902968425115"><ph name="LINUX_APP_NAME" /> eltávolítása…</translation>
 <translation id="4328203388435897516">A Chromebook beállítása után a Segéd gomb megnyomásával vagy az „Ok Google” parancs kimondásával bármikor segítséget kérhet. Ezt a Segéd beállításai között módosíthatja.</translation>
+<translation id="4330191372652740264">Jeges víz</translation>
 <translation id="4330387663455830245">Soha ne fordítsa le a(z) <ph name="LANGUAGE" /> nyelvű szöveget</translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 RSA titkosítással</translation>
 <translation id="4336979451636460645">A hálózati naplók a következő helyen találhatók: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">Ló</translation>
 <translation id="4387004326333427325">A hitelesítési tanúsítvány távolról elutasítva</translation>
 <translation id="4389091756366370506"><ph name="VALUE" /> felhasználó</translation>
+<translation id="4390000551125140321">{0,plural, =1{Inkognitó}other{# megnyitott inkognitóablak}}</translation>
 <translation id="439266289085815679">A Bluetooth-konfigurációt <ph name="USER_EMAIL" /> szabályozza.</translation>
 <translation id="4394049700291259645">Kikapcsolás</translation>
 <translation id="4400367121200150367">Itt jelennek meg azok a webhelyek, amelyeknél letiltotta a jelszavak mentését</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">Mielőtt hozzáadna valakit, oldja fel profilját.</translation>
 <translation id="4651484272688821107">Nem sikerült betölteni az online komponenst a demó mód forrásaival.</translation>
 <translation id="465878909996028221">A böngészőátirányítások esetén csak a http-, https- és fájlprotokollok támogatottak.</translation>
+<translation id="4659077111144409915">Elsődleges fiók</translation>
 <translation id="4660476621274971848">A várt verzió „<ph name="EXPECTED_VERSION" />”, de a kapott verzió „<ph name="NEW_ID" />”</translation>
 <translation id="4662788913887017617">Ossza meg ezt a könyvjelzőt iPhone eszközével</translation>
 <translation id="4663373278480897665">Kamera engedélyezve</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">A hovatartozás módosult</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4726710629007580002">Voltak figyelmeztetések a bővítmény telepítésének megkísérlésekor:</translation>
+<translation id="4727847987444062305">Felügyelt vendég munkamenet</translation>
 <translation id="4728558894243024398">Platform</translation>
 <translation id="4733082559415072992">A(z) <ph name="URL" /> az eszköz helyadatait szeretné használni</translation>
 <translation id="4733793249294335256">Hely</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">Részletek megjelenítése</translation>
 <translation id="4890773143211625964">Speciális nyomtatóbeállítások megjelenítése</translation>
 <translation id="4891089016822695758">Béta fórum</translation>
+<translation id="4892229439761351791">A webhely használhat Bluetooth-t</translation>
 <translation id="4893336867552636863">Ezzel az eszközön lévő összes böngészési adat véglegesen törlődik.</translation>
 <translation id="4893522937062257019">A lezárási képernyőn</translation>
 <translation id="4898011734382862273">A(z) „<ph name="CERTIFICATE_NAME" />” tanúsítvány tanúsítványkibocsátót képvisel</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">Bejelentkezett a <ph name="SHORT_PRODUCT_NAME" /> szolgáltatásba. A rendszer most szinkronizálja a könyvjelzőket, előzményeket és egyéb beállításokat Google Fiókjával.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422">A(z) <ph name="ORIGIN" /> több fájlt szeretne letölteni</translation>
+<translation id="5192316339598592690">Gyorsan válthat a fiókok között, és egyszerre bejelentkezhet alkalmazásokba és webhelyeken.
+    Az alkalmazások és webhelyek bizonyos Google-fiókadatainak használatára kérhetnek engedélyt. <ph name="LINK_BEGIN" />További információ<ph name="LINK_END" />.</translation>
 <translation id="5204673965307125349">Hajtson végre powerwash műveletet az eszközön, majd próbálja újra.</translation>
 <translation id="5204967432542742771">Írja be a jelszót</translation>
 <translation id="5206215183583316675">Törli a következőt: „<ph name="CERTIFICATE_NAME" />”?</translation>
@@ -3517,6 +3541,7 @@
 <translation id="6547354035488017500">Szabadítson fel legalább 512 MB tárhelyet, máskülönben eszköze lefagy. Tárhely felszabadításához töröljön fájlokat az eszköz tárhelyéről.</translation>
 <translation id="6550675742724504774">Beállítások</translation>
 <translation id="6551508934388063976">A parancs nem érhető el. Új ablak megnyitásához nyomja meg a Ctrl+N billentyűkódot.</translation>
+<translation id="6551612971599078809">A webhely USB-eszközt használ</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> felhasználó</translation>
 <translation id="655483977608336153">Újra</translation>
 <translation id="6555432686520421228">Eltávolít minden felhasználói fiókot, és visszaállítja <ph name="IDS_SHORT_PRODUCT_NAME" /> eszközét a használat kezdetén fennálló állapotába.</translation>
@@ -3741,6 +3766,7 @@
 <translation id="692114467174262153">A(z) <ph name="ALTERNATIVE_BROWSER_NAME" /> megnyitása nem sikerült</translation>
 <translation id="6921709132208495314">Adathasználat leállítása ennél az oldalnál</translation>
 <translation id="6922128026973287222">A Google Adatforgalom-csökkentő segítségével adatforgalmat takaríthat meg, és gyorsabban böngészhet. További információért kattintson ide.</translation>
+<translation id="6922745772873733498">Adja meg a PIN-kódot a nyomtatáshoz</translation>
 <translation id="6923132443355966645">Görgetés / Kattintás</translation>
 <translation id="6923633482430812883">Hiba történt a megosztás csatolásakor. Ellenőrizze, hogy a fájlszerver, amelyhez kapcsolódni szeretne, támogatja-e az SMBv2 vagy újabb protokollt.</translation>
 <translation id="6930036377490597025">Külső biztonsági hardverkulcs vagy beépített érzékelő</translation>
@@ -3795,6 +3821,7 @@
 <translation id="7003339318920871147">Internetes adatbázisok</translation>
 <translation id="7003723821785740825">Gyorsabb megoldás beállítása az eszköz feloldásához</translation>
 <translation id="7003844668372540529">Ismeretlen termék (<ph name="PRODUCT_ID" />) a következő forgalmazótól: <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">A webhely MIDI-eszközöket használhat</translation>
 <translation id="7004499039102548441">Nemrég megnyitott lapok</translation>
 <translation id="7005848115657603926">Érvénytelen oldaltartomány; próbálja így: <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Alsó margó</translation>
@@ -3807,9 +3834,11 @@
 <translation id="7017480957358237747">bizonyos webhelyek engedélyezése vagy tiltása,</translation>
 <translation id="7018275672629230621">Böngészési előzmények olvasása és módosítása</translation>
 <translation id="7019805045859631636">Gyors</translation>
+<translation id="702252130983202758">Saját alkalmazások</translation>
 <translation id="7022562585984256452">Beállítottuk kezdőoldalát.</translation>
 <translation id="7025190659207909717">Mobil adatátviteli szolgáltatás kezelése</translation>
 <translation id="7029809446516969842">Jelszavak</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> – soros port csatlakoztatva</translation>
 <translation id="7031962166228839643">TPM előkészítése folyamatban, kérjük, várjon (ez eltarthat pár percig)...</translation>
 <translation id="7037509989619051237">Szövegfelolvasó előnézete</translation>
 <translation id="7039326228527141150"><ph name="VENDOR_NAME" /> szolgáltatótól származó USB-eszközök elérése</translation>
@@ -3834,6 +3863,7 @@
 <translation id="706626672220389329">Hiba történt a megosztott tároló csatlakoztatása során. Az adott megosztott tároló már csatlakoztatva van.</translation>
 <translation id="7066944511817949584">Nem sikerült csatlakozni a(z) "<ph name="DEVICE_NAME" />" eszközhöz.</translation>
 <translation id="7067725467529581407">Ne jelenjen meg többé.</translation>
+<translation id="7069811530847688087">A(z) <ph name="WEBSITE" /> újabb vagy másféle biztonsági hardverkulcsot igényelhet</translation>
 <translation id="7070484045139057854">Olvashatja és módosíthatja a webhelyadatokat</translation>
 <translation id="7072010813301522126">Gyorsparancs neve</translation>
 <translation id="707392107419594760">Válassza ki billentyűzetét:</translation>
@@ -3914,6 +3944,7 @@
 <translation id="7189234443051076392">Győződjön meg arról, hogy elegendő tárhely áll rendelkezésre az eszközön</translation>
 <translation id="7189965711416741966">Ujjlenyomat hozzáadva.</translation>
 <translation id="7191159667348037">Ismeretlen nyomtató (USB)</translation>
+<translation id="7193051357671784796">Ezt az alkalmazást a szervezete adta hozzá. A telepítés befejezéséhez indítsa újra az alkalmazást.</translation>
 <translation id="7193374945610105795">Nincsenek mentett jelszavak a(z) <ph name="ORIGIN" /> webhelyhez</translation>
 <translation id="7196913789568937443">Biztonsági másolat készítése a Google Drive-ra. Bármikor könnyedén helyreállíthatja adatait, illetve lecserélheti eszközét. A biztonsági másolat alkalmazásadatokat tartalmaz. A biztonsági másolatokat a Google szerveire tölti fel a rendszer, és az Ön Google-fiókjához használt jelszóval titkosítja. <ph name="BEGIN_LINK1" />További információ<ph name="END_LINK1" />.</translation>
 <translation id="7197190419934240522">Böngészés során mindig hozzájut a Google Keresés találataihoz és a Google okos megoldásaihoz</translation>
@@ -4336,6 +4367,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Megjegyzés:<ph name="END_BOLD" /> A rendszer újraindul a folyamat során.</translation>
 <translation id="7829298379596169484">Hozzáférés a hangbemenethez</translation>
+<translation id="7830594666202422257">Csatlakoztatás Linuxhoz</translation>
 <translation id="7831491651892296503">Hiba történt a hálózat konfigurálásakor</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Befejezés ideje</translation>
@@ -4365,6 +4397,7 @@
 <translation id="7877451762676714207">Ismeretlen szerverhiba. Kérjük, próbálja újra, vagy lépjen kapcsolatba a szerver rendszergazdájával.</translation>
 <translation id="7877680364634660272">Bemutató</translation>
 <translation id="7878562273885520351">Előfordultat, hogy jelszava már nem biztonságos</translation>
+<translation id="7880823633812189969">Újraindításkor törlődnek a helyi adatok</translation>
 <translation id="7881483672146086348">Fiók megtekintése</translation>
 <translation id="7882358943899516840">Szolgáltató típusa</translation>
 <translation id="7885253890047913815">Legutóbbi célhelyek</translation>
@@ -4460,6 +4493,7 @@
 <translation id="8008356846765065031">Az internetkapcsolat megszűnt. Kérjük, ellenőrizze az internetkapcsolatot.</translation>
 <translation id="8009225694047762179">Jelszó kezelése</translation>
 <translation id="8012382203418782830">Az oldal fordítása megtörtént.</translation>
+<translation id="8013993649590906847">Ha valamelyik kép nem rendelkezik hasznos leírással, akkor a Chrome igyekszik leírást adni róla. A Google automatikusan megkapja a leírások létrehozásához szükséges képeket.</translation>
 <translation id="8014154204619229810">A frissítő most fut. Frissítsen egy perc múlva, és ellenőrizze az állapotát.</translation>
 <translation id="8014206674403687691">Nem sikerült visszatérni a(z) <ph name="IDS_SHORT_PRODUCT_NAME" /> korábban telepített verziójához. Kérjük, próbálja meg újra eszközén végrehajtani a Powerwash műveletet.</translation>
 <translation id="8014210335923519270">A rendszer- és használati adatok Google-nak való elküldésével hozzájárulhat <ph name="IDS_SHORT_PRODUCT_NAME" /> szolgáltatásunk fejlesztéséhez és a szolgáltatás biztonságának javításához</translation>
@@ -4703,6 +4737,7 @@
 <translation id="8426713856918551002">Engedélyezés</translation>
 <translation id="8427292751741042100">beágyazva bármilyen más gazdagépen</translation>
 <translation id="8428213095426709021">Beállítások</translation>
+<translation id="8428628598981198790">Biztonsági hardverkulcsa nem használható ezzel a webhellyel</translation>
 <translation id="84297032718407999"><ph name="LOGOUT_TIME_LEFT" /> múlva kijelentkezteti a rendszer</translation>
 <translation id="8431190899827883166">Koppintások megjelenítése</translation>
 <translation id="8431909052837336408">SIM-kártya PIN-kódjának módosítása</translation>
@@ -4907,6 +4942,7 @@
 <translation id="8732212173949624846">Böngészési előzmények olvasása és módosítása az összes bejelentkezett eszközén</translation>
 <translation id="8732844209475700754">Az adatvédelemre, biztonságra és adatgyűjtésre vonatkozó további beállítások</translation>
 <translation id="8734073480934656039">E beállítás engedélyezésével a kioszkalkalmazások automatikusan elindulhatnak az indításkor.</translation>
+<translation id="8734671092194994316">A biztonsági hardverkulcs tárolni fogja, hogy Ön felkereste a(z) <ph name="WEBSITE" /> webhelyet.</translation>
 <translation id="873545264931343897">A(z) <ph name="PLUGIN_NAME" /> frissítésének befejezését követően töltse be újra az oldalt a beépülő modul aktiválásához</translation>
 <translation id="8736288397686080465">Ez a webhely frissült a háttérben.</translation>
 <translation id="8737685506611670901"><ph name="PROTOCOL" /> linkek megnyitása a(z) <ph name="REPLACED_HANDLER_TITLE" /> helyett</translation>
@@ -5005,6 +5041,7 @@
 <translation id="8877448029301136595">[szülőkönyvtár]</translation>
 <translation id="8879284080359814990">Megjeleníté&amp;s lapként</translation>
 <translation id="8883847527783433352">Szinkronizálás másik fiókkal</translation>
+<translation id="8884570509232205463">Az eszköz zárolásának új időpontja: <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">A Smart Lock nem áll rendelkezésre</translation>
 <translation id="8888253246822647887">A frissítés befejezése után megnyílik az alkalmazás. A frissítési folyamat eltarthat néhány percig.</translation>
 <translation id="8888432776533519951">Szín:</translation>
@@ -5029,7 +5066,6 @@
 <translation id="891365694296252935">Használati és diagnosztikai adatok küldése. Ez az eszköz jelenleg automatikusan küld diagnosztikai, eszköz- és alkalmazáshasználati adatokat a Google-nak. Az adatok a rendszer- és alkalmazásstabilitás javításában, valamint más fejlesztésekben segítenek, nem használjuk fel őket az Ön gyermekének azonosítására. Bizonyos összesített adatok a Google-alkalmazásoknak és -partnereknek, például az Android-fejlesztőknek is segítenek. Ezt a beállítást kötelezővé tette az eszköz tulajdonosa. Ha az Internetes és alkalmazástevékenységek beállítás is be van kapcsolva a gyermekénél, akkor a rendszer ezeket az adatokat mentheti a gyermek Google-fiókjába. <ph name="BEGIN_LINK1" />További információ.<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Javaslatok betöltése</translation>
 <translation id="8916476537757519021">Inkognitó subframe: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Igen, elfogadom</translation>
 <translation id="8919275547519617350">Ha az összes eszközén szeretné elérni jelszavait, jelentkezzen be, és kapcsolja be a szinkronizálást.</translation>
 <translation id="8921366488406707015">Biztonsági hardverkulcs ellenőrzése…</translation>
 <translation id="8922013791253848639">Mindig engedélyezi a hirdetéseket ezen a webhelyen</translation>
@@ -5098,6 +5134,7 @@
 <translation id="9026852570893462412">Ez a folyamat néhány percet is igénybe vehet. A virtuális gép letöltése folyamatban van.</translation>
 <translation id="9027459031423301635">Link megnyitása új &amp;lapon</translation>
 <translation id="9030515284705930323">Szervezete még nem engedélyezte a Google Play Áruház szolgáltatást a fiókjánál. További tájékoztatásért forduljon rendszergazdájához.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Beillesztés</translation>
 <translation id="9037965129289936994">Eredeti megjelenítése</translation>
 <translation id="9038649477754266430">A várható kifejezés szolgáltatás használata az oldalak gyorsabb betöltése érdekében</translation>
@@ -5127,7 +5164,6 @@
 <translation id="9065203028668620118">Szerkesztés</translation>
 <translation id="9066773882585798925">Szöveg felolvastatása</translation>
 <translation id="9066782832737749352">Szövegfelolvasás</translation>
-<translation id="907264006778172906">Engedély megadása a Linuxnak az USB-eszközökhöz való hozzáférésre. A Linux nem jegyzi meg az USB-eszközt az eszköz eltávolítása után.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB-egér csatlakoztatva</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index 52971856..74dcd154 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -2021,7 +2021,6 @@
 <translation id="4109135793348361820">Pindahkan jendela ke <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Download selesai: <ph name="FILE_NAME" />. Tekan Shift+F6 untuk masuk ke area kotak download</translation>
 <translation id="4110895898888439383">Akses web dalam mode kontras tinggi</translation>
-<translation id="4112221174576828331">Jika gambar tidak memiliki deskripsi yang berguna, Chrome akan memberikan deskripsi untuk Anda. Gambar akan dipindai oleh Google.</translation>
 <translation id="4115002065223188701">Jaringan di luar jangkauan</translation>
 <translation id="4115080753528843955">Beberapa layanan konten menggunakan pengenal unik untuk memberi otorisasi akses ke konten yang dilindungi</translation>
 <translation id="4118579674665737931">Harap reboot perangkat, lalu coba lagi.</translation>
@@ -4490,6 +4489,7 @@
 <translation id="8008356846765065031">Internet terputus. Periksa sambungan internet Anda.</translation>
 <translation id="8009225694047762179">Kelola Kata sandi</translation>
 <translation id="8012382203418782830">Halaman ini telah diterjemahkan.</translation>
+<translation id="8013993649590906847">Jika gambar tidak memiliki deskripsi yang berguna, Chrome akan mencoba memberikan deskripsi untuk Anda. Untuk membuat deskripsi, gambar akan dikirim ke Google.</translation>
 <translation id="8014154204619229810">Alat pembaru sedang berjalan. Segarkan dalam satu menit untuk memeriksa lagi.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> tidak dapat mengembalikan ke versi yang terpasang sebelumnya. Coba lagi untuk melakukan Powerwash perangkat Anda.</translation>
 <translation id="8014210335923519270">Sempurnakan <ph name="IDS_SHORT_PRODUCT_NAME" /> dan keamanannya dengan mengirimkan informasi dan penggunaan sistem ke Google</translation>
@@ -5062,7 +5062,6 @@
 <translation id="891365694296252935">Kirim data penggunaan dan diagnostik. Perangkat ini saat ini otomatis mengirim data diagnostik, perangkat, dan penggunaan aplikasi ke Google. Data ini tidak akan digunakan untuk mengidentifikasi anak Anda serta akan membantu sistem dan stabilitas aplikasi serta penyempurnaan lainnya. Beberapa data gabungan juga akan membantu aplikasi dan partner Google, seperti developer Android. Setelan ini diterapkan oleh pemilik. Jika Aktivitas Web &amp; Aplikasi tambahan diaktifkan untuk anak Anda, data ini mungkin akan disimpan ke Akun Google miliknya. <ph name="BEGIN_LINK1" />Pelajari Lebih Lanjut<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Memuat saran</translation>
 <translation id="8916476537757519021">Subframe Mode Penyamaran: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Ya, Saya Setuju</translation>
 <translation id="8919275547519617350">Untuk mendapatkan semua sandi di semua perangkat, login dan aktifkan sinkronisasi.</translation>
 <translation id="8921366488406707015">Memverifikasi kunci keamanan...</translation>
 <translation id="8922013791253848639">Selalu izinkan iklan di situs ini</translation>
@@ -5161,7 +5160,6 @@
 <translation id="9065203028668620118">Edit</translation>
 <translation id="9066773882585798925">Mendengar teks dibacakan dengan keras</translation>
 <translation id="9066782832737749352">Text-to-Speech</translation>
-<translation id="907264006778172906">Berikan izin kepada Linux untuk mengakses perangkat USB. Linux tidak akan mengingat perangkat USB setelah perangkat tersebut dilepas.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Mouse USB tersambung</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index c5ced95a..6b8cfd5 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -2001,7 +2001,6 @@
 <translation id="4109135793348361820">Sposta finestra su <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Download completato: <ph name="FILE_NAME" />. Premi MAIUSC+F6 per passare alla parte con la barra dei download.</translation>
 <translation id="4110895898888439383">Naviga sul Web in modalità Contrasto elevato</translation>
-<translation id="4112221174576828331">Se un'immagine è senza descrizione utile, Chrome proverà a fornirne una. Le immagini vengono sottoposte a scansione da Google.</translation>
 <translation id="4115002065223188701">Rete fuori portata</translation>
 <translation id="4115080753528843955">Alcuni servizi di contenuti utilizzano identificatori univoci al fine di autorizzare l'accesso ai contenuti protetti</translation>
 <translation id="4118579674665737931">Riavvia il dispositivo e riprova.</translation>
@@ -4452,6 +4451,7 @@
 <translation id="8008356846765065031">Disconnesso da Internet. Controlla la tua connessione Internet.</translation>
 <translation id="8009225694047762179">Gestisci password</translation>
 <translation id="8012382203418782830">Questa pagina è stata tradotta.</translation>
+<translation id="8013993649590906847">Se un'immagine è senza descrizione utile, Chrome proverà a fornirne una. Per la creazione delle descrizioni, le immagini vengono inviate a Google.</translation>
 <translation id="8014154204619229810">Lo strumento di aggiornamento è in esecuzione. Aggiorna tra un minuto per ricontrollare.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> non riesce a tornare alla versione precedente installata. Prova a eseguire il Powerwash del dispositivo.</translation>
 <translation id="8014210335923519270">Migliora <ph name="IDS_SHORT_PRODUCT_NAME" /> e la sua sicurezza inviando informazioni di sistema e sull'utilizzo a Google</translation>
@@ -5020,7 +5020,6 @@
 <translation id="891365694296252935">Invia dati diagnostici e sull'utilizzo. Questo dispositivo attualmente invia a Google dati diagnostici e sull'utilizzo delle app e del dispositivo. Non verranno utilizzati per identificare tuo figlio e contribuiranno alla stabilità di app e sistema, nonché ad altri miglioramenti. Alcuni dati aggregati saranno utili anche alle app e ai partner di Google, ad esempio agli sviluppatori Android. Questa impostazione è applicata dal proprietario. Se l'impostazione Attività web e app aggiuntiva è attiva per tuo figlio, queste informazioni potrebbero essere salvate nel suo Account Google. <ph name="BEGIN_LINK1" />Ulteriori informazioni<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Caricamento suggerimento</translation>
 <translation id="8916476537757519021">Frame secondario modalità di navigazione in incognito: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Sì, accetto</translation>
 <translation id="8919275547519617350">Accedi e attiva la sincronizzazione per trovare tutte le tue password su tutti i dispositivi.</translation>
 <translation id="8921366488406707015">Verifica del token di sicurezza…</translation>
 <translation id="8922013791253848639">Consenti sempre gli annunci su questo sito</translation>
@@ -5118,7 +5117,6 @@
 <translation id="9065203028668620118">Modifica</translation>
 <translation id="9066773882585798925">Attiva la lettura ad alta voce del testo</translation>
 <translation id="9066782832737749352">Sintesi vocale</translation>
-<translation id="907264006778172906">Concedi a Linux l'autorizzazione ad accedere ai dispositivi USB. Dopo la rimozione del dispositivo USB, Linux non ricorderà il dispositivo.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Mouse USB collegato</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index f8b74dc..71f60edd 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -2002,7 +2002,6 @@
 <translation id="4109135793348361820">העבר חלון אל <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">‏ההורדה הושלמה: <ph name="FILE_NAME" />. אפשר להקיש על Shift+F6 כדי לעבור לאזור סרגל ההורדות.</translation>
 <translation id="4110895898888439383">גלישה באינטרנט במצב ניגודיות גבוהה</translation>
-<translation id="4112221174576828331">‏אם אין לתמונה תיאור מועיל, Chrome יספק לך תיאור. התמונות נסרקות על-ידי Google.</translation>
 <translation id="4115002065223188701">הרשת מחוץ לטווח</translation>
 <translation id="4115080753528843955">שירותי תוכן מסוימים משתמשים במזהים ייחודיים כדי להעניק הרשאת גישה לתוכן מוגן</translation>
 <translation id="4118579674665737931">אפשר להפעיל מחדש את המכשיר ולנסות שוב.</translation>
@@ -4452,6 +4451,7 @@
 <translation id="8008356846765065031">האינטרנט מנותק. בדוק את חיבור האינטרנט.</translation>
 <translation id="8009225694047762179">ניהול סיסמאות</translation>
 <translation id="8012382203418782830">הדף הזה תורגם.</translation>
+<translation id="8013993649590906847">‏אם אין לתמונה תיאור מועיל, Chrome ינסה לספק לך תיאור. כדי ליצור תיאורים, התמונות נשלחות אל Google.</translation>
 <translation id="8014154204619229810">המעדכן פועל כעת. רענן בעוד דקה כדי לבדוק שנית.</translation>
 <translation id="8014206674403687691">‏<ph name="IDS_SHORT_PRODUCT_NAME" /> אינו יכול לחזור לגרסה המותקנת הקודמת. נסה לבצע שוב Powerwash למכשיר.</translation>
 <translation id="8014210335923519270">‏שליחה של פרטי המערכת ונתוני שימוש אל Google תשפר את <ph name="IDS_SHORT_PRODUCT_NAME" /> ואת האבטחה שלו</translation>
@@ -5023,7 +5023,6 @@
 <translation id="891365694296252935">‏שליחה של נתוני אבחון ונתונים על השימוש. המכשיר הזה שולח עכשיו אל Google באופן אוטומטי נתוני אבחון ונתונים לגבי השימוש במכשיר ובאפליקציות. נתונים אלה לא ישמשו כדי לזהות את הילד/ה שלך, והם יעזרו לשמור על יציבות המערכת והאפליקציות, כמו גם לביצוע שיפורים אחרים. חלק מהנתונים הנצברים יעזרו גם לאפליקציות ולשותפים של Google, כמו מפתחי Android. ההגדרה הזו נאכפת על-ידי הבעלים. אם הופעלה בשביל הילד/ה שלך האפשרות 'פעילות באתרי אינטרנט ובאפליקציות נוספים', ייתכן שהנתונים יישמרו בחשבון Google שלו/ה. <ph name="BEGIN_LINK1" />מידע נוסף<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">טוען הצעה...</translation>
 <translation id="8916476537757519021">תת-מסגרת לגלישה בסתר: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">כן, מקובל עלי.</translation>
 <translation id="8919275547519617350">כדי שכל הסיסמאות שלך יהיו זמינות בכל המכשירים, צריך להיכנס ולהפעיל את הסינכרון.</translation>
 <translation id="8921366488406707015">המערכת מאמתת את מפתח האבטחה...</translation>
 <translation id="8922013791253848639">התר תמיד מודעות באתר הזה</translation>
@@ -5121,7 +5120,6 @@
 <translation id="9065203028668620118">עריכה</translation>
 <translation id="9066773882585798925">הקראת טקסט בקול רם</translation>
 <translation id="9066782832737749352">טקסט לדיבור</translation>
-<translation id="907264006778172906">‏הענקת הרשאה ל-Linux לגשת להתקני USB. אחרי שמוציאים התקן USB, הוא לא נשמר בזיכרון של Linux.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">‏עכבר USB מחובר</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index d1212804..d9e38fcf 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">デバイスを読み込めませんでした。</translation>
 <translation id="1008186147501209563">ブックマークをエクスポート</translation>
 <translation id="1008557486741366299">後で</translation>
+<translation id="1010498023906173788">このタブはシリアルポートに接続しています。</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{ページが応答しません}other{ページが応答しません}}</translation>
 <translation id="1012794136286421601">ドキュメント、スプレッドシート、スライド、図形描画ファイルは同期されています。Google ドライブ アプリを起動すると、これらのファイルにオンラインまたはオフラインでアクセスします。</translation>
 <translation id="1012876632442809908">USB-C デバイス(前面のポート)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">全画面表示を終了するには |<ph name="ACCELERATOR" />| を押します</translation>
 <translation id="1038168778161626396">暗号化のみ</translation>
 <translation id="1039337018183941703">ファイルが無効であるか壊れています</translation>
+<translation id="1041175011127912238">このページは応答していません</translation>
 <translation id="1042174272890264476">お使いのパソコンには <ph name="SHORT_PRODUCT_NAME" /> の RLZ ライブラリも組み込まれています。RLZ は、個人を特定できないタグを割り当てて、特定の販促キャンペーンで生じた検索や <ph name="SHORT_PRODUCT_NAME" /> の利用状況を計測します。これらのラベルは <ph name="PRODUCT_NAME" /> で Google 検索キーワード内に表示されることがあります。</translation>
 <translation id="1046059554679513793">この名前は既に使用されています。</translation>
 <translation id="1046635659603195359">別のデバイスの Google アシスタントで Voice Match をすでに設定しているようです。そこですでに登録してある音声を使ってこのデバイスで音声モデルを作成できます。処理にかかる時間は 1 分以内です。</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">シークレット ウィンドウを使うと、閲覧履歴を残さずにウェブを閲覧できます</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> 個の指紋を登録済み</translation>
 <translation id="1215411991991485844">新しいバックグラウンド アプリが追加されました</translation>
+<translation id="1217483152325416304">ローカルデータはまもなく削除されます</translation>
 <translation id="1217668622537098248">終了後、デフォルトの左クリック動作に戻す</translation>
 <translation id="121783623783282548">パスワードが一致しません。</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Google の位置情報サービスは、Wi‑Fi やモバイル ネットワーク、センサーなどのソースからこのデバイスの現在地を推定します。<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">詳細: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">インストールが有効になっていません</translation>
 <translation id="1483493594462132177">送信</translation>
+<translation id="1484979925941077974">サイトで Bluetooth が使用されています</translation>
 <translation id="1485015260175968628">次の権限に現在アクセス可能:</translation>
 <translation id="1485141095922496924">バージョン: <ph name="PRODUCT_VERSION" />(<ph name="PRODUCT_CHANNEL" />)<ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">パスワードを検索</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(無効)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" />(ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" />x<ph name="HEIGHT" />(ネイティブ)</translation>
+<translation id="1711401317189798723">現在 <ph name="CONTAINER_ID" /> でバックアップを実行しています</translation>
 <translation id="1712349894969001173">このパスワードを iPhone で取得</translation>
 <translation id="1712552549805331520"><ph name="URL" /> から、ローカルのパソコンにデータを永続的に保存する許可を求められています</translation>
 <translation id="1718835860248848330">1 時間以内</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">スイッチ アクセスのオプション</translation>
 <translation id="1932098463447129402">開始時刻</translation>
 <translation id="1933809209549026293">マウスまたはキーボードを接続してください。Bluetooth デバイスを使用している場合は、ペア設定できる状態であることを確認してください。</translation>
+<translation id="1937774647013465102">このデバイス(<ph name="ARCHITECTURE_DEVICE" />)でコンテナのアーキテクチャ タイプ <ph name="ARCHITECTURE_CONTAINER" /> をインポートできません。このコンテナを別のデバイスに復元できるかお試しださい。または、ファイルアプリを開いて、このコンテナ イメージ内のファイルにアクセスすることも可能です。</translation>
 <translation id="1938351510777341717">外部コマンド</translation>
 <translation id="1940546824932169984">接続済みのデバイス</translation>
 <translation id="1944921356641260203">アップデートが見つかりました</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">有効にする</translation>
 <translation id="2394566832561516196">設定は次の再読み込みで消去されます。</translation>
 <translation id="2395616325548404795">この <ph name="DEVICE_TYPE" /> は組織の管理対象として登録されましたが、アセットと位置情報を送信できませんでした。このデバイスの管理コンソールで、この情報を手動で入力してください。</translation>
+<translation id="2396783860772170191">4 桁の PIN(0000~9999)を入力してください</translation>
 <translation id="2408955596600435184">PIN を入力してください</translation>
 <translation id="241082044617551207">不明なプラグイン</translation>
 <translation id="2413749388954403953">ブックマークのユーザー インターフェースの変更</translation>
+<translation id="241639282915300771">現在 <ph name="CONTAINER_ID" /> で復元を実行しています</translation>
 <translation id="241727068219398187"><ph name="TIME" />時点の Google パスワードでデータを暗号化しました。
           なお、Google Pay のお支払い方法と住所はこれには含まれていません。</translation>
 <translation id="2419706071571366386">セキュリティ確保のため、パソコンが使用されていないときにはログアウトします。</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">同期が無効</translation>
 <translation id="2540449034743108469">拡張機能のアクティビティをリッスンするには [開始] を押してください</translation>
 <translation id="2541002089857695151">全画面キャストを最適化しますか?</translation>
+<translation id="2541706104884128042">お休み時間が変更されました</translation>
 <translation id="2544853746127077729">認証証明書がネットワークによって拒否されました</translation>
 <translation id="2549985041256363841">撮影を開始</translation>
 <translation id="2550212893339833758">スワップ対象メモリ</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">このページを離れる</translation>
 <translation id="2678063897982469759">再度有効にする</translation>
 <translation id="268053382412112343">履歴(&amp;S)</translation>
+<translation id="2682498795777673382">保護者の方による更新</translation>
 <translation id="2683638487103917598">フォルダが並べ替えられました</translation>
 <translation id="2684004000387153598">利用を続けるには、[OK]、[ユーザーを追加] の順にクリックして、お使いのメールアドレス用の新しいプロフィールを作成してください。</translation>
 <translation id="2688196195245426394">デバイスをサーバーに登録するときにエラーが発生しました: <ph name="CLIENT_ERROR" />。</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">閉じたウインドウを開く(&amp;E)</translation>
 <translation id="2731700343119398978">お待ちください...</translation>
 <translation id="2731710757838467317">監視対象ユーザーを作成しています。この処理には数分かかる場合があります。</translation>
+<translation id="2731971182069536520">次回デバイスを再起動すると、管理者による 1 回限りの更新が行われ、ローカルデータが削除されます。</translation>
 <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> のサイトもリセットされます。</translation>
 <translation id="2735438478659026460">マウスカーソルの停止時に自動的にクリックする</translation>
 <translation id="2735712963799620190">スケジュール</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">読み上げエンジン</translation>
 <translation id="3047644958362961983">アシスタントの事象を詳しく把握できるよう、情報の提供をお願いいたします。ご提供いただいた情報の保存期間は最大 90 日間です。情報へのアクセスは、エンジニアリングやフィードバックの担当者に制限されます。</translation>
 <translation id="3053013834507634016">証明書キーの用途</translation>
+<translation id="3053273573829329829">ユーザー PIN を有効にする</translation>
 <translation id="3058498974290601450">同期は設定でいつでもオンにできます。</translation>
 <translation id="3060379269883947824">「選択して読み上げ」を有効にする</translation>
 <translation id="3061707000357573562">サービスへのパッチの適用</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">Chrome のメモリが不足しているか、ウェブページのプロセスが何らかの原因で終了しました。続行するには、ページを再読み込みするか別のページに移動してください。</translation>
 <translation id="3085412380278336437">サイトにカメラの使用が許可されています</translation>
 <translation id="3085752524577180175">SOCKS ホスト</translation>
+<translation id="3088052000289932193">サイトで MIDI が使用されています</translation>
 <translation id="3088325635286126843">名前を変更(&amp;R)...</translation>
 <translation id="3089137131053189723">検索をクリアしました</translation>
 <translation id="3090193911106258841">音声 / ビデオ入力にアクセスしています</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">両面印刷</translation>
 <translation id="3317678681329786349">カメラとマイクがブロックされています</translation>
 <translation id="3319048459796106952">シークレット ウィンドウを開く(&amp;I)</translation>
+<translation id="3323521181261657960">ボーナス利用時間が増えました</translation>
 <translation id="3325910708063135066">Mac のシステム環境設定でカメラとマイクがオフになっています</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />)<ph name="LONGTZNAME" />(<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">アプリ情報</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">オフライン デモモード ポリシーを読み取ることができませんでした。</translation>
 <translation id="3766223500670287046">リモートの画面</translation>
 <translation id="3768037234834996183">設定を同期しています...</translation>
+<translation id="377050016711188788">アイスクリーム</translation>
 <translation id="3771294271822695279">動画ファイル</translation>
 <translation id="3775432569830822555">SSL サーバー証明書</translation>
 <translation id="3775705724665058594">お使いのデバイスに送信</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">インデックスが正しくありません。</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> 用に保存されているパスワードはありません</translation>
 <translation id="3871092408932389764">最も低い</translation>
+<translation id="3871350334636688135">24 時間経過してからデバイスを再起動すると、管理者による 1 回限りの更新が行われ、ローカルデータが削除されます。必要なローカルデータは 24 時間以内にクラウド ストレージに保存してください。</translation>
 <translation id="3872220884670338524">その他の操作、<ph name="DOMAIN" /> での <ph name="USERNAME" /> の保存アカウント</translation>
 <translation id="3872991219937722530">ディスクの空き領域を確保してください。十分な空き領域がない場合、デバイスは応答しなくなります。</translation>
 <translation id="3873315167136380065">この設定をオンにするには、<ph name="BEGIN_LINK" />同期をリセット<ph name="END_LINK" />して同期パスフレーズを削除します</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">一部のアプリのデータは失われる可能性があります</translation>
 <translation id="3983586614702900908">不明なベンダーのデバイス</translation>
 <translation id="3984159763196946143">デモモードを開始できませんでした</translation>
+<translation id="3984431586879874039">このサイトによるセキュリティ キーへのアクセスを許可しますか?</translation>
 <translation id="3987348946546879621">データの使用量が削減されました</translation>
 <translation id="3987938432087324095">聞き取れませんでした。</translation>
 <translation id="3988996860813292272">タイムゾーンの選択</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">既定の検索エンジンに戻しますか?</translation>
 <translation id="4099874310852108874">ネットワークエラーが発生しました。</translation>
 <translation id="4100733287846229632">デバイスの空き領域が非常に少なくなっています</translation>
+<translation id="4100853287411968461">利用時間の上限が変更されました</translation>
 <translation id="4103091233824664032">画面ロックとログインを設定するにはパスワードを入力します</translation>
 <translation id="4104163789986725820">エクスポート(&amp;X)</translation>
 <translation id="4107048419833779140">ストレージ デバイスの認識と取り外し</translation>
 <translation id="4109135793348361820"><ph name="USER_NAME" />(<ph name="USER_EMAIL" />)にウィンドウを移動</translation>
 <translation id="4110490973560452005">ダウンロードが完了しました(<ph name="FILE_NAME" />)。ダウンロード バーの領域に切り替えるには Shift+F6 キーを押してください。</translation>
 <translation id="4110895898888439383">ハイ コントラスト モードでウェブをブラウジングする</translation>
-<translation id="4112221174576828331">画像に有効な説明がない場合に、Chrome で説明を自動的に生成できるよう画像をスキャンします。</translation>
 <translation id="4115002065223188701">ネットワークが圏外です</translation>
 <translation id="4115080753528843955">コンテンツ サービスによっては、保護されたコンテンツへのアクセスを認証する目的で、固有の識別子が使用されます</translation>
 <translation id="4118579674665737931">デバイスを再起動してもう一度お試しください。</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">ファイルが不完全です</translation>
 <translation id="4325237902968425115"><ph name="LINUX_APP_NAME" /> をアンインストールしています...</translation>
 <translation id="4328203388435897516">Chromebook を設定したら、いつでもアシスタント ボタンを押すか「OK Google」と話しかけてアシスタントを呼び出すことができます。変更するにはアシスタントの設定にアクセスしてください。</translation>
+<translation id="4330191372652740264">氷水</translation>
 <translation id="4330387663455830245"><ph name="LANGUAGE" /> を翻訳しない</translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 with RSA 暗号化</translation>
 <translation id="4336979451636460645">ネットワークのログについては、<ph name="DEVICE_LOG_LINK" /> をご覧ください</translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">サラトガ</translation>
 <translation id="4387004326333427325">認証証明書がリモートで拒否されました</translation>
 <translation id="4389091756366370506">ユーザー <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{シークレット}other{開いているシークレット ウィンドウ # 個}}</translation>
 <translation id="439266289085815679">Bluetooth 設定は <ph name="USER_EMAIL" /> によって管理されています。</translation>
 <translation id="4394049700291259645">無効にする</translation>
 <translation id="4400367121200150367">パスワードを保存していないサイトがここに表示されます</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">ユーザーを追加するにはまずプロフィールのロックを解除してください。</translation>
 <translation id="4651484272688821107">デモモード リソースでオンライン コンポーネントを読み込めませんでした。</translation>
 <translation id="465878909996028221">ブラウザのリダイレクトでは、http、https、file プロトコルのみサポートされています。</translation>
+<translation id="4659077111144409915">メイン アカウント</translation>
 <translation id="4660476621274971848">バージョン「<ph name="EXPECTED_VERSION" />」が必要ですが、バージョン「<ph name="NEW_ID" />」が検出されました</translation>
 <translation id="4662788913887017617">このブックマークは iPhone と共有できます</translation>
 <translation id="4663373278480897665">カメラを使用できます</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">アフィリエーションが変更された</translation>
 <translation id="4725511304875193254">コーギー</translation>
 <translation id="4726710629007580002">この拡張機能をインストールしようとしたときに、次の警告がありました。</translation>
+<translation id="4727847987444062305">管理対象のゲスト セッション</translation>
 <translation id="4728558894243024398">プラットフォーム</translation>
 <translation id="4733082559415072992"><ph name="URL" /> から、デバイスの現在地情報の使用許可を求められています</translation>
 <translation id="4733793249294335256">保存先</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">詳細を表示</translation>
 <translation id="4890773143211625964">プリンタの詳細オプションを表示</translation>
 <translation id="4891089016822695758">ベータ版フォーラム</translation>
+<translation id="4892229439761351791">サイトに Bluetooth の使用が許可されています</translation>
 <translation id="4893336867552636863">このデバイスから閲覧データが完全に削除されます。</translation>
 <translation id="4893522937062257019">ロック画面</translation>
 <translation id="4898011734382862273">証明書にある「<ph name="CERTIFICATE_NAME" />」は認証局を表しています</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724"><ph name="SHORT_PRODUCT_NAME" /> にログインしています。ブックマーク、履歴、その他の設定は Google アカウントに同期されます。</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" />(<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> で複数のファイルがダウンロードされようとしています</translation>
+<translation id="5192316339598592690">アカウントのすばやい切り替えとアプリやウェブサイトへのログインをまとめて行えます。
+    アプリやサイトが、お使いの Google アカウント情報の一部を使用することについて許可を求める場合があります。<ph name="LINK_BEGIN" />詳細<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">デバイスで Powerwash を実行してもう一度お試しください。</translation>
 <translation id="5204967432542742771">パスワードを入力</translation>
 <translation id="5206215183583316675">「<ph name="CERTIFICATE_NAME" />」を削除しますか?</translation>
@@ -3515,6 +3539,7 @@
 <translation id="6547354035488017500">デバイスの空き領域を 512 MB 以上確保してください。空き領域がこれより少なくなると、デバイスは応答しなくなります。空き領域を確保するために、デバイスのストレージからファイルを削除してください。</translation>
 <translation id="6550675742724504774">オプション</translation>
 <translation id="6551508934388063976">コマンドを使用できません。Ctrl+N を押して新しいウィンドウを開いてください。</translation>
+<translation id="6551612971599078809">サイトで USB が使用されています</translation>
 <translation id="655384502888039633">ユーザー数: <ph name="USER_COUNT" /> 人</translation>
 <translation id="655483977608336153">再試行</translation>
 <translation id="6555432686520421228">すべてのユーザー アカウントを削除し、<ph name="IDS_SHORT_PRODUCT_NAME" /> デバイスを出荷時と同じ状態にリセットします。</translation>
@@ -3739,6 +3764,7 @@
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> を開けませんでした</translation>
 <translation id="6921709132208495314">このページでデータの使用を停止する</translation>
 <translation id="6922128026973287222">Google データセーバーを使うとデータの保存や閲覧が速くなります。クリックして詳細をご確認ください。</translation>
+<translation id="6922745772873733498">印刷するには PIN を入力してください</translation>
 <translation id="6923132443355966645">スクロール / クリック</translation>
 <translation id="6923633482430812883">共有フォルダのマウントエラー。接続先のファイル サーバーが SMBv2 以降に対応しているか確認してください。</translation>
 <translation id="6930036377490597025">外部セキュリティ キーまたは内蔵センサー</translation>
@@ -3793,6 +3819,7 @@
 <translation id="7003339318920871147">ウェブ データベース</translation>
 <translation id="7003723821785740825">デバイスのロックをすばやく解除する方法を設定できます</translation>
 <translation id="7003844668372540529">不明な商品(<ph name="PRODUCT_ID" />、ベンダー: <ph name="VENDOR_NAME" />)</translation>
+<translation id="7004402701596653846">サイトで MIDI が使用される可能性があります</translation>
 <translation id="7004499039102548441">最近使ったタブ</translation>
 <translation id="7005848115657603926">ページ範囲が無効です。<ph name="EXAMPLE_PAGE_RANGE" /> の範囲で指定してください。</translation>
 <translation id="7006634003215061422">下余白</translation>
@@ -3805,9 +3832,11 @@
 <translation id="7017480957358237747">特定のウェブサイトへのアクセスを許可または禁止する</translation>
 <translation id="7018275672629230621">閲覧履歴の読み取りと変更</translation>
 <translation id="7019805045859631636">速い</translation>
+<translation id="702252130983202758">マイアプリ</translation>
 <translation id="7022562585984256452">ホームページが設定されました。</translation>
 <translation id="7025190659207909717">モバイル データ サービスの管理</translation>
 <translation id="7029809446516969842">パスワード</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - シリアルポートを接続しました</translation>
 <translation id="7031962166228839643">TPM を準備しています。しばらくお待ちください(数分かかることがあります)...</translation>
 <translation id="7037509989619051237">テキスト読み上げの音声をプレビュー</translation>
 <translation id="7039326228527141150"><ph name="VENDOR_NAME" /> の USB デバイスへのアクセス</translation>
@@ -3832,6 +3861,7 @@
 <translation id="706626672220389329">共有フォルダのマウントエラー。指定された共有フォルダはすでにマウントされています。</translation>
 <translation id="7066944511817949584">「<ph name="DEVICE_NAME" />」に接続できませんでした。</translation>
 <translation id="7067725467529581407">今後このメッセージを表示しない。</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> では、最新のセキュリティ キーまたは別の種類のセキュリティ キーが必要となる可能性があります</translation>
 <translation id="7070484045139057854">サイトデータの読み取りと変更を行います</translation>
 <translation id="7072010813301522126">ショートカット名</translation>
 <translation id="707392107419594760">キーボードの選択:</translation>
@@ -3912,6 +3942,7 @@
 <translation id="7189234443051076392">デバイスに十分な空き容量があることを確認してください</translation>
 <translation id="7189965711416741966">指紋の登録が完了しました。</translation>
 <translation id="7191159667348037">不明なプリンタ(USB)</translation>
+<translation id="7193051357671784796">このアプリは組織によって追加されました。インストールを完了するにはアプリを再起動してください。</translation>
 <translation id="7193374945610105795"><ph name="ORIGIN" /> 用に保存されているパスワードはありません</translation>
 <translation id="7196913789568937443">Google ドライブにバックアップします。これにより、いつでも簡単にデータを復元したりデバイスを切り替えたりできます。バックアップ対象にはアプリのデータが含まれます。バックアップ データは Google にアップロードされ、Google アカウントのパスワードを使って暗号化されます。<ph name="BEGIN_LINK1" />詳細<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Google 検索や Google の最先端技術をブラウジングで活用できます</translation>
@@ -4335,6 +4366,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />注:<ph name="END_BOLD" /> この処理中、システムの再起動が行われます。</translation>
 <translation id="7829298379596169484">音声入力にアクセスしています</translation>
+<translation id="7830594666202422257">Linux に接続</translation>
 <translation id="7831491651892296503">ネットワークの設定中にエラーが発生しました</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">終了時間</translation>
@@ -4364,6 +4396,7 @@
 <translation id="7877451762676714207">不明なサーバー エラーが発生しました。もう一度お試しになるか、サーバー管理者にご連絡ください。</translation>
 <translation id="7877680364634660272">使い方ガイド</translation>
 <translation id="7878562273885520351">パスワードが不正使用される可能性があります</translation>
+<translation id="7880823633812189969">再起動すると、ローカルデータが削除されます</translation>
 <translation id="7881483672146086348">アカウントを表示</translation>
 <translation id="7882358943899516840">プロバイダの種類</translation>
 <translation id="7885253890047913815">最近使用した送信先</translation>
@@ -4459,6 +4492,7 @@
 <translation id="8008356846765065031">インターネットが切断されました。インターネット接続を確認してください。</translation>
 <translation id="8009225694047762179">パスワードを管理</translation>
 <translation id="8012382203418782830">このページは翻訳されました。</translation>
+<translation id="8013993649590906847">画像に有効な説明が設定されていない場合に、Chrome で説明を自動的に生成できるよう Google に画像が送信されます。</translation>
 <translation id="8014154204619229810">現在アップデータを実行中です。しばらくしてから更新して、もう一度ご確認ください。</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> を以前のインストール バージョンに戻せません。デバイスでもう一度 Powerwash を実行してみてください。</translation>
 <translation id="8014210335923519270">システム情報と使用状況が Google に送信され、<ph name="IDS_SHORT_PRODUCT_NAME" /> とそのセキュリティの向上に役立てられます</translation>
@@ -4702,6 +4736,7 @@
 <translation id="8426713856918551002">有効にしています</translation>
 <translation id="8427292751741042100">ホストに埋め込まれたページ</translation>
 <translation id="8428213095426709021">設定</translation>
+<translation id="8428628598981198790">お使いのセキュリティ キーはこのサイトでは使用できません</translation>
 <translation id="84297032718407999">あと <ph name="LOGOUT_TIME_LEFT" />でログアウトします</translation>
 <translation id="8431190899827883166">タップを表示</translation>
 <translation id="8431909052837336408">SIM PIN を変更</translation>
@@ -4906,6 +4941,7 @@
 <translation id="8732212173949624846">ログインしているすべてのデバイスでの閲覧履歴の読み取りと変更</translation>
 <translation id="8732844209475700754">プライバシー、セキュリティ、データ収集に関連するその他の設定</translation>
 <translation id="8734073480934656039">この設定を有効にすると、起動時にキオスク アプリケーションを自動的に起動することができます。</translation>
+<translation id="8734671092194994316">有効にすると、<ph name="WEBSITE" /> へのアクセスがセキュリティ キーに記録されるようになります。</translation>
 <translation id="873545264931343897"><ph name="PLUGIN_NAME" /> の更新が完了したら、ページを再読み込みして有効にします</translation>
 <translation id="8736288397686080465">このサイトはバックグラウンドで更新されました。</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> の代わりに「<ph name="PROTOCOL" />」リンクを開く</translation>
@@ -5004,6 +5040,7 @@
 <translation id="8877448029301136595">[親ディレクトリ]</translation>
 <translation id="8879284080359814990">タブで表示(&amp;S)</translation>
 <translation id="8883847527783433352">別のアカウントに同期</translation>
+<translation id="8884570509232205463">デバイスは <ph name="UNLOCK_TIME" /> にロックされるようになりました。</translation>
 <translation id="8885197664446363138">Smart Lock は使用できません</translation>
 <translation id="8888253246822647887">アップグレードが完了するとアプリが起動します。アップグレードには数分かかることがあります。</translation>
 <translation id="8888432776533519951">色:</translation>
@@ -5028,7 +5065,6 @@
 <translation id="891365694296252935">使用状況データや診断データを送信します。このデバイスは現在、診断データやデバイスとアプリの使用状況データを Google に自動送信するように設定されています。この情報を使ってお子様個人が特定されることはありません。この情報は、システムとアプリの安定性の向上やその他の機能の改善に役立てられます。また、Google のアプリやパートナー(Android デベロッパーなど)も、集計データとしてこの情報を活用します。この設定は所有者によって管理されています。お子様の [その他のウェブとアプリのアクティビティ] の設定がオンになっている場合、このデータはお子様の Google アカウントに保存されます。<ph name="BEGIN_LINK1" />詳細<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">候補を読み込んでいます</translation>
 <translation id="8916476537757519021">シークレット サブフレーム: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">有効にする</translation>
 <translation id="8919275547519617350">お使いのどのデバイスでも同じパスワードを使用するには、ログインして同期を有効にします。</translation>
 <translation id="8921366488406707015">セキュリティ キーの確認中...</translation>
 <translation id="8922013791253848639">このサイトで常に広告を許可します</translation>
@@ -5097,6 +5133,7 @@
 <translation id="9026852570893462412">この処理には数分かかることがあります。仮想マシンをダウンロードします。</translation>
 <translation id="9027459031423301635">新しいタブで開く(&amp;T)</translation>
 <translation id="9030515284705930323">組織の設定により、アカウントで Google Play ストアをご利用いただくことができません。詳しくは管理者にお尋ねください。</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">貼り付け(&amp;P)</translation>
 <translation id="9037965129289936994">原文のページを表示</translation>
 <translation id="9038649477754266430">予測サービスを使用してページをより迅速に読み込む</translation>
@@ -5126,7 +5163,6 @@
 <translation id="9065203028668620118">編集</translation>
 <translation id="9066773882585798925">テキストを読み上げます</translation>
 <translation id="9066782832737749352">テキスト読み上げ</translation>
-<translation id="907264006778172906">Linux に USB デバイスへのアクセスを許可します。デバイスの削除後は、Linux にその USB デバイスは記憶されません。</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB マウスが接続されました</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index f2f73cf..f81f5c7 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -2005,7 +2005,6 @@
 <translation id="4109135793348361820">ವಿಂಡೋವನ್ನು <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) ಗೆ ಸರಿಸಿ</translation>
 <translation id="4110490973560452005">ಡೌನ್‌ಲೋಡ್‌‌ ಪೂರ್ಣಗೊಂಡಿದೆ: <ph name="FILE_NAME" />. ಡೌನ್‌ಲೋಡ್‌ ಪಟ್ಟಿಯ ಜಾಗಕ್ಕೆ ಹೋಗಲು Shift+F6 ಅನ್ನು ಒತ್ತಿ.</translation>
 <translation id="4110895898888439383">ಅಧಿಕ ಕಾಂಟ್ರಾಸ್ಟ್ ಮೋಡ್‌ನಲ್ಲಿ ವೆಬ್ ಅನ್ನು ಬ್ರೌಸ್ ಮಾಡಿ</translation>
-<translation id="4112221174576828331">ಚಿತ್ರದಲ್ಲಿ ಉಪಯುಕ್ತ ವಿವರಣೆಯು ಇಲ್ಲದಿದ್ದರೆ, Chrome ನಿಮಗಾಗಿ ಒಂದು ವಿವರಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಚಿತ್ರಗಳನ್ನು Google ಸ್ಕ್ಯಾನ್ ಮಾಡಿದೆ.</translation>
 <translation id="4115002065223188701">ನೆಟ್‌ವರ್ಕ್ ವ್ಯಾಪ್ತಿಯ ಹೊರಗಿದೆ</translation>
 <translation id="4115080753528843955">ರಕ್ಷಿತ ವಿಷಯಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ದೃಢೀಕರಿಸುವ ಉದ್ದೇಶಕ್ಕಾಗಿ ಕೆಲವು ವಿಷಯ ಸೇವೆಗಳು ಅನನ್ಯ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ಬಳಸುತ್ತವೆ</translation>
 <translation id="4118579674665737931">ಸಾಧನವನ್ನು ರೀಬೂಟ್ ಮಾಡಿ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
@@ -4458,6 +4457,7 @@
 <translation id="8008356846765065031">ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ.</translation>
 <translation id="8009225694047762179">ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="8012382203418782830">ಈ ಪುಟವನ್ನು ಭಾಷಾಂತರಿಸಲಾಗಿದೆ.</translation>
+<translation id="8013993649590906847">ಚಿತ್ರದಲ್ಲಿ ಉಪಯುಕ್ತ ವಿವರಣೆಯು ಇಲ್ಲದಿದ್ದರೆ, Chrome ನಿಮಗಾಗಿ ಒಂದು ವಿವರಣೆಯನ್ನು ಒದಗಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ವಿವರಣೆಗಳನ್ನು ರಚಿಸಲು, ಚಿತ್ರಗಳನ್ನು Google ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.</translation>
 <translation id="8014154204619229810">ಅಪ್‌ಡೇಟರ್ ಪ್ರಸ್ತುತ ರನ್ ಆಗುತ್ತಿದೆ. ಮತ್ತೊಮ್ಮೆ ಪರಿಶೀಲಿಸಲು ಒಂದು ನಿಮಿಷದಲ್ಲಿ ರಿಫ್ರೆಶ್ ಮಾಡಿ.</translation>
 <translation id="8014206674403687691">ಈ ಹಿಂದೆ ಸ್ಥಾಪಿಸಲಾದ ಆವೃತ್ತಿಗೆ ಹಿಂತಿರುಗಲು <ph name="IDS_SHORT_PRODUCT_NAME" /> ಅಸಮರ್ಥವಾಗಿದೆ. ನಿಮ್ಮ ಸಾಧನವನ್ನು ಪವರ್‌ವಾಶ್ ಮಾಡಲು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="8014210335923519270">ಸಿಸ್ಟಂ ಮಾಹಿತಿ ಮತ್ತು ಬಳಕೆಯನ್ನು Google ಗೆ ಕಳುಹಿಸುವ ಮೂಲಕ <ph name="IDS_SHORT_PRODUCT_NAME" />
@@ -5031,7 +5031,6 @@
 <translation id="891365694296252935">ಬಳಕೆ ಮತ್ತು ಡಯಾಗ್ನಾಸ್ಟಿಕ್ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಿ. ಪ್ರಸ್ತುತ ಈ ಸಾಧನವು ಡಯಾಗ್ನಾಸ್ಟಿಕ್, ಸಾಧನ, ಮತ್ತು ಆ್ಯಪ್ ಬಳಕೆಯ ಡೇಟಾವನ್ನು Google ಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಳುಹಿಸುತ್ತಿದೆ. ಈ ಡೇಟಾವನ್ನು ನಿಮ್ಮ ಮಗುವನ್ನು ಗುರುತಿಸುವುದಕ್ಕೆ ಬಳಸುವುದಿಲ್ಲ, ಹಾಗೂ ಇದು ಸಿಸ್ಟಮ್ ಮತ್ತು ಆ್ಯಪ್ ಸ್ಥಿರತೆ, ಹಾಗೂ ಇತರ ಸುಧಾರಣೆಗಳಿಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಕೆಲವು ಒಟ್ಟುಗೂಡಿಸಿದ ಡೇಟಾವು, Google ಆ್ಯಪ್‌ಗಳಿಗೆ ಮತ್ತು ಪಾಲುದಾರರಿಗೂ ಸಹ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, Android ಡೆವಲಪರ್‌ಗಳು. ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಮಾಲೀಕರೇ ಜಾರಿಗೊಳಿಸುತ್ತಾರೆ. ನಿಮ್ಮ ಮಗುವಿಗಾಗಿ ಹೆಚ್ಚುವರಿ ವೆಬ್‌ ಮತ್ತು ಆ್ಯಪ್ ಚಟುವಟಿಕೆ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಆನ್‌ ಮಾಡಿದ್ದಲ್ಲಿ, ಈ ಡೇಟಾವು ಅವರ Google ಖಾತೆಯಲ್ಲಿ ಉಳಿಸಲ್ಪಡಬಹುದು. <ph name="BEGIN_LINK1" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">ಸಲಹೆಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="8916476537757519021">ಅದೃಶ್ಯ ಉಪಫ್ರೇಮ್: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">ಹೌದು, ನಾನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತೇನೆ</translation>
 <translation id="8919275547519617350">ನಿಮ್ಮ ಎಲ್ಲಾ ಪಾಸ್‌ವರ್ಡ್‌ಗಳಲ್ಲಿ ನಿಮ್ಮ ಎಲ್ಲಾ ವಿಸ್ತರಣೆಗಳನ್ನು ಪಡೆಯಲು, ಸೈನ್ ಇನ್ ಮಾಡಿ ಮತ್ತು ಸಿಂಕ್ ಆನ್ ಮಾಡಿ.</translation>
 <translation id="8921366488406707015">ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀಯನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="8922013791253848639">ಈ ಸೈಟ್‌ನಲ್ಲಿ ಯಾವಾಗಲೂ ಜಾಹೀರಾತುಗಳನ್ನು ಅನುಮತಿಸಿ</translation>
@@ -5129,7 +5128,6 @@
 <translation id="9065203028668620118">ಎಡಿಟ್</translation>
 <translation id="9066773882585798925">ಪಠ್ಯವನ್ನು ಗಟ್ಟಿಯಾಗಿ ಓದುವುದನ್ನು ಆಲಿಸಿ</translation>
 <translation id="9066782832737749352">ಪಠ್ಯದಿಂದ ಧ್ವನಿ</translation>
-<translation id="907264006778172906">USB ಸಾಧನಗಳಿಗೆ ಪ್ರವೇಶ ಪಡೆಯಲು Linux ಗೆ ಅನುಮತಿ ನೀಡಿ. USB ಸಾಧನವನ್ನು ತೆಗೆದುಹಾಕಿದ ಬಳಿಕ, Linux ಗೆ ಅದರ ಮಾಹಿತಿ ನೆನಪಿನಲ್ಲಿ ಇರುವುದಿಲ್ಲ.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">ಬ್ಲೂಟೂತ್‌</translation>
 <translation id="9074836595010225693">USB ಮೌಸ್ ಸಂಪರ್ಕಗೊಂಡಿದೆ</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index 88b2292..be333a9 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -2003,7 +2003,6 @@
 <translation id="4109135793348361820">창을 <ph name="USER_NAME" />(<ph name="USER_EMAIL" />)님에게로 이동</translation>
 <translation id="4110490973560452005">다운로드 완료: <ph name="FILE_NAME" />. 다운로드바 영역으로 이동하려면 Shift+F6를 누르세요.</translation>
 <translation id="4110895898888439383">고대비 모드로 웹 탐색</translation>
-<translation id="4112221174576828331">이미지에 유용한 설명이 없으면 Chrome에서 자동으로 설명을 제공합니다. Google에서 이미지를 스캔합니다.</translation>
 <translation id="4115002065223188701">네트워크 범위를 벗어남</translation>
 <translation id="4115080753528843955">일부 콘텐츠 서비스는 보호된 콘텐츠에 액세스 권한을 부여할 수 있도록 고유 식별자를 사용합니다.</translation>
 <translation id="4118579674665737931">기기를 재부팅한 후 다시 시도해 주세요.</translation>
@@ -4456,6 +4455,7 @@
 <translation id="8008356846765065031">인터넷 연결이 끊겼습니다. 인터넷 연결을 확인하세요.</translation>
 <translation id="8009225694047762179">비밀번호 관리</translation>
 <translation id="8012382203418782830">페이지가 번역되었습니다.</translation>
+<translation id="8013993649590906847">이미지에 유용한 설명이 없으면 Chrome에서 자동으로 설명을 제공하려고 시도합니다. 설명을 생성하기 위해 이미지가 Google로 전송됩니다.</translation>
 <translation id="8014154204619229810">업데이터가 현재 실행 중입니다. 잠시 후에 새로고침하여 다시 확인해 주세요.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" />을(를) 이전에 설치한 버전으로 되돌릴 수 없습니다. 대신 기기를 Powerwash해 보세요.</translation>
 <translation id="8014210335923519270">시스템 정보와 사용 기록을 Google에 전송하여 <ph name="IDS_SHORT_PRODUCT_NAME" /> 및 보안 개선</translation>
@@ -5025,7 +5025,6 @@
 <translation id="891365694296252935">사용 및 진단 데이터를 보냅니다. 이 기기는 현재 진단, 기기 및 앱 사용 데이터를 Google에 자동으로 보내고 있습니다. 이 데이터는 자녀를 식별하는 용도로 사용되지 않으며, 시스템 및 앱 안정성 등을 개선하는 데 활용됩니다. 일부 수집 데이터는 Google 앱과 파트너(Android 개발자 등)에게도 도움을 줍니다. 이 설정은 소유자가 지정합니다. 자녀의 추가 웹 및 앱 활동이 사용 설정되어 있다면 이 데이터가 자녀의 Google 계정에 저장될 수 있습니다. <ph name="BEGIN_LINK1" />자세히 알아보기<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">추천 단어 로드 중...</translation>
 <translation id="8916476537757519021">시크릿 모드 서브프레임: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">사용</translation>
 <translation id="8919275547519617350">저장된 비밀번호를 어느 기기에서나 사용하려면 로그인하여 동기화를 사용 설정하세요.</translation>
 <translation id="8921366488406707015">보안 키 인증 중...</translation>
 <translation id="8922013791253848639">이 사이트의 광고 항상 허용</translation>
@@ -5123,7 +5122,6 @@
 <translation id="9065203028668620118">수정</translation>
 <translation id="9066773882585798925">소리 내어 읽은 텍스트 듣기</translation>
 <translation id="9066782832737749352">텍스트 음성 변환</translation>
-<translation id="907264006778172906">Linux에 USB 기기 액세스 권한을 부여합니다. Linux는 삭제된 USB 기기를 기억하지 않습니다.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">블루투스</translation>
 <translation id="9074836595010225693">USB 마우스 연결됨</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index e999cf9..6161ba5 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -2023,7 +2023,6 @@
 <translation id="4109135793348361820">Perkelti langą <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Atsisiuntimas baigtas: <ph name="FILE_NAME" />. Kad perjungtumėte į atsisiuntimų juostą, paspauskite „Shift“ + F6.</translation>
 <translation id="4110895898888439383">Žiniatinklio naršymas didelio kontrasto režimu</translation>
-<translation id="4112221174576828331">Jei nėra naudingo vaizdo aprašo, „Chrome“ jums jį pateiks. Vaizdus nuskaito „Google“.</translation>
 <translation id="4115002065223188701">Tinklas nepasiekiamas</translation>
 <translation id="4115080753528843955">Kai kurios turinio paslaugos naudoja unikalius identifikatorius, kad suteiktų prieigą prie apsaugoto turinio</translation>
 <translation id="4118579674665737931">Paleiskite įrenginį iš naujo ir bandykite dar kartą.</translation>
@@ -4493,6 +4492,7 @@
 <translation id="8008356846765065031">Internetas atjungtas. Patikrinkite interneto ryšį.</translation>
 <translation id="8009225694047762179">Tvarkyti slaptažodžius</translation>
 <translation id="8012382203418782830">Šis puslapis buvo išverstas.</translation>
+<translation id="8013993649590906847">Jei nebus naudingo vaizdo aprašo, „Chrome“ bandys jums jį pateikti. Kad būtų galima kurti aprašus, vaizdai siunčiami į sistemą „Google“.</translation>
 <translation id="8014154204619229810">Atnaujinimo programa šiuo metu paleista. Netrukus atnaujinkite ir vėl patikrinkite.</translation>
 <translation id="8014206674403687691">Neįmanoma grąžinti ankstesnės įdiegtos „<ph name="IDS_SHORT_PRODUCT_NAME" />“ versijos. Pabandykite vykdyti funkciją „Powerwash“.</translation>
 <translation id="8014210335923519270">Patobulinkite „<ph name="IDS_SHORT_PRODUCT_NAME" />“ ir saugą siųsdami sistemos informaciją bei naudojimo duomenis į sistemą „Google“</translation>
@@ -5065,7 +5065,6 @@
 <translation id="891365694296252935">Siųskite naudojimo ir diagnostikos duomenis. Šiuo metu šis įrenginys automatiškai siunčia „Google“ diagnostikos, įrenginio ir programų naudojimo duomenis. Tai nebus naudojama siekiant nustatyti jūsų vaiko tapatybę ir padės pagerinti sistemos bei programos stabilumą ir teikti kitus patobulinimus. Kai kurie sukaupti duomenys taip pat bus naudingi „Google“ programoms ir partneriams, pvz., „Android“ kūrėjams. Šį nustatymą taiko savininkas. Jei papildomas „Žiniatinklio ir programų veiklos“ nustatymas įjungtas vaiko įrenginyje, šie duomenys gali būti išsaugoti vaiko „Google“ paskyroje. <ph name="BEGIN_LINK1" />Sužinokite daugiau<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Įkeliamas pasiūlymas</translation>
 <translation id="8916476537757519021">Inkognito antrinis kadras: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Taip, sutinku</translation>
 <translation id="8919275547519617350">Jei norite pasiekti visus slaptažodžius visuose įrenginiuose, prisijunkite ir įjunkite sinchronizavimą.</translation>
 <translation id="8921366488406707015">Patvirtinamas saugos raktas...</translation>
 <translation id="8922013791253848639">Visada leisti skelbimus šioje svetainėje</translation>
@@ -5164,7 +5163,6 @@
 <translation id="9065203028668620118">Redaguoti</translation>
 <translation id="9066773882585798925">Balsu skaitomo teksto klausymas</translation>
 <translation id="9066782832737749352">Tekstas į kalbą</translation>
-<translation id="907264006778172906">„Linux“ suteikiamas leidimas pasiekti USB įrenginius. Pašalinto USB įrenginio „Linux“ neprisimins.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB pelė prijungta</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index 0cf0536..828c4d0 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Nevarēja ielādēt ierīces.</translation>
 <translation id="1008186147501209563">Grāmatzīmju eksportēšana</translation>
 <translation id="1008557486741366299">Vēlāk</translation>
+<translation id="1010498023906173788">Šī cilne ir pievienota seriālajam portam.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Nereaģējoša lapa}zero{Nereaģējošas lapas}one{Nereaģējošas lapas}other{Nereaģējošas lapas}}</translation>
 <translation id="1012794136286421601">Jūsu Dokumentu, Izklājlapu, Prezentāciju un Zīmējumu faili tiek sinhronizēti. Atveriet lietotni “Google disks”, lai piekļūtu šiem failiem tiešsaistē vai bezsaistē.</translation>
 <translation id="1012876632442809908">USB-C ierīce (priekšējā pieslēgvieta)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Lai izietu no pilnekrāna režīma, nospiediet |<ph name="ACCELERATOR" />|.</translation>
 <translation id="1038168778161626396">Tikai šifrēt</translation>
 <translation id="1039337018183941703">Nederīgs vai bojāts fails</translation>
+<translation id="1041175011127912238">Šī lapa nereaģē</translation>
 <translation id="1042174272890264476">Jūsu datorā ir iebūvēta arī pārlūka <ph name="SHORT_PRODUCT_NAME" /> RLZ bibliotēka. RLZ piešķir neunikālu, personu neidentificējošu atzīmi, lai novērtētu noteiktas reklāmas kampaņas ietvaros ievadītos meklēšanas vienumus un pārlūka <ph name="SHORT_PRODUCT_NAME" /> lietojumu. Šīs atzīmes pārlūkā <ph name="PRODUCT_NAME" /> dažkārt tiek rādītas Google meklēšanas vaicājumos.</translation>
 <translation id="1046059554679513793">Vai! Šis nosaukums jau tiek izmantots.</translation>
 <translation id="1046635659603195359">Šķiet, ka jau esat iestatījis funkciju Voice Match Google asistentā citā ierīcē. Esošos ierakstus var izmantot balss modeļa izveidei šajā ierīcē. Uzgaidiet vēl īsu brīdi.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Pārlūkojiet tīmekli inkognito režīma logā, nesaglabājot pārlūkošanas vēsturi.</translation>
 <translation id="1213037489357051291">Ir iestatīti pirkstu nospiedumi (<ph name="NUM_FINGERPRINTS" />)</translation>
 <translation id="1215411991991485844">Pievienota jauna fona lietotne</translation>
+<translation id="1217483152325416304">Jūsu lokālie dati drīz tiks dzēsti</translation>
 <translation id="1217668622537098248">Pēc darbības atjaunot peles kreisās pogas klikšķa funkciju</translation>
 <translation id="121783623783282548">Paroles neatbilst.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Google atrašanās vietu pakalpojumā tiek izmantoti tādi avoti kā Wi‑Fi un mobilie tīkli, lai palīdzētu noteikt šīs ierīces atrašanās vietu.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Detalizēta informācija: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalēšana nav iespējota</translation>
 <translation id="1483493594462132177">Sūtīt</translation>
+<translation id="1484979925941077974">Vietne izmanto Bluetooth savienojumu</translation>
 <translation id="1485015260175968628">Tagad var:</translation>
 <translation id="1485141095922496924">Versija <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />), <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Meklēt paroles</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Neaktīva)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (sākotnējā)</translation>
+<translation id="1711401317189798723">Šobrīd notiek <ph name="CONTAINER_ID" /> dublējuma izveide</translation>
 <translation id="1712349894969001173">Iegūstiet šo paroli savā iPhone tālrunī</translation>
 <translation id="1712552549805331520">Vietnē <ph name="URL" /> tika pieprasīta atļauja pastāvīgi glabāt datus lokālajā datorā.</translation>
 <translation id="1718835860248848330">Pēdējā stunda</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Mainīt piekļuves opcijas</translation>
 <translation id="1932098463447129402">Nevis pirms</translation>
 <translation id="1933809209549026293">Lūdzu, pievienojiet peli vai tastatūru. Ja izmantojat Bluetooth ierīci, pārliecinieties, ka tā ir gatava savienošanai pārī.</translation>
+<translation id="1937774647013465102">Nevar importēt konteinera arhitektūras veidu <ph name="ARCHITECTURE_CONTAINER" /> ar <ph name="ARCHITECTURE_DEVICE" /> ierīci. Varat mēģināt atjaunot šo konteineru citā ierīcē vai arī piekļūt failiem šī konteinera attēla iekšpusē, atverot lietotni Faili.</translation>
 <translation id="1938351510777341717">Ārējais komandtaustiņš</translation>
 <translation id="1940546824932169984">Pievienotās ierīces</translation>
 <translation id="1944921356641260203">Atrasts atjauninātājs</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Aktivizēt</translation>
 <translation id="2394566832561516196">Iestatījumi tiks notīrīti pēc nākamās atkārtotās ielādes.</translation>
 <translation id="2395616325548404795"><ph name="DEVICE_TYPE" /> ierīce ir sekmīgi reģistrēta uzņēmuma pārvaldībai, taču neizdevās nosūtīt tās līdzekļu un atrašanās vietas informāciju. Lūdzu, manuāli ievadiet šo informāciju, izmantojot šīs ierīces administratora konsoli.</translation>
+<translation id="2396783860772170191">Ievadiet 4 ciparu PIN (0000–9999)</translation>
 <translation id="2408955596600435184">Ievadiet PIN kodu</translation>
 <translation id="241082044617551207">Nezināms spraudnis</translation>
 <translation id="2413749388954403953">Mainīt grāmatzīmju lietotāja saskarni</translation>
+<translation id="241639282915300771">Šobrīd notiek <ph name="CONTAINER_ID" /> atjaunošana</translation>
 <translation id="241727068219398187">Dati tika šifrēti, izmantojot jūsu Google paroli (sinhronizācijas laiks:
           <ph name="TIME" />). Tajā nav iekļauti maksājumu veidi un adreses no pakalpojuma Google Pay.</translation>
 <translation id="2419706071571366386">Drošības nolūkos izrakstieties no datora, kad esat beidzis to lietot.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">Sinhronizācija atspējota</translation>
 <translation id="2540449034743108469">Nospiediet “Sākt”, lai uztvertu paplašinājuma darbības</translation>
 <translation id="2541002089857695151">Vai optimizēt pilnekrāna apraidi?</translation>
+<translation id="2541706104884128042">Jauns naktsmiera laika iestatījums</translation>
 <translation id="2544853746127077729">Tīkls noraidīja autentifikācijas sertifikātu.</translation>
 <translation id="2549985041256363841">Sākt ierakstīšanu</translation>
 <translation id="2550212893339833758">Apmainītā atmiņa</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">Iziet</translation>
 <translation id="2678063897982469759">Atkārtoti iespējot</translation>
 <translation id="268053382412112343">Vēsture</translation>
+<translation id="2682498795777673382">Atjauninājums no vecākiem</translation>
 <translation id="2683638487103917598">Mape ir sakārtota</translation>
 <translation id="2684004000387153598">Lai turpinātu, noklikšķiniet uz “Labi”, pēc tam noklikšķiniet uz “Pievienot personu” vai izveidojiet jaunu profilu savai e-pasta adresei.</translation>
 <translation id="2688196195245426394">Reģistrējot ierīci serverī, radās kļūda: <ph name="CLIENT_ERROR" />.</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">Vēlr&amp;eiz atvērt aizvērto logu</translation>
 <translation id="2731700343119398978">Lūdzu, uzgaidiet...</translation>
 <translation id="2731710757838467317">Notiek jūsu uzraudzītā lietotāja izveide. Šis process var ilgt kādu laiku.</translation>
+<translation id="2731971182069536520">Nākamreiz, kad restartēsiet ierīci, administrators veiks vienreizēju atjauninājumu, kas dzēsīs jūsu lokālos datus.</translation>
 <translation id="2734760316755174687">Vietnes grupā <ph name="SITE_GROUP_NAME" /> arī tiks atiestatītas.</translation>
 <translation id="2735438478659026460">Automātiski noklikšķināt, kad peles kursors apstājas</translation>
 <translation id="2735712963799620190">Grafiks</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">Runas programmas</translation>
 <translation id="3047644958362961983">Šī informācija palīdz mums labāk izprast jūsu problēmu ar Asistentu. Informācija tiek glabāta ne ilgāk par 90 dienām, un piekļuve ir pieejama tikai attiecīgajām inženieru un atsauksmju komandām.</translation>
 <translation id="3053013834507634016">Sertifikāta atslēgas lietošana</translation>
+<translation id="3053273573829329829">Iespējot lietotāja PIN</translation>
 <translation id="3058498974290601450">Jebkurā brīdī varat ieslēgt sinhronizāciju iestatījumos.</translation>
 <translation id="3060379269883947824">Iespējot funkciju “Atlasīt, lai izrunātu”</translation>
 <translation id="3061707000357573562">Ielāpu pakalpojums</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">Vai nu Chrome trūkst atmiņas resursu, vai arī tīmekļa lapas darbība tika pārtraukta kāda cita iemesla dēļ. Lai turpinātu, atkārtoti ielādējiet šo lapu vai atveriet citu.</translation>
 <translation id="3085412380278336437">Vietne var izmantot jūsu kameru.</translation>
 <translation id="3085752524577180175">SOCKS saimniekdators</translation>
+<translation id="3088052000289932193">Vietnē tiek izmantota MIDI ierīce</translation>
 <translation id="3088325635286126843">&amp;Pārdēvēt...</translation>
 <translation id="3089137131053189723">Meklēšana notīrīta</translation>
 <translation id="3090193911106258841">Notiek piekļūšana audio un video ievadei</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">Divpusēja</translation>
 <translation id="3317678681329786349">Kameras un mikrofona lietošana ir bloķēta</translation>
 <translation id="3319048459796106952">Jauns &amp;inkognito logs</translation>
+<translation id="3323521181261657960">Bonuss! Pagarināts izmantošanas ilgums</translation>
 <translation id="3325910708063135066">Kamera un mikrofons ir izslēgti Mac sistēmas preferencēs</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informācija par lietotni</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">Neizdevās nolasīt bezsaistes demonstrācijas režīma politiku.</translation>
 <translation id="3766223500670287046">Attālais ekrāns</translation>
 <translation id="3768037234834996183">Notiek jūsu preferenču sinhronizēšana...</translation>
+<translation id="377050016711188788">Saldējums</translation>
 <translation id="3771294271822695279">Video faili</translation>
 <translation id="3775432569830822555">SSL servera sertifikāts</translation>
 <translation id="3775705724665058594">Sūtīšana uz jūsu ierīcēm</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">Nepareizs rādītājs.</translation>
 <translation id="3870931306085184145">Nav saglabātu paroļu vietnē <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Viszemākais</translation>
+<translation id="3871350334636688135">Pēc 24 stundām jūsu administrators veiks vienreizēju atjauninājumu, kas dzēsīs jūsu lokālos datus, kad restartēsiet ierīci. 24 stundu laikā saglabājiet nepieciešamos lokālos datus mākoņa krātuvē.</translation>
 <translation id="3872220884670338524">Citas darbības, lietotāja <ph name="USERNAME" /> konts domēnā <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Atbrīvojiet diskā vietu; pretējā gadījumā ierīce nereaģēs.</translation>
 <translation id="3873315167136380065">Lai ieslēgtu šo funkciju un noņemtu sinhronizēšanas ieejas frāzi, <ph name="BEGIN_LINK" />atiestatiet sinhronizāciju<ph name="END_LINK" />.</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">No dažām programmām apkopotie dati var tikt zaudēti</translation>
 <translation id="3983586614702900908">ierīces, ko piedāvā nezināms ražotājs</translation>
 <translation id="3984159763196946143">Nevarēja sākt demonstrācijas režīmu</translation>
+<translation id="3984431586879874039">Vai atļaut šai vietnei skatīt jūsu drošības atslēgu?</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>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">Vai atjaunot noklusējuma meklētājprogrammu?</translation>
 <translation id="4099874310852108874">Radās tīkla kļūda.</translation>
 <translation id="4100733287846229632">Ierīces diskā gandrīz nav vietas</translation>
+<translation id="4100853287411968461">Jauns izmantošanas ilguma ierobežojums</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="4107048419833779140">Identificēt un atvienot atmiņas ierīces</translation>
 <translation id="4109135793348361820">Pārvietot logu uz šī lietotāja darbvirsmu: <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Lejupielāde ir pabeigta: <ph name="FILE_NAME" />. Nospiediet taustiņus Shift+F6, lai pārslēgtos uz lejupielāžu joslas zonu.</translation>
 <translation id="4110895898888439383">Pārlūkojiet tīmekli augsta kontrasta režīmā</translation>
-<translation id="4112221174576828331">Ja attēlam nav vērtīga apraksta, pārlūks Chrome jums tādu nodrošinās. Attēlus pārmeklē Google.</translation>
 <translation id="4115002065223188701">Tīkls nav sasniedzams</translation>
 <translation id="4115080753528843955">Dažos satura pakalpojumos tiek izmantoti unikāli identifikatori, lai piešķirtu piekļuvi aizsargātam saturam.</translation>
 <translation id="4118579674665737931">Lūdzu, atkārtoti palaidiet ierīci un mēģiniet vēlreiz.</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">Fails nav pilnībā lejupielādēts</translation>
 <translation id="4325237902968425115">Notiek lietotnes <ph name="LINUX_APP_NAME" /> atinstalēšana...</translation>
 <translation id="4328203388435897516">Kad Chromebook dators ir iestatīts, nospiediet Asistenta pogu vai pasakiet “Ok Google”, lai jebkurā brīdī saņemtu palīdzību. Lai veiktu izmaiņas, pārejiet uz Asistenta iestatījumiem.</translation>
+<translation id="4330191372652740264">Ūdens ar ledu</translation>
 <translation id="4330387663455830245">Nekad netulkot šo valodu: <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 ar RSA šifrējumu</translation>
 <translation id="4336979451636460645">Informāciju par tīkla žurnāliem skatiet šeit: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">Bucefals</translation>
 <translation id="4387004326333427325">Autentifikācijas sertifikāts tika attāli noraidīts.</translation>
 <translation id="4389091756366370506">Lietotājs <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Inkognito režīms}zero{# atvērti inkognito režīma logi}one{# atvērts inkognito režīma logs}other{# atvērti inkognito režīma logi}}</translation>
 <translation id="439266289085815679">Bluetooth konfigurāciju kontrolē <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Atspējot</translation>
 <translation id="4400367121200150367">Šeit tiks parādītas vietnes, kurās nekad netiek saglabātas paroles.</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">Pirms kādas personas pievienošanas, lūdzu, atbloķējiet savu profilu.</translation>
 <translation id="4651484272688821107">Neizdevās ielādēt bezsaistes komponentu ar demonstrācijas režīma resursiem.</translation>
 <translation id="465878909996028221">Pārlūkprogrammas novirzīšanai tiek atbalstīti tikai http, https un failu protokoli.</translation>
+<translation id="4659077111144409915">Primārais konts</translation>
 <translation id="4660476621274971848">Paredzētā versija bija <ph name="EXPECTED_VERSION" />, bet faktiskā versija bija <ph name="NEW_ID" />.</translation>
 <translation id="4662788913887017617">Kopīgojiet šo grāmatzīmi ar savu iPhone tālruni</translation>
 <translation id="4663373278480897665">Kameras lietošana ir atļauta</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">Mainīta partnerība</translation>
 <translation id="4725511304875193254">Korgijs</translation>
 <translation id="4726710629007580002">Mēģinot instalēt šo paplašinājumu, tika parādīti brīdinājumi:</translation>
+<translation id="4727847987444062305">Pārvaldīta viesa sesija</translation>
 <translation id="4728558894243024398">Platforma</translation>
 <translation id="4733082559415072992">Vietnē <ph name="URL" /> tiek pieprasīta atļauja izmantot jūsu ierīces atrašanās vietu.</translation>
 <translation id="4733793249294335256">Atrašanās vieta</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">Rādīt detaļas</translation>
 <translation id="4890773143211625964">Rādīt printera papildiespējas</translation>
 <translation id="4891089016822695758">Beta versijas forums</translation>
+<translation id="4892229439761351791">Vietne var izmantot Bluetooth savienojumu</translation>
 <translation id="4893336867552636863">Veicot šo darbību, no šīs ierīces tiks neatgriezeniski izdzēsti jūsu pārlūkošanas dati.</translation>
 <translation id="4893522937062257019">Bloķēšanas ekrānā</translation>
 <translation id="4898011734382862273">Sertifikāts “<ph name="CERTIFICATE_NAME" />” norāda sertifikāta izdevējiestādi.</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">Šobrīd esat pierakstījies pakalpojumā <ph name="SHORT_PRODUCT_NAME" />. Jūsu grāmatzīmes, vēsture un citi iestatījumi tiek sinhronizēti ar jūsu Google kontu.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vēlas lejupielādēt vairākus failus</translation>
+<translation id="5192316339598592690">Ērti pārslēdziet kontus un pierakstieties lietotnēs un vietnēs vienuviet.
+    Lietotnēs un vietnēs var tikt lūgta jūsu atļauja izmantot daļu jūsu Google konta informācijas. <ph name="LINK_BEGIN" />Uzziniet vairāk<ph name="LINK_END" />.</translation>
 <translation id="5204673965307125349">Lūdzu, izpildiet ierīcei funkciju Powerwash un mēģiniet vēlreiz.</translation>
 <translation id="5204967432542742771">Ievadiet paroli</translation>
 <translation id="5206215183583316675">Vai dzēst “<ph name="CERTIFICATE_NAME" />”?</translation>
@@ -3515,6 +3539,7 @@
 <translation id="6547354035488017500">Atbrīvojiet vismaz 512 MB vietas ierīcē, pretējā gadījumā tā nereaģēs. Lai atbrīvotu vietu, izdzēsiet failus no ierīces krātuves.</translation>
 <translation id="6550675742724504774">Opcijas</translation>
 <translation id="6551508934388063976">Komanda nav pieejama. Nospiediet taustiņu kombināciju Control-N, lai atvērtu jaunu logu.</translation>
+<translation id="6551612971599078809">Vietnē tiek izmantota USB ierīce</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> lietotāji</translation>
 <translation id="655483977608336153">Mēģināt vēlreiz</translation>
 <translation id="6555432686520421228">Noņemiet visus lietotāju kontus un atiestatiet savu <ph name="IDS_SHORT_PRODUCT_NAME" /> ierīci, lai izmantotu sākotnējos rūpnīcas iestatījumus.</translation>
@@ -3739,6 +3764,7 @@
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> neizdevās atvērt</translation>
 <translation id="6921709132208495314">Pārtraukt resursu ielādi šajā lapā</translation>
 <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="6922745772873733498">Ievadiet PIN, lai drukātu</translation>
 <translation id="6923132443355966645">Ritināt/klikšķināt</translation>
 <translation id="6923633482430812883">Iekļaujot kopīgošanu, radās kļūda. Pārbaudiet, vai failu serveris, ar kuru veidojat savienojumu, atbalsta failu kopīgošanu SMBv2 vai jaunāku versiju.</translation>
 <translation id="6930036377490597025">Ārējā drošības atslēga vai iebūvēts sensors</translation>
@@ -3793,6 +3819,7 @@
 <translation id="7003339318920871147">Tīmekļa datu bāzes</translation>
 <translation id="7003723821785740825">Iestatiet ātrāku ierīces atbloķēšanas veidu</translation>
 <translation id="7003844668372540529">Nezināms produkts (ID: <ph name="PRODUCT_ID" />), ko piedāvā <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Vietnē var izmantot MIDI ierīci</translation>
 <translation id="7004499039102548441">Nesen atvērtas cilnes</translation>
 <translation id="7005848115657603926">Nederīgs lappušu diapazons; izmantojiet <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Apakšējā piemale</translation>
@@ -3805,9 +3832,11 @@
 <translation id="7017480957358237747">ļaut vai aizliegt noteiktas vietnes;</translation>
 <translation id="7018275672629230621">Lasīt un mainīt jūsu pārlūkošanas vēsturi</translation>
 <translation id="7019805045859631636">Ātrs</translation>
+<translation id="702252130983202758">Jūsu lietotnes</translation>
 <translation id="7022562585984256452">Jūsu sākumlapa ir iestatīta.</translation>
 <translation id="7025190659207909717">Mobilo datu pakalpojumu pārvaldība</translation>
 <translation id="7029809446516969842">Paroles</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> — Seriālais ports pievienots</translation>
 <translation id="7031962166228839643">Notiek TPM sagatavošana. Lūdzu, uzgaidiet (tas var aizņemt dažas minūtes)...</translation>
 <translation id="7037509989619051237">Teksta priekšskatījums</translation>
 <translation id="7039326228527141150">Piekļūt USB ierīcēm, ko piedāvā <ph name="VENDOR_NAME" /></translation>
@@ -3832,6 +3861,7 @@
 <translation id="706626672220389329">Iekļaujot kopīgošanu, radās kļūda. Norādītais kopīgošanas vienums jau ir iekļauts.</translation>
 <translation id="7066944511817949584">Neizdevās izveidot savienojumu ar ierīci <ph name="DEVICE_NAME" />.</translation>
 <translation id="7067725467529581407">Nekad vairs nerādīt šo informāciju.</translation>
+<translation id="7069811530847688087">Vietnei <ph name="WEBSITE" /> var būt nepieciešama jaunāka vai cita veida drošības atslēga</translation>
 <translation id="7070484045139057854">Tas var nolasīt un mainīt vietnes datus</translation>
 <translation id="7072010813301522126">Saīsnes nosaukums</translation>
 <translation id="707392107419594760">Atlasiet savu tastatūru:</translation>
@@ -3912,6 +3942,7 @@
 <translation id="7189234443051076392">Ierīcē ir jābūt pietiekami daudz vietas.</translation>
 <translation id="7189965711416741966">Pirksta nospiedums tika pievienots.</translation>
 <translation id="7191159667348037">Nezināms printeris (USB)</translation>
+<translation id="7193051357671784796">Šo lietotni pievienoja jūsu organizācija. Lai pabeigtu instalēšanu, restartējiet lietotni.</translation>
 <translation id="7193374945610105795">Vietnei <ph name="ORIGIN" /> nav saglabāta neviena parole</translation>
 <translation id="7196913789568937443">Dublējiet Google diskā. Ērti atjaunojiet datus vai nomainiet ierīci jebkurā brīdī. Dublējumā ir ietverti arī lietotņu dati. Jūsu dublējumi tiek augšupielādēti Google serveros un šifrēti, izmantojot jūsu Google konta paroli. <ph name="BEGIN_LINK1" />Uzziniet vairāk.<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Iegūstiet iespēju izmantot Google meklēšanu un Google viedās tehnoloģijas katrā pārlūkošanas reizē</translation>
@@ -4333,6 +4364,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Piezīme.<ph name="END_BOLD" /> Procesa laikā sistēma tiks atkārtoti palaista.</translation>
 <translation id="7829298379596169484">Notiek piekļūšana audio ievadei</translation>
+<translation id="7830594666202422257">Izveidot savienojumu ar Linux</translation>
 <translation id="7831491651892296503">Tīkla konfigurācijas kļūda</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Beigu laiks</translation>
@@ -4362,6 +4394,7 @@
 <translation id="7877451762676714207">Nezināma servera kļūda. Mēģiniet vēlreiz vai sazinieties ar servera administratoru.</translation>
 <translation id="7877680364634660272">Ceļvedis</translation>
 <translation id="7878562273885520351">Iespējams, jūsu parole ir apdraudēta</translation>
+<translation id="7880823633812189969">Lokālie dati tiks dzēsti, kad veiksiet restartēšanu</translation>
 <translation id="7881483672146086348">Skatīt kontu</translation>
 <translation id="7882358943899516840">Pakalpojumu sniedzēja veids</translation>
 <translation id="7885253890047913815">Nesenie printeri</translation>
@@ -4457,6 +4490,7 @@
 <translation id="8008356846765065031">Internets atvienots. Pārbaudiet interneta savienojumu.</translation>
 <translation id="8009225694047762179">Pārvaldīt paroles</translation>
 <translation id="8012382203418782830">Šī lapa ir tulkota.</translation>
+<translation id="8013993649590906847">Ja attēlam nav vērtīga apraksta, pārlūks Chrome mēģinās jums tādu nodrošināt. Lai izveidotu aprakstus, attēli tiek nosūtīti uzņēmumam Google.</translation>
 <translation id="8014154204619229810">Pašlaik darbojas atjauninātājs. Pēc brīža atsvaidziniet, lai pārbaudītu vēlreiz.</translation>
 <translation id="8014206674403687691">Nevar atjaunot iepriekš instalēto <ph name="IDS_SHORT_PRODUCT_NAME" /> versiju. Lūdzu, vēlreiz mēģiniet aktivizēt ierīcē funkciju Powerwash.</translation>
 <translation id="8014210335923519270">Uzlabojiet pārlūku <ph name="IDS_SHORT_PRODUCT_NAME" /> un tā drošību, nosūtot sistēmas informāciju un lietojuma datus Google serveriem.</translation>
@@ -4701,6 +4735,7 @@
 <translation id="8426713856918551002">Notiek iespējošana</translation>
 <translation id="8427292751741042100">iegulta jebkurā vietnē</translation>
 <translation id="8428213095426709021">Iestatījumi</translation>
+<translation id="8428628598981198790">Jūsu drošības atslēgu nevar izmantot ar šo vietni</translation>
 <translation id="84297032718407999">Jūs tiksiet izrakstīts pēc šāda laika: <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Pieskārienu rādīšana</translation>
 <translation id="8431909052837336408">SIM kartes PIN mainīšana</translation>
@@ -4905,6 +4940,7 @@
 <translation id="8732212173949624846">Skatīt un mainīt jūsu pārlūkošanas vēsturi visās ierīcēs, kurās esat pierakstījies</translation>
 <translation id="8732844209475700754">Citi iestatījumi, kas saistīti ar konfidencialitāti, drošību un datu apkopošanu</translation>
 <translation id="8734073480934656039">Iespējojot šo iestatījumu, startēšanas laikā kioska lietojumprogrammas tiek palaistas automātiski.</translation>
+<translation id="8734671092194994316">Tādējādi drošības atslēgā tiks reģistrēts jūsu apmeklējums vietnē <ph name="WEBSITE" />.</translation>
 <translation id="873545264931343897">Kad beigsies spraudņa <ph name="PLUGIN_NAME" /> atjaunināšana, atkārtoti ielādējiet lapu, lai aktivizētu spraudni</translation>
 <translation id="8736288397686080465">Šī vietne tika atjaunināta fonā.</translation>
 <translation id="8737685506611670901">atvērt <ph name="PROTOCOL" /> saites, nevis <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5003,6 +5039,7 @@
 <translation id="8877448029301136595">[vecāku direktorija]</translation>
 <translation id="8879284080359814990">Rādīt kā &amp;cilni</translation>
 <translation id="8883847527783433352">Sinhronizēt ar citu kontu</translation>
+<translation id="8884570509232205463">Tagad jūsu ierīce tiks bloķēta plkst. <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Smart Lock nav pieejams</translation>
 <translation id="8888253246822647887">Lietotne tiks atvērta, kad jaunināšana būs pabeigta. Jaunināšana var ilgt vairākas minūtes.</translation>
 <translation id="8888432776533519951">Krāsa:</translation>
@@ -5027,7 +5064,6 @@
 <translation id="891365694296252935">Lietojuma un diagnostikas datu sūtīšana. Pašlaik dati par šo ierīci un ierīces diagnostikas un lietotņu lietojuma dati tiek automātiski sūtīti uzņēmumam Google. Šī informācija netiks izmantota jūsu bērna identificēšanai, un tā palīdzēs uzlabot sistēmas un lietotņu stabilitāti un daudz ko citu. Noteiktus apkopotus datus izmantos arī Google lietotņu izstrādātāji un partneri, piemēram, Android izstrādātāji. Šo iestatījumu ir noteicis īpašnieks. Ja jūsu bērnam ir ieslēgts papildu iestatījums “Darbības tīmeklī un lietotnēs”, šie dati var tikt saglabāti bērna Google kontā. <ph name="BEGIN_LINK1" />Uzzināt vairāk<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Notiek ieteikumu ielāde...</translation>
 <translation id="8916476537757519021">Inkognito apakšrāmis: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Jā, piekrītu</translation>
 <translation id="8919275547519617350">Lai paroles būtu pieejamas visās jūsu ierīcēs, pierakstieties un ieslēdziet sinhronizēšanu.</translation>
 <translation id="8921366488406707015">Notiek drošības atslēgas pārbaude...</translation>
 <translation id="8922013791253848639">Vienmēr atļaut reklāmu rādīšanu šajā vietnē</translation>
@@ -5096,6 +5132,7 @@
 <translation id="9026852570893462412">Šis process var ilgt dažas minūtes. Notiek virtuālās mašīnas lejupielāde.</translation>
 <translation id="9027459031423301635">Atvēr&amp;t saiti jaunā cilnē</translation>
 <translation id="9030515284705930323">Jūsu organizācija nav iespējojusi Google Play veikalu jūsu kontam. Sazinieties ar administratoru, lai saņemtu plašāku informāciju.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Ielīmēt</translation>
 <translation id="9037965129289936994">Rādīt sākotnējo tekstu</translation>
 <translation id="9038649477754266430">Ieteikumu pakalpojuma izmantošana ātrākai lapu ielādei</translation>
@@ -5125,7 +5162,6 @@
 <translation id="9065203028668620118">Labot</translation>
 <translation id="9066773882585798925">Noklausīties tekstu</translation>
 <translation id="9066782832737749352">Teksta pārvēršana runā</translation>
-<translation id="907264006778172906">Piešķiriet operētājsistēmai Linux atļauju piekļūt USB ierīcēm. Pēc USB ierīces noņemšanas operētājsistēmā Linux netiks saglabāti šīs ierīces dati.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB pele ir pievienota.</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 4fdb9a0..e13c675 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -2001,7 +2001,6 @@
 <translation id="4109135793348361820">വിൻഡോ <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) എന്നതിലേക്ക് നീക്കുക</translation>
 <translation id="4110490973560452005">ഡൗൺലോഡ് പൂർത്തിയായി: <ph name="FILE_NAME" />. ഡൗണ്‍ലോഡ് വിവരങ്ങളുടെ ബാര്‍ ഏരിയയിലേക്ക് പോകാൻ, Shift+F6 അമർത്തുക.</translation>
 <translation id="4110895898888439383">ഉയർന്ന ദൃശ്യതീവ്രതാ മോഡിൽ വെബ് ബ്രൗസ് ചെയ്യുക</translation>
-<translation id="4112221174576828331">ചിത്രത്തിൽ ഉപകാരപ്രദമായ വിവരണമില്ലെങ്കിൽ നിങ്ങൾക്കായി Chrome വിവരണം നൽകും. ചിത്രങ്ങൾ Google സ്‌കാൻ ചെയ്യുന്നു.</translation>
 <translation id="4115002065223188701">നെറ്റ്‌വർക്ക് പരിധിക്ക് പുറത്താണ്</translation>
 <translation id="4115080753528843955">പരിരക്ഷിതമായ ഉള്ളടക്കത്തിലേക്ക് ആക്‌സസ് അനുവദിക്കുന്നതിന് ചില ഉള്ളടക്ക സേവനങ്ങൾ തനതായ ഐഡന്‍റിഫയറുകൾ ഉപയോഗിക്കുന്നു</translation>
 <translation id="4118579674665737931">ഉപകരണം റീബൂട്ട് ചെയ്‌ത ശേഷം വീണ്ടും ശ്രമിക്കുക.</translation>
@@ -4457,6 +4456,7 @@
 <translation id="8008356846765065031">ഇന്റർനെറ്റ് വിച്ഛേദിച്ചു. നിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷൻ പരിശോധിക്കുക.</translation>
 <translation id="8009225694047762179">പാസ്‌വേഡുകൾ മാനേജ് ചെയ്യുക</translation>
 <translation id="8012382203418782830">ഈ പേജ് വിവർത്തനം ചെയ്‌തു.</translation>
+<translation id="8013993649590906847">ചിത്രത്തിൽ ഉപകാരപ്രദമായ വിവരണമില്ലെങ്കിൽ നിങ്ങൾക്കായി ഒരു വിവരണം നൽകാൻ Chrome ശ്രമിക്കും. വിവരണങ്ങൾ സൃഷ്‌ടിക്കാൻ, ചിത്രങ്ങൾ Google-ലേക്ക് അയയ്ക്കുന്നു.</translation>
 <translation id="8014154204619229810">അപ്‌ഡേറ്റർ നിലവിൽ പ്രവർത്തിക്കുന്നുണ്ട്. വീണ്ടും പരിശോധിക്കാൻ ഒരു മിനിറ്റിനുള്ളിൽ പുതുക്കുക.</translation>
 <translation id="8014206674403687691">മുമ്പ് ഇൻസ്റ്റാളുചെയ്‌ത പതിപ്പിലേക്ക് <ph name="IDS_SHORT_PRODUCT_NAME" /> എന്നത് പഴയപടിയാക്കാനായില്ല. നിങ്ങളുടെ ഉപകരണം പവർവാഷുചെയ്യാൻ വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="8014210335923519270">സിസ്‌റ്റം വിവരവും ഉപയോഗവും Google-ന് അയച്ച്, <ph name="IDS_SHORT_PRODUCT_NAME" />-ഉം അതിൻ്റെ സുരക്ഷയും മെച്ചപ്പെടുത്തുക</translation>
@@ -5025,7 +5025,6 @@
 <translation id="891365694296252935">ഉപയോഗവും പ്രശ്‌നനിർണ്ണയവുമായി ബന്ധപ്പെട്ട ഡാറ്റ അയയ്ക്കുക. പ്രശ്‌നനിർണ്ണയം, ഉപകരണം, ആപ്പ് ഉപയോഗം എന്നിവയുമായി ബന്ധപ്പെട്ട ഡാറ്റ, ഈ ഉപകരണം നിലവിൽ സ്വയമേവ Google-ന് അയയ്ക്കുന്നുണ്ട്. നിങ്ങളുടെ കുട്ടിയെ തിരിച്ചറിയാൻ ഇത് ഉപയോഗിക്കില്ല, സിസ്‌റ്റം, ആപ്പ് സ്ഥിരത, മറ്റ് മെച്ചപ്പെടുത്തൽ എന്നിവയ്ക്ക് സഹായിക്കുകയും ചെയ്യും. ചില സംഗ്രഹ ഡാറ്റ, Google ആപ്പുകളെയും Android ഡെവലപ്പർമാരെപ്പോലുള്ള പങ്കാളികളെയും സഹായിക്കുകയും ചെയ്യും. ഈ ക്രമീകരണം നടപ്പിലാക്കുന്നത് ഉടമയാണ്. കുട്ടിയുടെ അധിക വെബ്, ആപ്പ് ആക്‌റ്റിവിറ്റി ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, ഈ ഡാറ്റ അവരുടെ Google അക്കൗണ്ടിൽ സംരക്ഷിക്കപ്പെട്ടേക്കാം. <ph name="BEGIN_LINK1" />കൂടുതലറിയുക<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">നിർദ്ദേശം ലോഡുചെയ്യുന്നു</translation>
 <translation id="8916476537757519021">ആൾമാറാട്ട സബ്‌ഫ്രെയിം: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">അതെ, ഞാൻ തയ്യാറാണ്</translation>
 <translation id="8919275547519617350">നിങ്ങളുടെ എല്ലാ പാസ്‌വേഡുകളും മുഴുവൻ ഉപകരണങ്ങളിലും ലഭിക്കാൻ സൈൻ ഇൻ ചെയ്ത് സമന്വയിപ്പിക്കൽ ഓണാക്കുക.</translation>
 <translation id="8921366488406707015">നിങ്ങളുടെ സുരക്ഷാ കീ പരിശോധിച്ചുറപ്പിക്കുന്നു...</translation>
 <translation id="8922013791253848639">ഈ സൈറ്റിൽ എല്ലായ്‌പ്പോഴും പരസ്യങ്ങൾ അനുവദിക്കുക</translation>
@@ -5123,7 +5122,6 @@
 <translation id="9065203028668620118">എഡിറ്റുചെയ്യുക</translation>
 <translation id="9066773882585798925">ടെക്‌സ്‌റ്റ് ഉച്ചത്തിൽ വായിച്ച് കേൾപ്പിക്കുക</translation>
 <translation id="9066782832737749352">ടെക്‌സ്‌റ്റ്-ടു-സ്‌പീച്ച്</translation>
-<translation id="907264006778172906">USB ഉപകരണങ്ങൾ ആക്‌സസ് ചെയ്യാൻ Linux-ന് അനുമതി നൽകുക. USB ഉപകരണം നീക്കം ചെയ്‌തുകഴിഞ്ഞാൽ Linux അത് ഓർക്കില്ല.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB മൗസ് കണക്‌റ്റുചെയ്‌തു</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index e72c31d0..8cd381c2 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -63,7 +63,7 @@
 <translation id="1084824384139382525">दुवा प&amp;त्ता कॉपी करा</translation>
 <translation id="1085697365578766383">व्हर्च्युअल मशीन सुरू करताना एरर आली. कृपया पुन्हा प्रयत्न करा.</translation>
 <translation id="1089439967362294234">पासवर्ड बदला</translation>
-<translation id="1090126737595388931">कोणतेही पार्श्वभूमी अॅप्लिकेशन चालत नाहीत</translation>
+<translation id="1090126737595388931">कोणतेही पार्श्वभूमी ॲप्लिकेशन चालत नाहीत</translation>
 <translation id="1090918500949388876">तुमची स्क्रीन सुरू असताना कधीही "Ok Google" म्हणून तुमचा असिस्टंट अॅक्सेस करा</translation>
 <translation id="1091767800771861448">वगळण्यासाठी ESCAPE दाबा (केवळ अनाधिकृत बिल्डसाठी).</translation>
 <translation id="1093457606523402488">दृश्यमान नेटवर्क:</translation>
@@ -147,7 +147,7 @@
 <translation id="1209796539517632982">स्वयंचलित नाव सर्व्हर</translation>
 <translation id="1211364473545090084">गुप्त विंडोसह तुमचा ब्राउझ करण्याचा इतिहास सेव्ह न करता वेब वापरा</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> फिंगरप्रिंट सेट केले</translation>
-<translation id="1215411991991485844">नवीन पार्श्वभूमी अॅप्लिकेशन जोडला</translation>
+<translation id="1215411991991485844">नवीन पार्श्वभूमी ॲप्लिकेशन जोडला</translation>
 <translation id="1217668622537098248">क्रिया केल्यानंतर डाव्या क्लिकवर परत जा</translation>
 <translation id="121783623783282548">पासवर्ड जुळत नाहीत.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />या डिव्हाइसच्या स्थानाचा अंदाज लावण्यात मदत करण्यासाठी, Google ची स्थान सेवा वाय-फाय, मोबाइल नेटवर्क आणि सेंसरसारख्या स्रोतांचा वापर करते.<ph name="END_PARAGRAPH1" />
@@ -488,7 +488,7 @@
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Chrome वेब स्टोअरमध्ये पहा</translation>
 <translation id="176193854664720708">फिंगरप्रिंट सेन्सर पॉवर बटणात आहे. कोणत्याही बोटाने हळूवारपणे स्पर्श करा.</translation>
-<translation id="1763046204212875858">अॅप्लिकेशन शॉर्टकट तयार करा</translation>
+<translation id="1763046204212875858">ॲप्लिकेशन शॉर्टकट तयार करा</translation>
 <translation id="1763108912552529023">एक्सप्लोर करत रहा</translation>
 <translation id="1763808908432309942">नवीन टॅबमध्ये उघडते</translation>
 <translation id="1764226536771329714">बीटा</translation>
@@ -813,7 +813,7 @@
 <translation id="2270450558902169558"><ph name="DOMAIN" /> डोमेनमध्ये कोणत्याही डिव्हाइससह डेटा अदलाबदल करा</translation>
 <translation id="2270627217422354837">डोमेनमध्ये कोणत्याही डिव्हाइससह डेटा अदलाबदल करा: <ph name="DOMAINS" /></translation>
 <translation id="2272570998639520080">मार्टिनी ग्लास</translation>
-<translation id="2276503375879033601">अधिक अॅप्लिकेशन जोडा</translation>
+<translation id="2276503375879033601">अधिक ॲप्लिकेशन जोडा</translation>
 <translation id="2277255602909579701">सर्व कुकीज आणि साइट डेटा</translation>
 <translation id="2277769717710009150">{COUNT,plural, =1{1 आयटम कॉपी केला}one{# आयटम कॉपी केला}other{# आयटम कॉपी केले}}</translation>
 <translation id="2278562042389100163">ब्राउझर विंडो उघडा</translation>
@@ -858,7 +858,7 @@
 <translation id="2345723121311404059">1 पेज <ph name="PRINTER_NAME" />वर</translation>
 <translation id="2347644257713614136">Hangouts आणि Cast for Education चा वापर Google गोपनीयता धोरण संचालित करते.</translation>
 <translation id="2348176352564285430">ॲप: <ph name="ARC_PROCESS_NAME" /></translation>
-<translation id="2350182423316644347">अॅप्लिकेशन सुरू करत आहे...</translation>
+<translation id="2350182423316644347">ॲप्लिकेशन सुरू करत आहे...</translation>
 <translation id="2350796302381711542"><ph name="HANDLER_HOSTNAME" /> ला <ph name="REPLACED_HANDLER_TITLE" /> ऐवजी सर्व <ph name="PROTOCOL" /> लिंक उघडण्यासाठी अनुमती द्यायची?</translation>
 <translation id="2351266942280602854">भाषा आणि इनपुट</translation>
 <translation id="2352662711729498748">&lt; 1 MB</translation>
@@ -972,7 +972,7 @@
 <translation id="252219247728877310">घटक अद्ययावत केला नाही</translation>
 <translation id="2522791476825452208">अगदी जवळ</translation>
 <translation id="2523184218357549926">तुम्ही भेट दिलेल्या पेजच्या URL Google ला पाठवते</translation>
-<translation id="2525250408503682495">Kryptonite! कियोस्क अॅप्ससाठी cryptohome माउंट केले जाऊ शकले नाही.</translation>
+<translation id="2525250408503682495">Kryptonite! कियोस्क ॲप्ससाठी cryptohome माउंट केले जाऊ शकले नाही.</translation>
 <translation id="2526277209479171883">इंस्टॉल करा आणि सुरू ठेवा</translation>
 <translation id="2526590354069164005">डेस्कटॉप</translation>
 <translation id="2526619973349913024">अपडेटसाठी तपासा</translation>
@@ -1044,7 +1044,7 @@
 <translation id="2633764681656412085">FIDO</translation>
 <translation id="2635094637295383009">Twitter</translation>
 <translation id="2635276683026132559">साइन करत आहे</translation>
-<translation id="2636625531157955190">Chrome इमेज अॅक्सेस करू शकत नाही.</translation>
+<translation id="2636625531157955190">Chrome इमेज ॲक्सेस करू शकत नाही.</translation>
 <translation id="2637400434494156704">चुकीचा पिन. तुमच्याकडे एक प्रयत्न शिल्लक आहे.</translation>
 <translation id="2638087589890736295">संकालन प्रारंभ करण्यासाठी सांकेतिक वाक्यांश आवश्यक आहे</translation>
 <translation id="2642111877055905627">सॉकर बॉल</translation>
@@ -1159,7 +1159,7 @@
 <translation id="2804043232879091219">पर्यायी ब्राउझर उघडता आला नाही</translation>
 <translation id="2804680522274557040">कॅमेरा बंद केला आहे</translation>
 <translation id="2805646850212350655">Microsoft Encrypting File System</translation>
-<translation id="2805756323405976993">अॅप्लिकेशन</translation>
+<translation id="2805756323405976993">ॲप्लिकेशन</translation>
 <translation id="2806891468525657116">शॉर्टकट आधीच अस्तित्वात आहे</translation>
 <translation id="2807517655263062534">तुम्ही डाउनलोड केलेल्या फायली येथे दिसतात</translation>
 <translation id="2809586584051668049">आणि <ph name="NUMBER_ADDITIONAL_DISABLED" /> अधिक</translation>
@@ -1494,7 +1494,7 @@
 <translation id="3368922792935385530">कनेक्ट केले</translation>
 <translation id="3369624026883419694">होस्टचे निराकरण करीत आहे...</translation>
 <translation id="3371140690572404006">USB-C डिव्‍हाइस (उजव्‍या बाजूचे पुढील पोर्ट)</translation>
-<translation id="337286756654493126">अॅप्समध्ये तुम्ही उघडता ती फोल्डर वाचा</translation>
+<translation id="337286756654493126">ॲप्समध्ये तुम्ही उघडता ती फोल्डर वाचा</translation>
 <translation id="3378503599595235699">तुम्ही तुमचा ब्राउझर सोडेपर्यंत फक्त स्थानिक डेटा ठेवा</translation>
 <translation id="3378572629723696641">हा विस्तार दूषित झालेला असू शकतो.</translation>
 <translation id="337920581046691015"><ph name="PRODUCT_NAME" /> इंस्टॉल केले जाईल.</translation>
@@ -1703,7 +1703,7 @@
 <translation id="3683023058278427253">आम्ही तुमच्या डोमेनसाठी असलेले एकाधिक परवाने प्रकार शोधले आहेत. कृपया सुरू ठेवण्यासाठी एक निवडा.</translation>
 <translation id="3683524264665795342"><ph name="APP_NAME" /> स्क्रीन सामायिकरण विनंती</translation>
 <translation id="368789413795732264">ही फाइल राइट करण्याचा प्रयत्न करताना एखादी एरर आली:<ph name="ERROR_TEXT" />.</translation>
-<translation id="3688507211863392146">तुम्ही अॅप्समध्ये उघडता त्या फायलींमध्ये आणि फोल्डरमध्ये लिहा</translation>
+<translation id="3688507211863392146">तुम्ही ॲप्समध्ये उघडता त्या फायलींमध्ये आणि फोल्डरमध्ये लिहा</translation>
 <translation id="3688526734140524629">चॅनेल बदला</translation>
 <translation id="3688578402379768763">अद्ययावत</translation>
 <translation id="3691231116639905343">कीबोर्ड अॅप्स</translation>
@@ -1711,7 +1711,7 @@
 <translation id="3693415264595406141">पासवर्ड:</translation>
 <translation id="3694027410380121301">मागील टॅब निवडा</translation>
 <translation id="369489984217678710">पासवर्ड आणि इतर साइन इन डेटा</translation>
-<translation id="3699624789011381381">ईमेल अॅड्रेस</translation>
+<translation id="3699624789011381381">ईमेल ॲड्रेस</translation>
 <translation id="3699920817649120894">सिंक करणे आणि पर्सनलाइझेशन बंद करायचे आहे का?</translation>
 <translation id="3700888195348409686">सादर करत आहे (<ph name="PAGE_ORIGIN" />)</translation>
 <translation id="3702500414347826004"><ph name="URL" /> समाविष्‍ट करण्‍यासाठी तुमची प्रारंभ पृष्‍ठे बदलली.</translation>
@@ -1966,7 +1966,7 @@
 <translation id="4058647953897694817">ब्लूटूथ वापरून पडताळणी करा</translation>
 <translation id="4058720513957747556">AppSocket (TCP/IP)</translation>
 <translation id="4058793769387728514">त्वरित दस्तऐवज तपासा</translation>
-<translation id="406070391919917862">पार्श्वभूमी अॅप्लिकेशन</translation>
+<translation id="406070391919917862">पार्श्वभूमी ॲप्लिकेशन</translation>
 <translation id="4065876735068446555">तुम्ही वापरत असलेल्या (<ph name="NETWORK_ID" />) नेटवर्कला त्याच्या लॉग इन पृष्ठास भेट देण्याची आवश्यकता असू शकते.</translation>
 <translation id="4068506536726151626">या पेजवर तुमचे स्थान ट्रॅक करणार्‍या खालील साइटवरील घटक समाविष्ट आहेत:</translation>
 <translation id="4068776064906523561">फिंगरप्रिंट सेव्ह केले</translation>
@@ -2004,7 +2004,6 @@
 <translation id="4109135793348361820"><ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) वर विंडो हलवा</translation>
 <translation id="4110490973560452005">डाउनलोड पूर्ण: <ph name="FILE_NAME" />. डाउनलोड बार भागाकडे जाण्यासाठी Shift+F6 दाबा.</translation>
 <translation id="4110895898888439383">उच्च कॉन्ट्रास्ट मोडमध्ये वेब ब्राउझ करा</translation>
-<translation id="4112221174576828331">इमेजमध्ये उपयोगी वर्णन नसल्यास, Chrome तुम्हाला ते देईल. Google द्वारे इमेज स्कॅन केल्या जातात.</translation>
 <translation id="4115002065223188701">नेटवर्क रेंजमध्‍ये नाही</translation>
 <translation id="4115080753528843955">काही सामग्री सेवा संरक्षित सामग्रीवर अधिकृत प्रवेशासाठी अद्वितीय अभिज्ञापक वापरतात</translation>
 <translation id="4118579674665737931">कृपया डिव्हाइस रीबूट करा आणि पुन्हा प्रयत्न करा.</translation>
@@ -2201,7 +2200,7 @@
 <translation id="4476590490540813026">व्यायामपटू</translation>
 <translation id="4477015793815781985">Ctrl, Alt किंवा ⌘ चा समावेश करा</translation>
 <translation id="4478664379124702289">या फॉरमॅटमध्ये लिंक सेव्ह करा...</translation>
-<translation id="4479424953165245642">कियोस्क अॅप्लिकेशन व्यवस्थापित करा</translation>
+<translation id="4479424953165245642">कियोस्क ॲप्लिकेशन व्यवस्थापित करा</translation>
 <translation id="4479639480957787382">इथरनेट</translation>
 <translation id="4480590691557335796">Chrome तुम्हाला काँप्युटरवरील नुकसानकारक सॉफ्टवेअर शोधू शकते आणि ते काढू शकते</translation>
 <translation id="4481530544597605423">जोडणी वेगळी केलेली डिव्हाइस</translation>
@@ -2660,7 +2659,7 @@
 <translation id="5242724311594467048">"<ph name="EXTENSION_NAME" />" सक्षम करायचे?</translation>
 <translation id="5243522832766285132">कृपया थोड्या वेळानंतर पुन्हा प्रयत्न करा</translation>
 <translation id="5244474230056479698"><ph name="EMAIL" /> वर संकालित करीत आहे</translation>
-<translation id="5246282308050205996"><ph name="APP_NAME" /> क्रॅश झाला आहे. अॅप्लिकेशन रीस्टार्ट करण्यासाठी या फुग्यावर क्लिक करा.</translation>
+<translation id="5246282308050205996"><ph name="APP_NAME" /> क्रॅश झाला आहे. ॲप्लिकेशन रीस्टार्ट करण्यासाठी या फुग्यावर क्लिक करा.</translation>
 <translation id="5247051749037287028">डिस्प्ले नाव (पर्यायी)</translation>
 <translation id="5249624017678798539">डाउनलोड पूर्ण होण्यापूर्वी ब्राउझर क्रॅश झाला.</translation>
 <translation id="5250372599208556903"><ph name="SEARCH_ENGINE_NAME" /> तुमचा स्थानिक आशय देण्यासाठी तुमचे स्थान वापरते. तुम्ही हे <ph name="SETTINGS_LINK" /> मधून बदलू शकता.</translation>
@@ -2874,7 +2873,7 @@
 <translation id="55601339223879446">डिस्प्लेामध्ये तुमच्या डेस्कटॉपच्या सीमा समायोजित करा</translation>
 <translation id="5562781907504170924">हा टॅब ब्लूटूथ डिव्हाइसशी कनेक्ट केला आहे.</translation>
 <translation id="5563234215388768762">Google वर शोधा किंवा URL टाइप करा</translation>
-<translation id="5567989639534621706">अॅप्लिकेशन कॅश</translation>
+<translation id="5567989639534621706">ॲप्लिकेशन कॅश</translation>
 <translation id="5568069709869097550">साइन इन करणे शक्य नाही</translation>
 <translation id="5568144734023334204">Android स्टोरेज</translation>
 <translation id="5575473780076478375">गुप्त विस्तार: <ph name="EXTENSION_NAME" /></translation>
@@ -2912,7 +2911,7 @@
 <translation id="5614190747811328134">वापरकर्ता सूचना</translation>
 <translation id="5614553682702429503">पासवर्ड सेव्ह करायचा आहे का?</translation>
 <translation id="561698261642843490">Firefox बंद करा</translation>
-<translation id="5618075537869101857">अरेरे, कियोस्क अॅप्लिकेशन लाँच केले जाऊ शकले नाही.</translation>
+<translation id="5618075537869101857">अरेरे, कियोस्क ॲप्लिकेशन लाँच केले जाऊ शकले नाही.</translation>
 <translation id="5618333180342767515">(यास काही मिनिटे लागू शकतील)</translation>
 <translation id="56197088284879152">दूरस्थ डिव्हाइसवरील कनेक्शनमध्ये अडथळा आहे: " <ph name="DEVICE_NAME" /> ".</translation>
 <translation id="5620568081365989559">DevTools <ph name="FOLDER_PATH" /> मध्‍ये पूर्ण प्रवेशाची विनंती करते. तुम्ही कोणतीही संवेदनशील माहिती उघड करीत नाही हे सुनिश्चित करा.</translation>
@@ -2978,8 +2977,8 @@
 <translation id="572155275267014074">Android सेटिंग्ज</translation>
 <translation id="5722930212736070253">च्चक! Zip Archiver ला एरर आली.</translation>
 <translation id="572328651809341494">अलीकडील टॅब</translation>
-<translation id="5723508132121499792">कोणतेही पार्श्वभूमी अॅप्लिकेशन चालत नाहीत</translation>
-<translation id="5727728807527375859">विस्तार, अॅप्लिकेशन आणि थीम आपल्या संगणकास हानी पोहोचवू शकतात. तुमची खात्री आहे की तुम्ही सुरू ठेवू इच्छिता?</translation>
+<translation id="5723508132121499792">कोणतेही पार्श्वभूमी ॲप्लिकेशन चालत नाहीत</translation>
+<translation id="5727728807527375859">विस्तार, ॲप्लिकेशन आणि थीम आपल्या संगणकास हानी पोहोचवू शकतात. तुमची खात्री आहे की तुम्ही सुरू ठेवू इच्छिता?</translation>
 <translation id="5729712731028706266">&amp;दृश्य</translation>
 <translation id="5734362860645681824">संप्रेषणे</translation>
 <translation id="5736796278325406685">कृपया एक वैध वापरकर्तानाव एंटर करा</translation>
@@ -3003,7 +3002,7 @@
 <translation id="5771816112378578655">सेटअप प्रक्रियेत आहे...</translation>
 <translation id="5772265531560382923">{NUM_PAGES,plural, =1{हे प्रतिसाद देण्यायोग्य होईपर्यंत तुम्ही वाट पाहू शकता किंवा पेजमधून बाहेर येऊ शकता.}one{हे प्रतिसाद देण्यायोग्य होईपर्यंत तुम्ही वाट पाहू शकता किंवा पेजमधून बाहेर येऊ शकता.}other{ते प्रतिसाद देण्यायोग्य होईपर्यंत तुम्ही वाट पाहू शकता किंवा पेजमधून बाहेर येऊ शकता.}}</translation>
 <translation id="577322787686508614">वाचा ऑपरेशनला यावर परवानगी नाही: " <ph name="DEVICE_NAME" /> ".</translation>
-<translation id="5774295353725270860">फायलीचा अॅप्लिकेशन उघडा</translation>
+<translation id="5774295353725270860">फायलीचा ॲप्लिकेशन उघडा</translation>
 <translation id="5774515636230743468">मॅनिफेस्ट:</translation>
 <translation id="577624874850706961">कुकीज शोधा</translation>
 <translation id="5777468213129569553">Chrome उघडा</translation>
@@ -3370,7 +3369,7 @@
 <translation id="6315493146179903667">सर्व समोर आणा</translation>
 <translation id="6316806695097060329">हा <ph name="SHORT_PRODUCT_NAME" /> डिव्हाइस तुम्हाला वेबवरील सर्वोत्तम अनुभव वितरीत करण्यासाठी डीझाइन केला होता.</translation>
 <translation id="6317318380444133405">आता सपोर्ट करत नाही.</translation>
-<translation id="6317369057005134371">अॅप्लिकेशन विंडोसाठी प्रतीक्षा करत आहे...</translation>
+<translation id="6317369057005134371">ॲप्लिकेशन विंडोसाठी प्रतीक्षा करत आहे...</translation>
 <translation id="6318407754858604988">डाउनलोड सुरू झाले</translation>
 <translation id="6322653941595359182">तुमच्या Chromebook वरून एसएमएस पाठवा आणि मिळवा</translation>
 <translation id="6324916366299863871">शॉर्टकट संपादित करा</translation>
@@ -3488,7 +3487,7 @@
 <translation id="6504611359718185067">प्रिंटर जोडण्‍यासाठी इंटरनेटशी कनेक्ट करा</translation>
 <translation id="6506374932220792071">SHA-256 सह X9.62 ECDSA स्वाक्षरी</translation>
 <translation id="6508248480704296122"><ph name="NAME_PH" /> शी संबंधित</translation>
-<translation id="6508261954199872201">अॅप्लिकेशन: <ph name="APP_NAME" /></translation>
+<translation id="6508261954199872201">ॲप्लिकेशन: <ph name="APP_NAME" /></translation>
 <translation id="6509207748479174212">मीडिया परवाना</translation>
 <translation id="6513247462497316522">तुम्ही इतर नेटवर्कशी कनेक्टेड नसल्यास Google Chrome मोबाइल डेटाचा वापर करेल.</translation>
 <translation id="6514010653036109809">उपलब्ध डिव्हाइस:</translation>
@@ -3933,7 +3932,7 @@
 <translation id="7221855153210829124">सूचना दर्शवा</translation>
 <translation id="7221869452894271364">हे पृष्ठ रीलोड करा</translation>
 <translation id="7222204278952406003">तुमचे डीफॉल्ट ब्राउझर Chrome आहे</translation>
-<translation id="7222232353993864120">ईमेल अॅड्रेस</translation>
+<translation id="7222232353993864120">ईमेल ॲड्रेस</translation>
 <translation id="7225179976675429563">नेटवर्क प्रकार गहाळ</translation>
 <translation id="7228479291753472782">वेबसाइट भौगोलिक स्थान, मायक्रोफोन, कॅमेरा, इ. वैशिष्‍ट्ये वापरू शकतात किंवा नाही ते नमूद करणार्‍या सेटिंग्ज कुशलतेने हाताळा.</translation>
 <translation id="7228523857728654909">स्क्रीन लॉक आणि साइन इन</translation>
@@ -4093,7 +4092,7 @@
 <translation id="747459581954555080">सर्व पुनर्संचयित करा</translation>
 <translation id="7475671414023905704">Netscape पासवर्ड URL गमावली</translation>
 <translation id="7476454130948140105">अपडेटसाठी बॅटरी खूप कमी (<ph name="BATTERY_PERCENT" />%) आहे</translation>
-<translation id="7478485216301680444">कियोस्क अॅप्लिकेशन इंस्टॉल केले जाऊ शकले नाही.</translation>
+<translation id="7478485216301680444">कियोस्क ॲप्लिकेशन इंस्टॉल केले जाऊ शकले नाही.</translation>
 <translation id="7481312909269577407">पुढील</translation>
 <translation id="748138892655239008">सर्टिफिकेट मूळ प्रतिबंध</translation>
 <translation id="7487067081878637334">तंत्रज्ञान</translation>
@@ -4456,6 +4455,7 @@
 <translation id="8008356846765065031">इंटरनेट डिस्कनेक्ट झाले. कृपया तुमचे इंटरनेट कनेक्शन तपासा.</translation>
 <translation id="8009225694047762179">पासवर्ड व्यवस्थापित करा</translation>
 <translation id="8012382203418782830">हे पृष्ठ भाषांतरित केले गेले आहे.</translation>
+<translation id="8013993649590906847">इमेजचे उपयोगी वर्णन नसल्यास, Chrome तुमच्यासाठी ते देण्याचा प्रयत्न करेल. वर्णने तयार करण्यासाठी, इमेज Google ला पाठवल्या जातात.</translation>
 <translation id="8014154204619229810">अद्यतनकर्ता सध्या चालू आहे. पुन्हा तपासण्यासाठी एक मिनिटात रिफ्रेश करा.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> पूर्वी इंस्टॉल केलेल्या आवृत्तीवर परत करण्यात अक्षम आहे. कृपया तुमचे डिव्हाइस Powerwash करण्यासाठी पुन्हा प्रयत्न करा.</translation>
 <translation id="8014210335923519270">सिस्टम माहिती आणि वापर Google ला पाठवून <ph name="IDS_SHORT_PRODUCT_NAME" /> आणि त्याची सुरक्षितता सुधारा</translation>
@@ -4567,7 +4567,7 @@
 <translation id="8186609076106987817">सर्व्हर फाइल शोधू शकले नाही.</translation>
 <translation id="8188389033983459049">तुमची डिव्हाइस सेटिंग्ज तपासा आणि सुरू ठेवण्यासाठी ती सुरू करा</translation>
 <translation id="8190193592390505034"><ph name="PROVIDER_NAME" /> सह कनेक्ट करत आहे</translation>
-<translation id="8191230140820435481">तुमचे अॅप्लिकेशन, विस्तार आणि थीम व्यवस्थापित करा</translation>
+<translation id="8191230140820435481">तुमचे ॲप्लिकेशन, विस्तार आणि थीम व्यवस्थापित करा</translation>
 <translation id="8191453843330043793">V8 प्रॉक्सी निराकरणकर्ता</translation>
 <translation id="8195027750202970175">डिस्क वरील आकार</translation>
 <translation id="8198323535106903877">आम्ही तुमच्यासाठी ती <ph name="NUMBER_OF_APPS" /> अॅप्स इंस्टॉल करू</translation>
@@ -4810,7 +4810,7 @@
 <translation id="8606726445206553943">तुमचे MIDI डिव्हाइसेस वापरा</translation>
 <translation id="8609465669617005112">वर हलवा</translation>
 <translation id="8610103157987623234">चुकीचा फॉरमॅट, कृपया पुन्हा प्रयत्न करा</translation>
-<translation id="8615618338313291042">गुप्त अॅप्लिकेशन: <ph name="APP_NAME" /></translation>
+<translation id="8615618338313291042">गुप्त ॲप्लिकेशन: <ph name="APP_NAME" /></translation>
 <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation>
 <translation id="8620617069779373398">रोमिंग स्थिती</translation>
 <translation id="8620765578342452535">नेटवर्क कनेक्‍शन कॉन्फिगर करा</translation>
@@ -4869,7 +4869,7 @@
 <translation id="8688591111840995413">चुकीचा पासवर्ड</translation>
 <translation id="8688672835843460752">उपलब्ध</translation>
 <translation id="8695825812785969222">&amp;स्थान उघडा...</translation>
-<translation id="869884720829132584">अॅप्लिकेशन मेनू</translation>
+<translation id="869884720829132584">ॲप्लिकेशन मेनू</translation>
 <translation id="869891660844655955">कालावधी समाप्ती तारीख</translation>
 <translation id="8703346390800944767">जाहिरात वगळा</translation>
 <translation id="8704521619148782536">यास नेहमीपेक्षा जास्त वेळ लागत आहे. तुम्ही प्रतीक्षा करु शकता किंवा रद्द करा आणि नंतर पुन्हा प्रयत्न करा.</translation>
@@ -4936,7 +4936,7 @@
 <translation id="8780443667474968681">व्हॉइस शोध बंद केले गेले आहे.</translation>
 <translation id="878069093594050299">हे सर्टिफिकेट खालील वापरासाठी पडताळणी केलेले आहे:</translation>
 <translation id="8781980678064919987">झाकण बंद असताना बंद करा</translation>
-<translation id="8782565991310229362">कियोस्क अॅप्लिकेशन लाँच रद्द झाले.</translation>
+<translation id="8782565991310229362">कियोस्क ॲप्लिकेशन लाँच रद्द झाले.</translation>
 <translation id="8783093612333542422">&lt;strong&gt;<ph name="SENDER" />&lt;/strong&gt; आपल्याशी एक &lt;strong&gt;<ph name="PRINTER_NAME" />&lt;/strong&gt; प्रिंटर शेअर करू इच्छितात.</translation>
 <translation id="8784626084144195648">बिन केलेली सरासरी</translation>
 <translation id="8785622406424941542">लेखणी</translation>
@@ -4972,7 +4972,7 @@
 <translation id="8827752199525959199">आणखी कृती, <ph name="DOMAIN" /> वरील <ph name="USERNAME" /> साठीचा पासवर्ड</translation>
 <translation id="8828933418460119530">DNS नाव</translation>
 <translation id="8830796635868321089">वर्तमान प्रॉक्सी सेटिंग्ज वापरून अपडेट तपासणी अयशस्वी झाली. कृपया तुमच्या <ph name="PROXY_SETTINGS_LINK_START" />प्रॉक्सी 
-सेटिंग्ज<ph name="PROXY_SETTINGS_LINK_END" /> अॅडजेस्ट करा.</translation>
+सेटिंग्ज<ph name="PROXY_SETTINGS_LINK_END" /> ॲडजस्ट करा.</translation>
 <translation id="8831664945713891930">एक्स्टेंशन सेटिंग्ज उघडा</translation>
 <translation id="8834039744648160717"><ph name="USER_EMAIL" /> ने नेटवर्क कॉन्फिगरेशन नियंत्रित केले आहे.</translation>
 <translation id="8838770651474809439">हॅमबर्गर</translation>
@@ -5026,7 +5026,6 @@
 <translation id="891365694296252935">वापर आणि निदान डेटा पाठवा. हे डिव्हाइस सध्या Google ला आपोआप निदान, डिव्हाइस आणि अ‍ॅप वापर डेटा पाठवत आहे. हे तुमच्या लहान मुलाला ओळखण्यासाठी वापरले जाणार नाही आणि सिस्ट्म आणि अ‍ॅप स्थिरता आणि इतर सुधारणा करण्यात मदत करेल. काही एकत्रित केलेला डेटा Google अ‍ॅप्स आणि Android डेव्हलपर सारख्या भागीदारांना देखील मदत करेल. या सेटिंगची मालकाद्वारे अंमलबजावणी केली जाते. तुमच्या लहान मुलासाठी अतिरिक्त वेब आणि अ‍ॅप अ‍ॅक्टिव्हिटी सुरू केलेली असल्यास, हा डेटा त्याच्या Google खात्यामध्ये स्टोअर केला जाऊ शकतो. <ph name="BEGIN_LINK1" />अधिक जाणून घ्या<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">सूचना लोड करीत आहे</translation>
 <translation id="8916476537757519021">गुप्त सबफ्रेम: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">होय, मला मान्य आहे</translation>
 <translation id="8919275547519617350">तुमच्या सर्व डिव्हाइसवर तुमचे सर्व पासवर्ड मिळवण्यासाठी, साइन इन करा आणि सिंंक करायला सुरुवात करा.</translation>
 <translation id="8921366488406707015">तुमच्या सिक्युरिटी की ची पडताळणी करत आहे...</translation>
 <translation id="8922013791253848639">या साइटवर कायम जाहिरातींना परवानगी द्या</translation>
@@ -5124,7 +5123,6 @@
 <translation id="9065203028668620118">संपादन</translation>
 <translation id="9066773882585798925">मोठ्याने वाचलेला मजकूर ऐका</translation>
 <translation id="9066782832737749352">टेक्स्ट टू स्पीच</translation>
-<translation id="907264006778172906">USB डिव्हाइस अॅक्सेस करण्यासाठी Linux ला परवानगी द्या. USB डिव्हाइस काढून टाकल्यानंतर Linux ते लक्षात ठेवणार नाही.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">ब्लूटूथ</translation>
 <translation id="9074836595010225693">USB माउस कनेक्ट केला</translation>
@@ -5232,7 +5230,7 @@
 <translation id="967624055006145463">डेटा स्टोअर केला</translation>
 <translation id="968000525894980488">Google Play सेवा चालू करा.</translation>
 <translation id="968037381421390582">पेस्ट करा आणि “<ph name="SEARCH_TERMS" />” शोधा</translation>
-<translation id="968174221497644223">अॅप्लिकेशन कॅशे</translation>
+<translation id="968174221497644223">ॲप्लिकेशन कॅशे</translation>
 <translation id="969096075394517431">भाषा बदला</translation>
 <translation id="970047733946999531">{NUM_TABS,plural, =1{1 टॅब}one{# टॅब}other{# टॅब}}</translation>
 <translation id="971774202801778802">बुकमार्क URL</translation>
@@ -5244,7 +5242,7 @@
 <translation id="98515147261107953">लँडस्केप</translation>
 <translation id="987897973846887088">इमेज उपलब्ध नाहीत</translation>
 <translation id="988978206646512040">रिक्त सांकेतिक वाक्यांशाची परवानगी नाही</translation>
-<translation id="992032470292211616">विस्‍तार, अॅप्स आणि थीम आपल्‍या डिव्‍हाइसची हानी करू शकतात. आपल्‍याला खात्री आहे की तुम्ही सुरू ठेवू इच्‍छिता?</translation>
+<translation id="992032470292211616">विस्‍तार, ॲप्स आणि थीम आपल्‍या डिव्‍हाइसची हानी करू शकतात. आपल्‍याला खात्री आहे की तुम्ही सुरू ठेवू इच्‍छिता?</translation>
 <translation id="992592832486024913">ChromeVox (वाचिक फीडबॅक) अक्षम करा</translation>
 <translation id="993540765962421562">इंस्टॉलेशन प्रगतीपथावर आहे</translation>
 <translation id="994289308992179865">&amp;वळण</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index f063497..c014cde 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -2006,7 +2006,6 @@
 <translation id="4109135793348361820">Alihkan tetingkap ke <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Muat turun selesai: <ph name="FILE_NAME" />. Tekan Shift+F6 untuk pergi ke kawasan bar muat turun.</translation>
 <translation id="4110895898888439383">Semak imbas web dalam mod kontras tinggi</translation>
-<translation id="4112221174576828331">Jika imej tiada perihalan yang berguna, Chrome akan memberikan perihalan untuk anda. Imej diimbas oleh Google.</translation>
 <translation id="4115002065223188701">Rangkaian di luar liputan</translation>
 <translation id="4115080753528843955">Sesetengah perkhidmatan kandungan menggunakan pengecam unik bagi tujuan membenarkan akses kepada kandungan yang dilindungi</translation>
 <translation id="4118579674665737931">Sila but semula peranti dan cuba lagi.</translation>
@@ -4459,6 +4458,7 @@
 <translation id="8008356846765065031">Internet terputus sambungan. Sila periksa sambungan internet anda.</translation>
 <translation id="8009225694047762179">Urus Kata Laluan</translation>
 <translation id="8012382203418782830">Halaman ini telah diterjemahkan.</translation>
+<translation id="8013993649590906847">Jika imej tiada perihalan yang berguna, Chrome akan cuba memberikan perihalan untuk anda. Untuk membuat perihalan, imej dihantar kepada Google.</translation>
 <translation id="8014154204619229810">Pengemaskinian sedang dijalankan. Muatkan semula dalam satu minit untuk memeriksa lagi.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> tidak dapat kembali kepada versi yang dipasang sebelumnya. Sila cuba Powerwash peranti anda lagi.</translation>
 <translation id="8014210335923519270">Tingkatkan <ph name="IDS_SHORT_PRODUCT_NAME" /> dan keselamatannya dengan menghantar maklumat sistem dan penggunaan kepada Google</translation>
@@ -5029,7 +5029,6 @@
 <translation id="891365694296252935">Hantar data penggunaan dan diagnostik. Pada masa ini, peranti ini menghantar data diagnostik dan penggunaan peranti serta apl kepada Google secara automatik. Data ini tidak akan digunakan untuk mengenal pasti anak anda dan akan membantu peningkatan kestabilan sistem dan apl serta pelbagai lagi. Sesetengah data agregat juga akan membantu apl dan rakan kongsi Google, seperti pembangun Android. Tetapan ini dikuatkuasakan oleh pemilik. Jika Aktiviti Web &amp; Apl tambahan dihidupkan untuk anak anda, data ini mungkin disimpan ke Akaun Googlenya. <ph name="BEGIN_LINK1" />Ketahui Lebih Lanjut<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Memuatkan cadangan</translation>
 <translation id="8916476537757519021">Subbingkai Inkognito: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Ya, Saya Ikut Serta</translation>
 <translation id="8919275547519617350">Log masuk dan hidupkan penyegerakan untuk mendapatkan semua kata laluan anda pada semua peranti anda.</translation>
 <translation id="8921366488406707015">Mengesahkan kunci keselamatan anda...</translation>
 <translation id="8922013791253848639">Sentiasa benarkan iklan di tapak ini</translation>
@@ -5127,7 +5126,6 @@
 <translation id="9065203028668620118">Edit</translation>
 <translation id="9066773882585798925">Dengar teks dibaca dengan lantang</translation>
 <translation id="9066782832737749352">Teks kepada Pertuturan</translation>
-<translation id="907264006778172906">Beri Linux kebenaran untuk mengakses peranti USB. Linux tidak akan mengingat peranti USB selepas peranti itu dikeluarkan.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Tetikus USB disambungkan</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index 76497780..99bd512 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -2023,7 +2023,6 @@
 <translation id="4109135793348361820">Venster verplaatsen naar <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Download voltooid: <ph name="FILE_NAME" />. Druk op Shift+F6 om naar het gedeelte met de downloadbalk te gaan.</translation>
 <translation id="4110895898888439383">Surf op internet in de modus voor hoog contrast</translation>
-<translation id="4112221174576828331">Als een afbeelding geen nuttige beschrijving bevat, levert Chrome er een voor je. De afbeeldingen worden gescand door Google.</translation>
 <translation id="4115002065223188701">Netwerk buiten bereik</translation>
 <translation id="4115080753528843955">Sommige contentservices gebruiken unieke ID's om de toegang tot beschermde content te autoriseren</translation>
 <translation id="4118579674665737931">Start het apparaat opnieuw op en probeer het opnieuw.</translation>
@@ -4491,6 +4490,7 @@
 <translation id="8008356846765065031">Verbinding met internet verbroken. Controleer je internetverbinding.</translation>
 <translation id="8009225694047762179">Wachtwoorden beheren</translation>
 <translation id="8012382203418782830">Deze pagina is vertaald.</translation>
+<translation id="8013993649590906847">Als een afbeelding geen nuttige beschrijving bevat, probeert Chrome je er een te geven. Afbeeldingen worden naar Google verzonden om beschrijvingen te maken.</translation>
 <translation id="8014154204619229810">De updater wordt momenteel uitgevoerd. Klik op Vernieuwen om opnieuw te controleren.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> kan niet worden teruggezet naar de voorgaande versie. Probeer Powerwash opnieuw op je apparaat.</translation>
 <translation id="8014210335923519270">Verbeter <ph name="IDS_SHORT_PRODUCT_NAME" /> en de beveiliging ervan door systeem- en gebruiksgegevens naar Google te verzenden</translation>
@@ -5064,7 +5064,6 @@
 <translation id="891365694296252935">Verzend gebruiks- en diagnostische gegevens. Dit apparaat verzendt momenteel automatisch diagnostische, apparaat- en app-gebruiksgegevens naar Google. Deze gegevens worden niet gebruikt om je kind te identificeren en helpen bij het verbeteren van de systeem- en app-stabiliteit en andere optimalisaties. Daarnaast zijn bepaalde verzamelde gegevens nuttig voor Google-apps en -partners, zoals Android-ontwikkelaars. Deze instelling wordt afgedwongen door de eigenaar. Als je de instelling voor aanvullende Web- en app-activiteit hebt ingeschakeld voor je kind, kunnen deze gegevens worden opgeslagen in het Google-account van je kind. <ph name="BEGIN_LINK1" />Meer informatie<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Suggestie wordt geladen</translation>
 <translation id="8916476537757519021">Incognito-subframe: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Ja, inschakelen</translation>
 <translation id="8919275547519617350">Log in en schakel synchronisatie in om al je wachtwoorden op al je apparaten beschikbaar te maken.</translation>
 <translation id="8921366488406707015">Je beveiligingssleutel verifiëren…</translation>
 <translation id="8922013791253848639">Altijd advertenties op deze site toestaan</translation>
@@ -5163,7 +5162,6 @@
 <translation id="9065203028668620118">Bewerken</translation>
 <translation id="9066773882585798925">Tekst hardop voorlezen</translation>
 <translation id="9066782832737749352">Tekst-naar-spraak</translation>
-<translation id="907264006778172906">Geef Linux toegang tot USB-apparaten. Linux onthoudt een USB-apparaat niet nadat dit is verwijderd.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB-muis aangesloten</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index 7eefab9..ae11867 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -1998,7 +1998,6 @@
 <translation id="4109135793348361820">Flytt vinduet til <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Nedlastingen er fullført: <ph name="FILE_NAME" />. Trykk på Shift+F6 for å gå til nedlastingsraden.</translation>
 <translation id="4110895898888439383">Surf på nettet i høykontrastmodus</translation>
-<translation id="4112221174576828331">Hvis et bilde ikke har noen nyttig beskrivelse, finner Chrome en til deg. Bildene skannes av Google.</translation>
 <translation id="4115002065223188701">Nettverket er utenfor rekkevidde</translation>
 <translation id="4115080753528843955">Noen innholdstjenester bruker unike identifikatorer for å godkjenne tilgang til beskyttet innhold</translation>
 <translation id="4118579674665737931">Start enheten på nytt og prøv igjen.</translation>
@@ -4449,6 +4448,7 @@
 <translation id="8008356846765065031">Internett er frakoblet. Sjekk Internett-forbindelsen din .</translation>
 <translation id="8009225694047762179">Administrer passord</translation>
 <translation id="8012382203418782830">Denne siden er oversatt.</translation>
+<translation id="8013993649590906847">Hvis et bilde ikke har noen nyttig beskrivelse, prøver Chrome å finne en til deg. For å opprette beskrivelser blir bilder sendt til Google.</translation>
 <translation id="8014154204619229810">Oppdateringsprogrammet kjører. Last inn siden på nytt om en liten stund for å sjekke igjen.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> kunne ikke tilbakestilles til forrige versjon. Prøv å utføre en powerwash av enheten på nytt.</translation>
 <translation id="8014210335923519270">Gjør <ph name="IDS_SHORT_PRODUCT_NAME" /> bedre og sikrere ved å sende systeminformasjon og bruk til Google</translation>
@@ -5018,7 +5018,6 @@
 <translation id="891365694296252935">Send bruks- og diagnostikkdata. Denne enheten sender for øyeblikket diagnostikk-, enhets- og appbruksdata til Google automatisk. Disse dataene brukes ikke til å identifisere barnet ditt, men bidrar til å gjøre systemet og appene bedre og mer stabile. Noen aggregerte data hjelper også Google-apper og -partnere, for eksempel Android-utviklere. Denne innstillingen håndheves av eieren. Hvis du har slått på annen nett- og appaktivitet for barnet ditt, kan disse dataene bli lagret i barnets Google-konto. <ph name="BEGIN_LINK1" />Finn ut mer<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Laster inn forslag …</translation>
 <translation id="8916476537757519021">Inkognito-underramme: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Ja, den er grei</translation>
 <translation id="8919275547519617350">For å få alle passordene dine på alle enhetene du bruker, logg på og slå på synkronisering.</translation>
 <translation id="8921366488406707015">Bekrefter sikkerhetsnøkkelen din …</translation>
 <translation id="8922013791253848639">Tillat alltid annonser på dette nettstedet</translation>
@@ -5116,7 +5115,6 @@
 <translation id="9065203028668620118">Endre</translation>
 <translation id="9066773882585798925">Få tekst lest opp</translation>
 <translation id="9066782832737749352">Tekst til tale</translation>
-<translation id="907264006778172906">Gi Linux tilgang til USB-enheter. Linux husker ikke USB-enheter etter at de er fjernet.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB-mus er tilkoblet</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index 2f02ada0..7eb343f 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Nie udało się załadować urządzeń.</translation>
 <translation id="1008186147501209563">Eksportuj zakładki</translation>
 <translation id="1008557486741366299">Nie teraz</translation>
+<translation id="1010498023906173788">Ta karta jest podłączona do portu szeregowego.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Strona nie odpowiada}few{Strony nie odpowiadają}many{Strony nie odpowiadają}other{Strony nie odpowiadają}}</translation>
 <translation id="1012794136286421601">Twoje pliki z Dokumentów, Arkuszy, Prezentacji i Rysunków są teraz synchronizowane. Otwórz aplikację Dysk Google, aby używać ich online lub offline.</translation>
 <translation id="1012876632442809908">Urządzenie USB-C (przedni port)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Aby zamknąć pełny ekran, naciśnij |<ph name="ACCELERATOR" />|</translation>
 <translation id="1038168778161626396">Tylko szyfrowanie</translation>
 <translation id="1039337018183941703">Nieprawidłowy lub uszkodzony plik</translation>
+<translation id="1041175011127912238">Ta strona nie odpowiada</translation>
 <translation id="1042174272890264476">Twój komputer zawiera również wbudowaną bibliotekę RLZ <ph name="SHORT_PRODUCT_NAME" />. Przypisuje ona powtarzalny, nieumożliwiający identyfikacji użytkownika tag służący do monitorowania wyszukiwań i używania <ph name="SHORT_PRODUCT_NAME" /> w ramach określonej kampanii promocyjnej. Etykiety te czasami pojawiają się w zapytaniach wyszukiwarki Google w <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Niestety, ta nazwa jest już używana.</translation>
 <translation id="1046635659603195359">Wygląda na to, że Asystent Google zna już Twój głos z innego urządzenia, na którym masz ustawioną funkcję Voice Match. Możesz użyć zapisanych tam nagrań, by utworzyć model głosu na tym urządzeniu. Powinno to zająć mniej niż minutę.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Korzystaj z internetu w oknie incognito, by nie zapisywać historii przeglądania</translation>
 <translation id="1213037489357051291">Skonfigurowane odciski palców: <ph name="NUM_FINGERPRINTS" /></translation>
 <translation id="1215411991991485844">Nowa aplikacja działająca w tle została dodana</translation>
+<translation id="1217483152325416304">Twoje dane lokalne zostaną wkrótce usunięte</translation>
 <translation id="1217668622537098248">Przywróć działanie po kliknięciu lewego przycisku myszy</translation>
 <translation id="121783623783282548">Hasła nie są zgodne.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Usługa lokalizacyjna Google używa takich źródeł jak sieci Wi-Fi, sieci komórkowe i czujniki, by łatwiej określać lokalizację tego urządzenia.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Szczegóły: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalacja nie została włączona</translation>
 <translation id="1483493594462132177">Wyślij</translation>
+<translation id="1484979925941077974">Strona używa Bluetootha</translation>
 <translation id="1485015260175968628">Może teraz:</translation>
 <translation id="1485141095922496924">Wersja <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Szukaj haseł</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Nieaktywne)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (identyfikator: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (natywna)</translation>
+<translation id="1711401317189798723">Trwa zapisywanie kopii zapasowej kontenera <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">Pobierz to hasło na iPhone'a</translation>
 <translation id="1712552549805331520"><ph name="URL" /> chce na stałe przechowywać dane na Twoim komputerze lokalnym</translation>
 <translation id="1718835860248848330">Ostatnia godzina</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Przełącz opcje Switch Access</translation>
 <translation id="1932098463447129402">Nie wcześniej niż</translation>
 <translation id="1933809209549026293">Podłącz mysz lub klawiaturę. Jeśli używasz urządzenia Bluetooth, upewnij się, że jest ono gotowe do sparowania.</translation>
+<translation id="1937774647013465102">Kontenera o architekturze <ph name="ARCHITECTURE_CONTAINER" /> nie można zaimportować na tym urządzeniu, które ma architekturę <ph name="ARCHITECTURE_DEVICE" />. Możesz przywrócić ten kontener na innym urządzeniu albo uzyskać dostęp do plików znajdujących się wewnątrz obrazu kontenera, otwierając go w aplikacji Pliki.</translation>
 <translation id="1938351510777341717">Polecenie zewnętrzne</translation>
 <translation id="1940546824932169984">Połączone urządzenia</translation>
 <translation id="1944921356641260203">Znaleziono aktualizację</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Aktywuj</translation>
 <translation id="2394566832561516196">Ustawienia zostaną wyczyszczone przy następnym ponownym ładowaniu.</translation>
 <translation id="2395616325548404795">Urządzenie <ph name="DEVICE_TYPE" /> zostało zarejestrowane do zarządzania w firmie, ale nie wysłało informacji o zasobie ani lokalizacji. Wpisz te informacje ręcznie przy urządzeniu w konsoli administracyjnej.</translation>
+<translation id="2396783860772170191">Wpisz 4-cyfrowy kod PIN (0000–9999)</translation>
 <translation id="2408955596600435184">Wpisz kod PIN</translation>
 <translation id="241082044617551207">Nieznana wtyczka</translation>
 <translation id="2413749388954403953">Zmiana interfejsu zakładek</translation>
+<translation id="241639282915300771">Trwa przywracanie kontenera <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Dane zostały zaszyfrowane Twoim hasłem Google z <ph name="TIME" />.
           Nie obejmuje to form płatności ani adresów w Google Pay.</translation>
 <translation id="2419706071571366386">Ze względów bezpieczeństwa wyloguj się na czas, gdy nie korzystasz z komputera.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">Synchronizacja wyłączona</translation>
 <translation id="2540449034743108469">Naciśnij „Start”, by rozpocząć nasłuchiwanie działań rozszerzenia</translation>
 <translation id="2541002089857695151">Zoptymalizować przesyłanie pełnoekranowe?</translation>
+<translation id="2541706104884128042">Ustawiono nową porę snu</translation>
 <translation id="2544853746127077729">Certyfikat uwierzytelniania został odrzucony przez sieć</translation>
 <translation id="2549985041256363841">Zacznij nagrywanie</translation>
 <translation id="2550212893339833758">Zamieniona pamięć</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">Wyjdź</translation>
 <translation id="2678063897982469759">Włącz ponownie</translation>
 <translation id="268053382412112343">Hi&amp;storia</translation>
+<translation id="2682498795777673382">Rodzic wprowadził zmianę</translation>
 <translation id="2683638487103917598">Posortowano zawartość folderu</translation>
 <translation id="2684004000387153598">Aby kontynuować, kliknij OK, a potem kliknij Dodaj osobę, by utworzyć nowy profil dla swojego adresu e-mail.</translation>
 <translation id="2688196195245426394">Podczas rejestrowania urządzenia na serwerze wystąpił błąd: <ph name="CLIENT_ERROR" />.</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">Otwórz ponowni&amp;e zamknięte okno</translation>
 <translation id="2731700343119398978">Czekaj...</translation>
 <translation id="2731710757838467317">Tworzę użytkownika nadzorowanego. Może to potrwać kilka minut.</translation>
+<translation id="2731971182069536520">Po następnym uruchomieniu urządzenia administrator wykona jednorazową aktualizację, która usunie Twoje dane lokalne.</translation>
 <translation id="2734760316755174687">Witryny z grupy <ph name="SITE_GROUP_NAME" /> też zostaną zresetowane.</translation>
 <translation id="2735438478659026460">Automatyczne kliknięcie po zatrzymaniu kursora myszy</translation>
 <translation id="2735712963799620190">Harmonogram</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">Mechanizmy syntezy mowy</translation>
 <translation id="3047644958362961983">Te informacje pomogą nam lepiej zrozumieć Twój problem z Asystentem. Są one przechowywane przez 90 dni, a dostęp do nich mają wyłącznie członkowie odpowiednich zespołów technicznych i pracownicy zajmujący się opiniami użytkowników.</translation>
 <translation id="3053013834507634016">Użycie klucza certyfikatu</translation>
+<translation id="3053273573829329829">Włącz kod PIN użytkownika</translation>
 <translation id="3058498974290601450">W każdej chwili możesz włączyć synchronizację w ustawieniach</translation>
 <translation id="3060379269883947824">Włącz funkcję Przeczytaj na głos</translation>
 <translation id="3061707000357573562">Zastosowanie poprawki do usługi</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">W przeglądarce Chrome zabrakło pamięci albo proces strony internetowej został zakończony z innego powodu. Aby kontynuować, załaduj stronę ponownie lub przejdź do innej strony.</translation>
 <translation id="3085412380278336437">Strona może używać kamery</translation>
 <translation id="3085752524577180175">Host SOCKS</translation>
+<translation id="3088052000289932193">Strona używa MIDI</translation>
 <translation id="3088325635286126843">&amp;Zmień nazwę</translation>
 <translation id="3089137131053189723">Wyszukiwanie zostało wyczyszczone</translation>
 <translation id="3090193911106258841">Otwieram wejście audio i wideo</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">Druk dwustronny</translation>
 <translation id="3317678681329786349">Zablokowano dostęp do kamery i mikrofonu</translation>
 <translation id="3319048459796106952">Nowe okno &amp;incognito</translation>
+<translation id="3323521181261657960">Bonus! Możesz dłużej korzystać z urządzenia</translation>
 <translation id="3325910708063135066">Kamera i mikrofon są wyłączone w Preferencjach systemowych Maca</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informacje o aplikacji</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">Nie udało się odczytać zasad trybu demonstracyjnego offline.</translation>
 <translation id="3766223500670287046">Ekran zdalny</translation>
 <translation id="3768037234834996183">Synchronizuję ustawienia...</translation>
+<translation id="377050016711188788">Lody</translation>
 <translation id="3771294271822695279">Pliki wideo</translation>
 <translation id="3775432569830822555">Certyfikat serwera SSL</translation>
 <translation id="3775705724665058594">Wyślij na swoje urządzenia</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">Błędny indeks.</translation>
 <translation id="3870931306085184145">Brak zapisanych haseł do <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Najniższy</translation>
+<translation id="3871350334636688135">Za 24 godziny administrator wykona jednorazową aktualizację, która usunie Twoje dane lokalne po ponownym uruchomieniu urządzenia. Zapisz w chmurze wszystkie potrzebne dane lokalne przed upływem 24 godzin.</translation>
 <translation id="3872220884670338524">Więcej czynności, zapisane konto użytkownika <ph name="USERNAME" /> w domenie <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Zwolnij miejsce na dysku, ponieważ w przeciwnym razie urządzenie przestanie odpowiadać.</translation>
 <translation id="3873315167136380065">Aby włączyć tę funkcję, <ph name="BEGIN_LINK" />zresetuj synchronizację<ph name="END_LINK" /> w celu usunięcia hasła synchronizacji</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">Dane z niektórych aplikacji mogą zostać utracone</translation>
 <translation id="3983586614702900908">urządzenia od nieznanego dostawcy</translation>
 <translation id="3984159763196946143">Nie udało się uruchomić trybu demonstracyjnego</translation>
+<translation id="3984431586879874039">Zezwolić tej stronie na odczytywanie danych klucza bezpieczeństwa?</translation>
 <translation id="3987348946546879621">Zmniejszono zużycie danych</translation>
 <translation id="3987938432087324095">Nie rozumiem.</translation>
 <translation id="3988996860813292272">Wybierz strefę czasową</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">Przywrócić domyślną wyszukiwarkę?</translation>
 <translation id="4099874310852108874">Wystąpił błąd sieci.</translation>
 <translation id="4100733287846229632">Na urządzeniu już prawie nie ma miejsca</translation>
+<translation id="4100853287411968461">Nowy limit czasu używania</translation>
 <translation id="4103091233824664032">Wpisz hasło, by skonfigurować blokadę ekranu i logowanie</translation>
 <translation id="4104163789986725820">E&amp;ksportuj</translation>
 <translation id="4107048419833779140">Rozpoznawanie i wysuwanie urządzeń pamięci</translation>
 <translation id="4109135793348361820">Przesuń okno do: <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Pobrano plik: <ph name="FILE_NAME" />. Naciśnij Shift+F6, by przejść do obszaru paska pobranych plików.</translation>
 <translation id="4110895898888439383">Przeglądaj strony w trybie dużego kontrastu</translation>
-<translation id="4112221174576828331">Jeśli obraz nie ma przydatnego opisu, Chrome stworzy go dla Ciebie. Obrazy są skanowane przez Google.</translation>
 <translation id="4115002065223188701">Sieć poza zasięgiem</translation>
 <translation id="4115080753528843955">Niektóre usługi związane z treściami używają unikalnych identyfikatorów na potrzeby autoryzacji dostępu do chronionych treści</translation>
 <translation id="4118579674665737931">Uruchom ponownie urządzenie i spróbuj jeszcze raz.</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">Plik niekompletny</translation>
 <translation id="4325237902968425115">Odinstalowuję aplikację <ph name="LINUX_APP_NAME" />...</translation>
 <translation id="4328203388435897516">Gdy skonfigurujesz Chromebooka, możesz w każdej chwili uzyskać pomoc, naciskając przycisk Asystenta lub mówiąc „OK Google”. Zmiany możesz wprowadzić w ustawieniach Asystenta.</translation>
+<translation id="4330191372652740264">Woda z lodem</translation>
 <translation id="4330387663455830245">Nigdy nie tłumacz z tego języka: <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1, SHA-1 z szyfrowaniem RSA</translation>
 <translation id="4336979451636460645">Dzienniki sieciowe są dostępne tutaj: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">Walor</translation>
 <translation id="4387004326333427325">Certyfikat uwierzytelniania został odrzucony zdalnie</translation>
 <translation id="4389091756366370506">Użytkownik <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Incognito}few{# otwarte okna incognito}many{# otwartych okien incognito}other{# otwartego okna incognito}}</translation>
 <translation id="439266289085815679">Konfiguracją Bluetooth zarządza <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Wyłącz</translation>
 <translation id="4400367121200150367">Tutaj będą wyświetlane strony, które nigdy nie zapisują haseł</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">Aby dodać osobę, odblokuj swój profil.</translation>
 <translation id="4651484272688821107">Nie udało się załadować komponentu online z zasobami trybu demonstracyjnego.</translation>
 <translation id="465878909996028221">Przekierowania przeglądarki działają tylko z protokołami http, https i file.</translation>
+<translation id="4659077111144409915">Konto główne</translation>
 <translation id="4660476621274971848">To jest wersja „<ph name="NEW_ID" />”, a oczekiwano wersji „<ph name="EXPECTED_VERSION" />”</translation>
 <translation id="4662788913887017617">Udostępnij tę zakładkę na iPhonie</translation>
 <translation id="4663373278480897665">Zezwolono na dostęp do kamery</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">Zmiana przynależności</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4726710629007580002">Podczas próby zainstalowania tego rozszerzenia zostały zgłoszone ostrzeżenia:</translation>
+<translation id="4727847987444062305">Zarządzana sesja gościa</translation>
 <translation id="4728558894243024398">Platforma</translation>
 <translation id="4733082559415072992"><ph name="URL" /> chce używać lokalizacji Twojego urządzenia</translation>
 <translation id="4733793249294335256">Lokalizacja</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">Pokaż szczegóły</translation>
 <translation id="4890773143211625964">Pokaż zaawansowane opcje drukarki</translation>
 <translation id="4891089016822695758">Forum użytkowników wersji beta</translation>
+<translation id="4892229439761351791">Strona może używać Bluetootha</translation>
 <translation id="4893336867552636863">Spowoduje to trwałe usunięcie danych przeglądania z tego urządzenia.</translation>
 <translation id="4893522937062257019">Na ekranie blokady</translation>
 <translation id="4898011734382862273">Certyfikat „<ph name="CERTIFICATE_NAME" />” reprezentuje urząd certyfikacji</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">Jesteś zalogowany(a) do <ph name="SHORT_PRODUCT_NAME" />. Twoje zakładki, historia i inne ustawienia są synchronizowane z Twoim kontem Google.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> chce pobrać wiele plików</translation>
+<translation id="5192316339598592690">Możesz szybko przełączać konta i logować się w wielu aplikacjach i witrynach jednocześnie.
+    Aplikacje i witryny mogą prosić Cię o pozwolenie na użycie niektórych informacji dotyczących Twojego konta Google. <ph name="LINK_BEGIN" />Więcej informacji<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Wykonaj Powerwash urządzenia i spróbuj jeszcze raz.</translation>
 <translation id="5204967432542742771">Wpisz hasło</translation>
 <translation id="5206215183583316675">Usunąć „<ph name="CERTIFICATE_NAME" />”?</translation>
@@ -3515,6 +3539,7 @@
 <translation id="6547354035488017500">Zwolnij co najmniej 512 MB miejsca. W przeciwnym razie urządzenie przestanie odpowiadać. Aby zwolnić miejsce, usuń pliki z pamięci urządzenia.</translation>
 <translation id="6550675742724504774">Opcje</translation>
 <translation id="6551508934388063976">Polecenie jest niedostępne. Naciśnij control+N, by otworzyć nowe okno.</translation>
+<translation id="6551612971599078809">Strona używa USB</translation>
 <translation id="655384502888039633">Użytkownicy: <ph name="USER_COUNT" /></translation>
 <translation id="655483977608336153">Spróbuj ponownie</translation>
 <translation id="6555432686520421228">Usuń wszystkie konta użytkowników i przywróć urządzenie <ph name="IDS_SHORT_PRODUCT_NAME" /> do stanu fabrycznego.</translation>
@@ -3739,6 +3764,7 @@
 <translation id="692114467174262153">Nie udało się otworzyć przeglądarki <ph name="ALTERNATIVE_BROWSER_NAME" /></translation>
 <translation id="6921709132208495314">Zatrzymaj przesyłanie danych na tej stronie</translation>
 <translation id="6922128026973287222">Zmniejsz ilość przesyłanych danych i swobodnie przeglądaj strony dzięki Oszczędzaniu danych Google. Kliknij, by dowiedzieć się więcej.</translation>
+<translation id="6922745772873733498">Wpisz kod PIN, by wydrukować</translation>
 <translation id="6923132443355966645">Przewiń/kliknij</translation>
 <translation id="6923633482430812883">Błąd podczas podłączania udziału. Sprawdź, czy serwer plików, z którym się łączysz, obsługuje SMB w wersji 2 lub nowszej.</translation>
 <translation id="6930036377490597025">Zewnętrzny klucz bezpieczeństwa lub wbudowany czujnik</translation>
@@ -3793,6 +3819,7 @@
 <translation id="7003339318920871147">Sieciowe bazy danych</translation>
 <translation id="7003723821785740825">Skonfiguruj szybszy sposób odblokowania urządzenia</translation>
 <translation id="7003844668372540529">Nieznany produkt <ph name="PRODUCT_ID" /> firmy <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Strona może używać MIDI</translation>
 <translation id="7004499039102548441">Ostatnie karty</translation>
 <translation id="7005848115657603926">Nieprawidłowy zakres stron, użyj formatu <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Dolny margines</translation>
@@ -3805,9 +3832,11 @@
 <translation id="7017480957358237747">zezwalać na dostęp do określonych witryn lub blokować go,</translation>
 <translation id="7018275672629230621">Odczyt i zmiana historii przeglądania</translation>
 <translation id="7019805045859631636">Szybko</translation>
+<translation id="702252130983202758">Twoje aplikacje</translation>
 <translation id="7022562585984256452">Strona główna została ustawiona.</translation>
 <translation id="7025190659207909717">Zarządzanie komórkową usługą transmisji danych</translation>
 <translation id="7029809446516969842">Hasła</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> – podłączono port szeregowy</translation>
 <translation id="7031962166228839643">Czekaj, moduł TPM jest przygotowywany (może to potrwać kilka minut)...</translation>
 <translation id="7037509989619051237">Tekst do sprawdzenia mowy</translation>
 <translation id="7039326228527141150">Dostęp do urządzeń USB od <ph name="VENDOR_NAME" /></translation>
@@ -3832,6 +3861,7 @@
 <translation id="706626672220389329">Błąd podczas podłączania udziału. Udział jest już podłączony.</translation>
 <translation id="7066944511817949584">Nie można połączyć z urządzeniem „<ph name="DEVICE_NAME" />”.</translation>
 <translation id="7067725467529581407">Nie pokazuj tego ponownie.</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> może wymagać nowszego lub innego rodzaju klucza bezpieczeństwa</translation>
 <translation id="7070484045139057854">Może odczytywać i modyfikować dane stron</translation>
 <translation id="7072010813301522126">Nazwa skrótu</translation>
 <translation id="707392107419594760">Wybierz klawiaturę:</translation>
@@ -3912,6 +3942,7 @@
 <translation id="7189234443051076392">Upewnij się, że masz wystarczająco dużo miejsca na urządzeniu</translation>
 <translation id="7189965711416741966">Odcisk palca dodany.</translation>
 <translation id="7191159667348037">Nieznana drukarka (USB)</translation>
+<translation id="7193051357671784796">Tę aplikację dodała Twoja organizacja. Uruchom ją ponownie, by dokończyć jej instalowanie.</translation>
 <translation id="7193374945610105795">Nie zapisano żadnych haseł do <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Zapisuj kopie zapasowe na Dysku Google, by móc łatwo i wygodnie przywrócić dane lub zmienić urządzenie. Kopie zapasowe zawierają dane aplikacji. Są szyfrowane za pomocą hasła do Twojego konta Google i przesyłane do Google. <ph name="BEGIN_LINK1" />Więcej informacji<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Korzystaj z wyszukiwarki i innych inteligentnych usług Google na każdej stronie, którą otwierasz</translation>
@@ -4334,6 +4365,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Uwaga:<ph name="END_BOLD" /> podczas tego procesu system uruchomi się ponownie.</translation>
 <translation id="7829298379596169484">Otwieram wejście audio</translation>
+<translation id="7830594666202422257">Podłącz do Linuksa</translation>
 <translation id="7831491651892296503">Podczas konfigurowania sieci wystąpił błąd</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Godzina zakończenia</translation>
@@ -4363,6 +4395,7 @@
 <translation id="7877451762676714207">Nieznany błąd serwera. Spróbuj ponownie lub skontaktuj się z administratorem serwera.</translation>
 <translation id="7877680364634660272">Prezentacja</translation>
 <translation id="7878562273885520351">Ktoś mógł poznać Twoje hasło</translation>
+<translation id="7880823633812189969">Dane lokalne zostaną usunięte po ponownym uruchomieniu</translation>
 <translation id="7881483672146086348">Wyświetl konto</translation>
 <translation id="7882358943899516840">Typ dostawcy</translation>
 <translation id="7885253890047913815">Ostatnie urządzenia docelowe</translation>
@@ -4458,6 +4491,7 @@
 <translation id="8008356846765065031">Brak łączności z internetem. Sprawdź połączenie.</translation>
 <translation id="8009225694047762179">Zarządzaj hasłami</translation>
 <translation id="8012382203418782830">Ta strona została przetłumaczona.</translation>
+<translation id="8013993649590906847">Jeśli obraz nie ma przydatnego opisu, Chrome spróbuje go dla Ciebie stworzyć. W tym celu obrazy zostaną wysłane do Google.</translation>
 <translation id="8014154204619229810">Obecnie działa aktualizator. Odśwież za minutę, by sprawdzić ponownie.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> nie może przywrócić poprzednio zainstalowanej wersji. Spróbuj ponownie, by wykonać Powerwash na urządzeniu.</translation>
 <translation id="8014210335923519270">Pomóż nam ulepszyć działanie i zwiększyć bezpieczeństwo <ph name="IDS_SHORT_PRODUCT_NAME" />, wysyłając informacje o systemie i użytkowaniu do Google</translation>
@@ -4702,6 +4736,7 @@
 <translation id="8426713856918551002">Włączam</translation>
 <translation id="8427292751741042100">umieszczone na dowolnym hoście</translation>
 <translation id="8428213095426709021">Ustawienia</translation>
+<translation id="8428628598981198790">Twojego klucza bezpieczeństwa nie można używać z tą stroną</translation>
 <translation id="84297032718407999">Wylogujemy Cię za <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Pokaż kliknięcia</translation>
 <translation id="8431909052837336408">Zmień PIN do karty SIM</translation>
@@ -4906,6 +4941,7 @@
 <translation id="8732212173949624846">Odczyt i zmiana historii przeglądania na wszystkich zalogowanych urządzeniach</translation>
 <translation id="8732844209475700754">Więcej ustawień związanych z prywatnością, bezpieczeństwem i zbieraniem danych</translation>
 <translation id="8734073480934656039">Jeśli włączysz to ustawienie, możliwe będzie automatyczne uruchamianie aplikacji kiosku po włączeniu komputera.</translation>
+<translation id="8734671092194994316">Spowoduje to zarejestrowanie otwarcia strony <ph name="WEBSITE" /> na Twoim kluczu bezpieczeństwa.</translation>
 <translation id="873545264931343897">Aby aktywować wtyczkę <ph name="PLUGIN_NAME" /> po jej zaktualizowaniu, ponownie załaduj stronę</translation>
 <translation id="8736288397686080465">Ta witryna została zaktualizowana w tle.</translation>
 <translation id="8737685506611670901">Otwieranie linków protokołu <ph name="PROTOCOL" /> zamiast modułu <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5004,6 +5040,7 @@
 <translation id="8877448029301136595">[katalog główny]</translation>
 <translation id="8879284080359814990">&amp;Pokaż jako kartę</translation>
 <translation id="8883847527783433352">Synchronizuj z innym kontem</translation>
+<translation id="8884570509232205463">Urządzenie jest blokowane o <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Smart Lock jest niedostępny</translation>
 <translation id="8888253246822647887">Aplikacja otworzy się po zakończeniu uaktualnienia. Może to potrwać kilka minut.</translation>
 <translation id="8888432776533519951">Kolor:</translation>
@@ -5028,7 +5065,6 @@
 <translation id="891365694296252935">Wysyłaj dane diagnostyczne oraz informacje o użyciu. To urządzenie automatycznie wysyła do Google dane diagnostyczne oraz informacje o używaniu urządzenia i aplikacji. Nie zostaną one użyte do zidentyfikowania Twojego dziecka. Wykorzystamy je, by poprawić stabilność systemu i aplikacji oraz wprowadzić inne ulepszenia. Niektóre dane zbiorcze pomogą nam też udoskonalić aplikacje Google lub zostaną wykorzystane przez naszych partnerów, na przykład deweloperów aplikacji na Androida. To ustawienie jest wymuszone przez właściciela. Jeśli dodatkowo na koncie Google dziecka włączysz ustawienie Aktywność w internecie i aplikacjach, te dane mogą być zapisywane na tym koncie. <ph name="BEGIN_LINK1" />Więcej informacji<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Ładuję sugestie</translation>
 <translation id="8916476537757519021">Ramka podrzędna incognito: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Tak, zgadzam się</translation>
 <translation id="8919275547519617350">Aby korzystać ze wszystkich swoich haseł na innych urządzeniach, zaloguj się i włącz synchronizację.</translation>
 <translation id="8921366488406707015">Weryfikuję klucz bezpieczeństwa…</translation>
 <translation id="8922013791253848639">Zawsze zezwalaj na wyświetlanie reklam na tej stronie</translation>
@@ -5097,6 +5133,7 @@
 <translation id="9026852570893462412">Może to potrwać kilka minut. Pobieram maszynę wirtualną.</translation>
 <translation id="9027459031423301635">Otwórz link w nowej &amp;karcie</translation>
 <translation id="9030515284705930323">Twoja organizacja nie włączyła Sklepu Google Play dla Twojego konta. Aby uzyskać więcej informacji, skontaktuj się z administratorem.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Wklej</translation>
 <translation id="9037965129289936994">Pokaż tekst oryginalny</translation>
 <translation id="9038649477754266430">Używaj podpowiedzi, by strony ładowały się szybciej</translation>
@@ -5126,7 +5163,6 @@
 <translation id="9065203028668620118">Edytuj</translation>
 <translation id="9066773882585798925">Czytanie tekstu na głos</translation>
 <translation id="9066782832737749352">Zamiana tekstu na mowę</translation>
-<translation id="907264006778172906">Przyznaj Linuksowi dostęp do urządzeń USB. Linux nie będzie pamiętać urządzenia USB po jego odłączeniu.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Podłączono mysz USB</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index bf892f75..f3d02853 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Não foi possível carregar os dispositivos.</translation>
 <translation id="1008186147501209563">Exportar favoritos</translation>
 <translation id="1008557486741366299">Não agora</translation>
+<translation id="1010498023906173788">Esta guia está conectada a uma porta serial.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Página sem resposta}one{Páginas sem resposta}other{Páginas sem resposta}}</translation>
 <translation id="1012794136286421601">Seus arquivos do Google Docs, Planilhas, Apresentações e Desenhos estão sendo sincronizados. Abra o aplicativo Google Drive para acessá-los on-line ou off-line.</translation>
 <translation id="1012876632442809908">Dispositivo USB-C (porta frontal)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Pressione |<ph name="ACCELERATOR" />| para sair do modo tela cheia</translation>
 <translation id="1038168778161626396">Somente codificar</translation>
 <translation id="1039337018183941703">Arquivo inválido ou corrompido</translation>
+<translation id="1041175011127912238">Esta página não está respondendo.</translation>
 <translation id="1042174272890264476">Seu computador já vem com a biblioteca RLZ do <ph name="SHORT_PRODUCT_NAME" /> integrada. O RLZ atribui uma tag não exclusiva e sem identificação pessoal para medir as pesquisas e o uso do <ph name="SHORT_PRODUCT_NAME" /> gerados por uma campanha promocional específica. Esses marcadores às vezes aparecem em consultas da Pesquisa Google no <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Ops. Este nome já está em uso.</translation>
 <translation id="1046635659603195359">Parece que você já configurou o "Voice Match" com seu Google Assistente em outro dispositivo. Essas gravações anteriores podem ser usadas para criar um modelo de voz neste dispositivo. Isso levará menos de um minuto.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Use a Web sem salvar seu histórico de navegação com uma janela anônima</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> impressões digitais configuradas</translation>
 <translation id="1215411991991485844">Novo aplicativo de fundo adicionado</translation>
+<translation id="1217483152325416304">Seus dados locais serão excluídos em breve</translation>
 <translation id="1217668622537098248">Reverter para o clique com botão esquerdo após a ação</translation>
 <translation id="121783623783282548">As senhas não correspondem.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />O serviço de localização do Google usa fontes como redes móveis, Wi‑Fi e sensores para ajudar a estimar o local do dispositivo.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Detalhes: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">A instalação não está ativada</translation>
 <translation id="1483493594462132177">Enviar</translation>
+<translation id="1484979925941077974">O site está usando o Bluetooth</translation>
 <translation id="1485015260175968628">Ele agora pode:</translation>
 <translation id="1485141095922496924">Versão <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Pesquisar senhas</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Inativa)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (código: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (nativo)</translation>
+<translation id="1711401317189798723">Backup de <ph name="CONTAINER_ID" /> em andamento</translation>
 <translation id="1712349894969001173">Receber essa senha no seu iPhone</translation>
 <translation id="1712552549805331520"><ph name="URL" /> quer armazenar dados no computador local</translation>
 <translation id="1718835860248848330">Última hora</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Opções de acesso com interruptor</translation>
 <translation id="1932098463447129402">Não antes</translation>
 <translation id="1933809209549026293">Conecte um mouse ou um teclado. Se você está usando um dispositivo com Bluetooth, certifique-se de que ele esteja pronto para ser pareado.</translation>
+<translation id="1937774647013465102">Não é possível importar o tipo de arquitetura de contêiner <ph name="ARCHITECTURE_CONTAINER" /> com este dispositivo, que é <ph name="ARCHITECTURE_DEVICE" />. Tente restaurar esse contêiner em um dispositivo diferente ou acesse os arquivos que estão dentro desta imagem do contêiner abrindo-os no app Arquivos.</translation>
 <translation id="1938351510777341717">Comando externo</translation>
 <translation id="1940546824932169984">Dispositivos conectados</translation>
 <translation id="1944921356641260203">Atualização encontrada</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Ativar</translation>
 <translation id="2394566832561516196">As configurações serão apagadas na próxima atualização.</translation>
 <translation id="2395616325548404795">Seu <ph name="DEVICE_TYPE" /> foi registrado para o gerenciamento empresarial, mas as informações de localização e recurso não foram enviadas. Forneça essas informações manualmente no Admin Console do dispositivo.</translation>
+<translation id="2396783860772170191">Insira o PIN de quatro dígitos (0000-9999)</translation>
 <translation id="2408955596600435184">Informe seu PIN</translation>
 <translation id="241082044617551207">Plug-in desconhecido</translation>
 <translation id="2413749388954403953">Alterar a interface de favoritos do usuário</translation>
+<translation id="241639282915300771">Restauração do <ph name="CONTAINER_ID" /> em andamento</translation>
 <translation id="241727068219398187">Dados foram criptografados com sua senha do Google a partir de
           <ph name="TIME" />. Isso não inclui formas de pagamento e endereços do Google Pay.</translation>
 <translation id="2419706071571366386">Por segurança, saia da sua conta quando seu computador não estiver sendo usado.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">Sincronização desativada</translation>
 <translation id="2540449034743108469">Pressione "Iniciar" para ouvir as atividades da extensão</translation>
 <translation id="2541002089857695151">Otimizar transmissão em tela cheia?</translation>
+<translation id="2541706104884128042">Nova hora de dormir definida</translation>
 <translation id="2544853746127077729">Certificado de autenticação rejeitado pela rede</translation>
 <translation id="2549985041256363841">Iniciar gravação</translation>
 <translation id="2550212893339833758">Memória trocada</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">Sair</translation>
 <translation id="2678063897982469759">Reativar</translation>
 <translation id="268053382412112343">Hi&amp;stórico</translation>
+<translation id="2682498795777673382">Atualização dos seus pais</translation>
 <translation id="2683638487103917598">Pasta classificada</translation>
 <translation id="2684004000387153598">Para continuar, clique em OK e depois em Adicionar pessoa para criar um novo perfil para seu endereço de e-mail.</translation>
 <translation id="2688196195245426394">Erro ao registrar o dispositivo no cliente: <ph name="CLIENT_ERROR" />.</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">R&amp;eabrir janela fechada</translation>
 <translation id="2731700343119398978">Aguarde...</translation>
 <translation id="2731710757838467317">Criando seu usuário supervisionado. Isso pode demorar alguns instantes.</translation>
+<translation id="2731971182069536520">Na próxima vez que você reiniciar o dispositivo, o administrador fará uma atualização única que excluirá seus dados locais.</translation>
 <translation id="2734760316755174687">Os sites de <ph name="SITE_GROUP_NAME" /> também serão redefinidos.</translation>
 <translation id="2735438478659026460">Clicar automaticamente quando o cursor do mouse parar</translation>
 <translation id="2735712963799620190">Programar</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">Mecanismos de fala</translation>
 <translation id="3047644958362961983">Estas informações nos ajudam a entender melhor o problema com o Assistente. Elas são armazenadas por até 90 dias, e o acesso é restrito às equipes de engenharia e feedback adequadas.</translation>
 <translation id="3053013834507634016">Uso da chave de certificado</translation>
+<translation id="3053273573829329829">Ativar o PIN do usuário</translation>
 <translation id="3058498974290601450">Ative a sincronização quando quiser nas configurações</translation>
 <translation id="3060379269883947824">Ativar Selecionar para ouvir</translation>
 <translation id="3061707000357573562">Aplicar patch ao serviço</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">O Google Chrome ficou sem memória ou o processo da página foi encerrado por algum outro motivo. Para continuar, atualize a página ou vá para outra página.</translation>
 <translation id="3085412380278336437">O site pode usar sua câmera</translation>
 <translation id="3085752524577180175">Host SOCKS</translation>
+<translation id="3088052000289932193">O site está usando um dispositivo MIDI</translation>
 <translation id="3088325635286126843">&amp;Renomear...</translation>
 <translation id="3089137131053189723">Pesquisa apagada</translation>
 <translation id="3090193911106258841">Acessando entrada de áudio e vídeo</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">Frente e verso</translation>
 <translation id="3317678681329786349">Câmera e microfone bloqueados</translation>
 <translation id="3319048459796106952">Nova janela &amp;anônima</translation>
+<translation id="3323521181261657960">Bônus! Você ganhou mais tempo de uso</translation>
 <translation id="3325910708063135066">A câmera e o microfone estão desativados nas preferências do sistema do Mac</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informações sobre o aplicativo</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">Não foi possível ler a política do modo de demonstração off-line.</translation>
 <translation id="3766223500670287046">Tela remota</translation>
 <translation id="3768037234834996183">Sincronizando suas preferências...</translation>
+<translation id="377050016711188788">Sorvete</translation>
 <translation id="3771294271822695279">Arquivos de vídeo</translation>
 <translation id="3775432569830822555">Certificado de servidor SSL</translation>
 <translation id="3775705724665058594">Enviar para seus dispositivos</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">Índice incorreto.</translation>
 <translation id="3870931306085184145">Nenhuma senha salva para <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Mais baixa</translation>
+<translation id="3871350334636688135">Após 24 horas, o administrador fará uma atualização única que excluirá seus dados locais quando você reiniciar o dispositivo. Salve os dados locais que precisar no armazenamento em nuvem em até 24 horas.</translation>
 <translation id="3872220884670338524">Mais ações, contas salvas de <ph name="USERNAME" /> em <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Libere espaço em disco, ou o dispositivo deixará de responder.</translation>
 <translation id="3873315167136380065">Para ativar essa configuração, <ph name="BEGIN_LINK" />redefina a sincronização<ph name="END_LINK" /> e remova sua senha longa de sincronização</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">Os dados de alguns apps podem ter sido perdidos</translation>
 <translation id="3983586614702900908">dispositivos de um fornecedor desconhecido</translation>
 <translation id="3984159763196946143">Não foi possível iniciar o modo de demonstração</translation>
+<translation id="3984431586879874039">Permitir que este site veja sua chave de segurança?</translation>
 <translation id="3987348946546879621">Dados economizados</translation>
 <translation id="3987938432087324095">Não entendi.</translation>
 <translation id="3988996860813292272">Selecionar fuso horário</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">Restaurar mecanismo de pesquisa padrão?</translation>
 <translation id="4099874310852108874">Ocorreu um erro de rede.</translation>
 <translation id="4100733287846229632">Espaço em disco do dispositivo criticamente baixo</translation>
+<translation id="4100853287411968461">Novo limite de tempo de uso</translation>
 <translation id="4103091233824664032">Digite sua senha para configurar o bloqueio de tela e o login</translation>
 <translation id="4104163789986725820">E&amp;xportar...</translation>
 <translation id="4107048419833779140">Identificar e ejetar dispositivos de armazenamento</translation>
 <translation id="4109135793348361820">Mover janela para <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Download concluído: <ph name="FILE_NAME" />. Pressione Shift+F6 para voltar à área da barra de downloads.</translation>
 <translation id="4110895898888439383">Navegue na Web usando o modo de alto contraste</translation>
-<translation id="4112221174576828331">Se uma imagem não tiver uma descrição útil, o Chrome fornecerá uma para você. As imagens são verificadas pelo Google.</translation>
 <translation id="4115002065223188701">Rede fora de alcance</translation>
 <translation id="4115080753528843955">Alguns serviços de conteúdo usam identificadores exclusivos para autorizar o acesso a conteúdo protegido</translation>
 <translation id="4118579674665737931">Reinicialize o dispositivo e tente novamente.</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">Arquivo incompleto</translation>
 <translation id="4325237902968425115">Desinstalando <ph name="LINUX_APP_NAME" />…</translation>
 <translation id="4328203388435897516">Quando o Chromebook estiver configurado, pressione o botão do Assistente ou diga "Ok Google" para receber ajuda a qualquer momento. Acesse as configurações do Assistente para fazer alterações.</translation>
+<translation id="4330191372652740264">Água com gelo</translation>
 <translation id="4330387663455830245">Nunca traduzir <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 com criptografia RSA</translation>
 <translation id="4336979451636460645">Para registros de rede, consulte: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">Silver</translation>
 <translation id="4387004326333427325">Certificado de autenticação rejeitado remotamente</translation>
 <translation id="4389091756366370506">Usuário <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Anônima}one{# janela anônima aberta}other{# janelas anônimas abertas}}</translation>
 <translation id="439266289085815679">A configuração do Bluetooth é controlada por <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Desativar</translation>
 <translation id="4400367121200150367">Sites que nunca salvam senhas serão mostrados aqui</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">Desbloqueie seu perfil antes de adicionar uma pessoa.</translation>
 <translation id="4651484272688821107">Não foi possível carregar o componente on-line com recursos do modo de demonstração.</translation>
 <translation id="465878909996028221">Apenas os protocolos http, https e file são compatíveis com redirecionamentos do navegador.</translation>
+<translation id="4659077111144409915">Conta principal</translation>
 <translation id="4660476621274971848">A versão esperada era "<ph name="EXPECTED_VERSION" />", mas a instalada foi a "<ph name="NEW_ID" />"</translation>
 <translation id="4662788913887017617">Compartilhar esse favorito com seu iPhone</translation>
 <translation id="4663373278480897665">Câmera permitida</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">Afiliação alterada</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4726710629007580002">Houve avisos quando você tentou instalar esta extensão:</translation>
+<translation id="4727847987444062305">Sessão de visitante gerenciada</translation>
 <translation id="4728558894243024398">Plataforma</translation>
 <translation id="4733082559415072992"><ph name="URL" /> quer acessar o local do seu dispositivo</translation>
 <translation id="4733793249294335256">Local</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">Mostrar detalhes</translation>
 <translation id="4890773143211625964">Mostrar opções avançadas de impressora</translation>
 <translation id="4891089016822695758">Fórum do Beta</translation>
+<translation id="4892229439761351791">O site pode usar o Bluetooth</translation>
 <translation id="4893336867552636863">Isso excluirá permanentemente os dados de navegação deste dispositivo.</translation>
 <translation id="4893522937062257019">Na tela de bloqueio</translation>
 <translation id="4898011734382862273">O certificado "<ph name="CERTIFICATE_NAME" />" representa uma Autoridade de certificação</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">Você está conectado a <ph name="SHORT_PRODUCT_NAME" />. Seus favoritos, o histórico e outras configurações estão sendo sincronizados com sua Conta do Google.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422">Solicitação do download de vários arquivos feita por <ph name="ORIGIN" /></translation>
+<translation id="5192316339598592690">Mude de conta rapidamente e faça login em apps e sites ao mesmo tempo.
+    Apps e sites podem pedir permissão para usar algumas informações da sua Conta do Google. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Execute o Powerwash do dispositivo e tente novamente.</translation>
 <translation id="5204967432542742771">Insira a senha</translation>
 <translation id="5206215183583316675">Quer excluir "<ph name="CERTIFICATE_NAME" />"?</translation>
@@ -3517,6 +3541,7 @@
 <translation id="6547354035488017500">Libere pelo menos 512 MB de espaço. Caso contrário, seu dispositivo deixará de responder. Para liberar espaço, exclua arquivos do armazenamento do dispositivo.</translation>
 <translation id="6550675742724504774">Opções</translation>
 <translation id="6551508934388063976">Comando não disponível. Pressione "Control-N" para abrir uma nova janela.</translation>
+<translation id="6551612971599078809">O site está usando um dispositivo USB</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> usuários</translation>
 <translation id="655483977608336153">Tentar novamente</translation>
 <translation id="6555432686520421228">Remover todas as contas de usuário e redefinir seu dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /> para as condições de fábrica.</translation>
@@ -3741,6 +3766,7 @@
 <translation id="692114467174262153">Não foi possível abrir o <ph name="ALTERNATIVE_BROWSER_NAME" /></translation>
 <translation id="6921709132208495314">Parar de usar dados nesta página</translation>
 <translation id="6922128026973287222">Economize dados e navegue mais rápido usando a Economia de dados do Google. Clique para saber mais.</translation>
+<translation id="6922745772873733498">Insira um PIN para imprimir</translation>
 <translation id="6923132443355966645">Rolar / Clicar</translation>
 <translation id="6923633482430812883">Erro ao ativar o compartilhamento. Verifique se o servidor de arquivos ao qual você está se conectando tem compatibilidade com SMBv2 ou versões posteriores.</translation>
 <translation id="6930036377490597025">Chave de segurança externa ou sensor integrado</translation>
@@ -3795,6 +3821,7 @@
 <translation id="7003339318920871147">Bancos de dados da web</translation>
 <translation id="7003723821785740825">Configure uma forma mais rápida de desbloquear seu dispositivo</translation>
 <translation id="7003844668372540529">Produto <ph name="PRODUCT_ID" /> desconhecido de <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">O site pode usar um dispositivo MIDI</translation>
 <translation id="7004499039102548441">Guias recentes</translation>
 <translation id="7005848115657603926">Intervalo de páginas inválido. Use <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margem inferior</translation>
@@ -3807,9 +3834,11 @@
 <translation id="7017480957358237747">permitir ou proibir determinados websites,</translation>
 <translation id="7018275672629230621">Ler e alterar seu histórico de navegação</translation>
 <translation id="7019805045859631636">Rápido</translation>
+<translation id="702252130983202758">Seus apps</translation>
 <translation id="7022562585984256452">Sua página inicial foi definida.</translation>
 <translation id="7025190659207909717">Gerenciamento dos serviços de dados móveis</translation>
 <translation id="7029809446516969842">Senhas</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" />: porta serial conectada</translation>
 <translation id="7031962166228839643">O TPM está sendo preparado. Aguarde, esse processo pode demorar alguns minutos...</translation>
 <translation id="7037509989619051237">Texto para visualização</translation>
 <translation id="7039326228527141150">Acessa dispositivos USB do <ph name="VENDOR_NAME" /></translation>
@@ -3834,6 +3863,7 @@
 <translation id="706626672220389329">Erro ao ativar o compartilhamento. O compartilhamento especificado já está ativado.</translation>
 <translation id="7066944511817949584">Falha ao conectar-se a "<ph name="DEVICE_NAME" />".</translation>
 <translation id="7067725467529581407">Nunca mostrar isso novamente.</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> pode exigir um tipo de chave de segurança mais recente ou diferente</translation>
 <translation id="7070484045139057854">Pode ler e alterar os dados do site</translation>
 <translation id="7072010813301522126">Nome do atalho</translation>
 <translation id="707392107419594760">Selecione seu teclado:</translation>
@@ -3914,6 +3944,7 @@
 <translation id="7189234443051076392">Verifique se há espaço suficiente no seu dispositivo</translation>
 <translation id="7189965711416741966">Impressão digital adicionada.</translation>
 <translation id="7191159667348037">Impressora desconhecida (USB)</translation>
+<translation id="7193051357671784796">Este app foi adicionado pela sua organização. Reinicie o app para concluir a instalação.</translation>
 <translation id="7193374945610105795">Nenhuma senha salva para <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Fazer backup no Google Drive. Restaure seus dados com facilidade ou troque de dispositivo a qualquer momento. O backup inclui dados de apps. Ele é enviado ao Google e criptografado usando a senha da sua Conta do Google. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Aproveite a tecnologia do Google e da Pesquisa sempre que navegar</translation>
@@ -4336,6 +4367,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Observação:<ph name="END_BOLD" /> o sistema será reinicializado durante o processo.</translation>
 <translation id="7829298379596169484">Acessando entrada de áudio</translation>
+<translation id="7830594666202422257">Conectar ao Linux</translation>
 <translation id="7831491651892296503">Erro ao configurar a rede</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Horário de término</translation>
@@ -4365,6 +4397,7 @@
 <translation id="7877451762676714207">Erro de servidor desconhecido. Tente novamente ou entre em contato com o administrador do servidor.</translation>
 <translation id="7877680364634660272">Tour</translation>
 <translation id="7878562273885520351">Sua senha pode estar comprometida</translation>
+<translation id="7880823633812189969">Os dados locais serão excluídos quando você reiniciar</translation>
 <translation id="7881483672146086348">Visualizar conta</translation>
 <translation id="7882358943899516840">Tipo de provedor</translation>
 <translation id="7885253890047913815">Destinos recentes</translation>
@@ -4460,6 +4493,7 @@
 <translation id="8008356846765065031">Internet desconectada. Verifique sua conexão com a Internet.</translation>
 <translation id="8009225694047762179">Gerenciar senha</translation>
 <translation id="8012382203418782830">Esta página foi traduzida.</translation>
+<translation id="8013993649590906847">Se uma imagem não tiver uma descrição útil, o Chrome tentará fornecer uma para você. As imagens serão enviadas ao Google para a criação de descrições.</translation>
 <translation id="8014154204619229810">O atualizador está sendo executado no momento. Aguarde um minuto e atualize para verificar novamente.</translation>
 <translation id="8014206674403687691">Não foi possível reverter o produto <ph name="IDS_SHORT_PRODUCT_NAME" /> para a versão anteriormente instalada. Tente executar novamente o Powerwash no seu dispositivo.</translation>
 <translation id="8014210335923519270">Melhore o <ph name="IDS_SHORT_PRODUCT_NAME" /> e a segurança dele enviando informações do sistema e sobre o uso para o Google</translation>
@@ -4704,6 +4738,7 @@
 <translation id="8426713856918551002">Ativando</translation>
 <translation id="8427292751741042100">incorporado em qualquer host</translation>
 <translation id="8428213095426709021">Configurações</translation>
+<translation id="8428628598981198790">Sua chave de segurança não pode ser usada com este site</translation>
 <translation id="84297032718407999">Você será desconectado em <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Mostrar toques</translation>
 <translation id="8431909052837336408">Alterar PIN do chip</translation>
@@ -4908,6 +4943,7 @@
 <translation id="8732212173949624846">Ler e modificar seu histórico de navegação em todos os dispositivos nos quais você fez login</translation>
 <translation id="8732844209475700754">Mais configurações relacionadas à privacidade, segurança e coleta de dados</translation>
 <translation id="8734073480934656039">A ativação dessa configuração permite que os aplicativos de quiosque sejam iniciados automaticamente na inicialização.</translation>
+<translation id="8734671092194994316">Isso deixará um registro da sua visita a <ph name="WEBSITE" /> na sua chave de segurança.</translation>
 <translation id="873545264931343897">Quando a atualização do plug-in <ph name="PLUGIN_NAME" /> terminar, atualize a página para ativá-lo</translation>
 <translation id="8736288397686080465">Este site foi atualizado em segundo plano.</translation>
 <translation id="8737685506611670901">Abrir links de <ph name="PROTOCOL" /> em vez de <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5006,6 +5042,7 @@
 <translation id="8877448029301136595">[diretório pai]</translation>
 <translation id="8879284080359814990">&amp;Mostrar como guia</translation>
 <translation id="8883847527783433352">Sincronizar com outra conta</translation>
+<translation id="8884570509232205463">Seu dispositivo será bloqueado neste horário: <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">O Smart Lock não está disponível</translation>
 <translation id="8888253246822647887">O app será aberto após a conclusão do upgrade. Os upgrades podem levar alguns minutos.</translation>
 <translation id="8888432776533519951">Cor:</translation>
@@ -5030,7 +5067,6 @@
 <translation id="891365694296252935">Envie dados de uso e diagnóstico. No momento, este dispositivo está enviando automaticamente ao Google dados de diagnóstico, de uso de apps e do dispositivo. Eles não serão usados para identificar seu filho e ajudarão a melhorar o sistema, a estabilidade de apps e muito mais. Alguns dados agregados também ajudarão os apps do Google e os nossos parceiros, como os desenvolvedores Android. Essa configuração é aplicada pelo proprietário. Se a opção "Atividade na Web e de apps adicional" estiver ativada para seu filho, esses dados poderão ser salvos na Conta do Google dele. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Carregando sugestão</translation>
 <translation id="8916476537757519021">Subquadro anônimo: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Sim</translation>
 <translation id="8919275547519617350">Para ter todas as suas senhas em todos os seus dispositivos, faça login e ative a sincronização.</translation>
 <translation id="8921366488406707015">Verificando sua chave de segurança…</translation>
 <translation id="8922013791253848639">Sempre permitir anúncios neste site</translation>
@@ -5099,6 +5135,7 @@
 <translation id="9026852570893462412">O processo pode levar alguns minutos. Fazendo o download da máquina virtual.</translation>
 <translation id="9027459031423301635">Abrir link em uma nova &amp;guia</translation>
 <translation id="9030515284705930323">Sua organização não ativou a Google Play Store para sua conta. Entre em contato com seu administrador para receber mais informações.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Colar</translation>
 <translation id="9037965129289936994">Mostrar original</translation>
 <translation id="9038649477754266430">Usar um serviço de previsão para carregar páginas mais rapidamente</translation>
@@ -5128,7 +5165,6 @@
 <translation id="9065203028668620118">Editar</translation>
 <translation id="9066773882585798925">Ouvir o texto lido em voz alta</translation>
 <translation id="9066782832737749352">Conversão de texto em voz</translation>
-<translation id="907264006778172906">Conceder ao Linux permissão para acessar dispositivos USB. O Linux não terá informações do dispositivo USB depois que ele for removido.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Mouse USB conectado</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index 7d0e8d6..9c18126e 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Não foi possível carregar dispositivos.</translation>
 <translation id="1008186147501209563">Exportar marcadores</translation>
 <translation id="1008557486741366299">Agora não</translation>
+<translation id="1010498023906173788">Este separador está associado a uma porta de série.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Página sem resposta}other{Páginas sem resposta}}</translation>
 <translation id="1012794136286421601">Os seus ficheiros de Documentos, Folhas, Apresentações e Desenhos estão a ser sincronizados. Abra a aplicação Google Drive para aceder aos ficheiros online ou offline.</translation>
 <translation id="1012876632442809908">Dispositivo USB-C (porta frontal)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Premir |<ph name="ACCELERATOR" />| para sair do ecrã inteiro</translation>
 <translation id="1038168778161626396">Cifrar apenas</translation>
 <translation id="1039337018183941703">Ficheiro inválido ou danificado</translation>
+<translation id="1041175011127912238">Esta página não está a responder.</translation>
 <translation id="1042174272890264476">O seu computador também tem a biblioteca RLZ de <ph name="SHORT_PRODUCT_NAME" /> incorporada. A RLZ atribui uma etiqueta não exclusiva e não identificável a nível pessoal para medir as pesquisas e a utilização de <ph name="SHORT_PRODUCT_NAME" /> impulsionada por uma campanha promocional específica. Estas etiquetas por vezes aparecem em consultas da Pesquisa Google em <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Ups, esse nome já está a ser utilizado!</translation>
 <translation id="1046635659603195359">Parece que já configurou o Voice Match com o Assistente Google noutro dispositivo. É possível utilizar estas gravações anteriores para criar um modelo de voz neste dispositivo. Este processo deve demorar menos de um minuto.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Navegue na Web sem guardar o seu histórico de navegação com uma janela de navegação anónima</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> impressões digitais configuradas</translation>
 <translation id="1215411991991485844">Nova aplicação de segundo plano adicionada</translation>
+<translation id="1217483152325416304">Os seus dados locais vão ser eliminados em breve</translation>
 <translation id="1217668622537098248">Reverter para clique com o botão esquerdo do rato após a ação.</translation>
 <translation id="121783623783282548">As palavras-passe não correspondem.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />O serviço de localização da Google utiliza fontes como as redes Wi‑Fi, as redes móveis e os sensores para ajudar a calcular a localização deste dispositivo.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Detalhes: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">A instalação não está ativada.</translation>
 <translation id="1483493594462132177">Enviar</translation>
+<translation id="1484979925941077974">O site está a utilizar o Bluetooth.</translation>
 <translation id="1485015260175968628">Esta pode agora:</translation>
 <translation id="1485141095922496924">Versão <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Pesquisar palavras-passe</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Inativa)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (nativa)</translation>
+<translation id="1711401317189798723">Neste momento, está a decorrer a cópia de segurança de <ph name="CONTAINER_ID" />.</translation>
 <translation id="1712349894969001173">Obter esta palavra-passe no iPhone</translation>
 <translation id="1712552549805331520"><ph name="URL" /> pretende armazenar permanentemente os dados no seu computador local.</translation>
 <translation id="1718835860248848330">Última hora</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Opções do acesso por comutador</translation>
 <translation id="1932098463447129402">Não anterior a</translation>
 <translation id="1933809209549026293">Ligue um rato ou um teclado. Se estiver a utilizar um dispositivo Bluetooth, certifique-se de que está preparado para sincronizar.</translation>
+<translation id="1937774647013465102">Não é possível importar o tipo de arquitetura de contentor <ph name="ARCHITECTURE_CONTAINER" /> com este dispositivo cuja arquitetura é <ph name="ARCHITECTURE_DEVICE" />. Pode tentar restaurar este contentor para um dispositivo diferente ou pode aceder aos ficheiros contidos na imagem deste contentor através da aplicação Ficheiros.</translation>
 <translation id="1938351510777341717">Comando externo</translation>
 <translation id="1940546824932169984">Dispositivos associados</translation>
 <translation id="1944921356641260203">Atualização encontrada</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Activar</translation>
 <translation id="2394566832561516196">As definições serão limpas na atualização seguinte.</translation>
 <translation id="2395616325548404795">O seu <ph name="DEVICE_TYPE" /> foi inscrito com êxito para gestão empresarial, mas não enviou as respetivas informações de recurso e de localização. Introduza essas informações para este dispositivo manualmente a partir da Consola do gestor.</translation>
+<translation id="2396783860772170191">Introduza o PIN de 4 dígitos (0000-9999)</translation>
 <translation id="2408955596600435184">Introduza o PIN</translation>
 <translation id="241082044617551207">Plug-in desconhecido</translation>
 <translation id="2413749388954403953">Alterar a interface de utilizador dos marcadores</translation>
+<translation id="241639282915300771">Neste momento, está a decorrer o restauro do contentor <ph name="CONTAINER_ID" />.</translation>
 <translation id="241727068219398187">Os dados foram encriptados com a sua palavra-passe do Google em <ph name="TIME" />. Não estão incluídos métodos de pagamento e endereços do Google Pay.</translation>
 <translation id="2419706071571366386">Por motivos de segurança, termine a sessão quando não estiver a utilizar o computador.</translation>
 <translation id="2423578206845792524">Guard&amp;ar imagem como...</translation>
@@ -985,6 +993,7 @@
 <translation id="2538361623464451692">Sincronização desativada</translation>
 <translation id="2540449034743108469">Prima "Iniciar" para ouvir atividades de extensões</translation>
 <translation id="2541002089857695151">Pretende otimizar a transmissão de ecrã inteiro?</translation>
+<translation id="2541706104884128042">Nova hora de dormir definida.</translation>
 <translation id="2544853746127077729">Certificado de autenticação rejeitado pela rede</translation>
 <translation id="2549985041256363841">Iniciar gravação</translation>
 <translation id="2550212893339833758">Memória trocada</translation>
@@ -1076,6 +1085,7 @@
 <translation id="2677748264148917807">Sair</translation>
 <translation id="2678063897982469759">Reactivar</translation>
 <translation id="268053382412112343">&amp;Histórico</translation>
+<translation id="2682498795777673382">Atualização de um dos pais</translation>
 <translation id="2683638487103917598">Pasta ordenada</translation>
 <translation id="2684004000387153598">Para continuar, clique em OK e, de seguida, clique em Adicionar pessoa para criar um novo perfil para o seu endereço de email.</translation>
 <translation id="2688196195245426394">Erro ao registar o dispositivo no servidor: <ph name="CLIENT_ERROR" />.</translation>
@@ -1109,6 +1119,7 @@
 <translation id="2731392572903530958">Voltar a Abrir a Jan&amp;ela Fechada</translation>
 <translation id="2731700343119398978">Aguarde...</translation>
 <translation id="2731710757838467317">A criar o utilizador supervisionado. Isto poderá demorar alguns momentos.</translation>
+<translation id="2731971182069536520">Da próxima vez que reiniciar o dispositivo, o administrador vai efetuar uma atualização única que vai eliminar os seus dados locais.</translation>
 <translation id="2734760316755174687">Os sites em <ph name="SITE_GROUP_NAME" /> também serão repostos.</translation>
 <translation id="2735438478659026460">Clicar automaticamente quando o cursor do rato parar</translation>
 <translation id="2735712963799620190">Programação</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">Motores de voz</translation>
 <translation id="3047644958362961983">Estas informações ajudam-nos a compreender melhor o seu problema com o Assistente. Ficam armazenadas durante, no máximo, 90 dias e o acesso está restrito às equipas de engenharia e comentários dedicadas.</translation>
 <translation id="3053013834507634016">Utilização de chave de certificado</translation>
+<translation id="3053273573829329829">Ativar o PIN do utilizador</translation>
 <translation id="3058498974290601450">Pode ativar a sincronização em qualquer altura nas definições.</translation>
 <translation id="3060379269883947824">Ativar Selecionar para ativar voz</translation>
 <translation id="3061707000357573562">Serviço de patch</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">O Chrome ficou sem memória ou o processo para a página Web foi terminado por qualquer outro motivo. Para continuar, atualize ou aceda a outra página.</translation>
 <translation id="3085412380278336437">O site pode utilizar a câmara.</translation>
 <translation id="3085752524577180175">Anfitrião SOCKS</translation>
+<translation id="3088052000289932193">O site está a utilizar MIDI</translation>
 <translation id="3088325635286126843">&amp;Mudar o nome...</translation>
 <translation id="3089137131053189723">Pesquisa limpa.</translation>
 <translation id="3090193911106258841">A aceder à entrada de áudio e de vídeo</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">Frente e verso</translation>
 <translation id="3317678681329786349">Câmara e microfone bloqueados</translation>
 <translation id="3319048459796106952">&amp;Nova janela sem registo</translation>
+<translation id="3323521181261657960">Bónus! Tens mais tempo de utilização</translation>
 <translation id="3325910708063135066">A câmara e o microfone estão desativados nas Preferências do Sistema no Mac</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informações da aplicação</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">Não foi possível ler a política do modo de demonstração offline.</translation>
 <translation id="3766223500670287046">Ecrã remoto</translation>
 <translation id="3768037234834996183">A sincronizar as preferências...</translation>
+<translation id="377050016711188788">Gelado</translation>
 <translation id="3771294271822695279">Ficheiros de vídeo</translation>
 <translation id="3775432569830822555">Certificado de servidor SSL</translation>
 <translation id="3775705724665058594">Envie para os seus dispositivos</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">Índice errado.</translation>
 <translation id="3870931306085184145">Nenhuma palavra-passe guardada para <ph name="DOMAIN" />.</translation>
 <translation id="3871092408932389764">A mais baixa</translation>
+<translation id="3871350334636688135">Após 24 horas, o administrador vai efetuar uma atualização única que vai eliminar os seus dados locais quando reiniciar o dispositivo. Tem 24 horas para guardar todos os dados locais de que necessita no armazenamento na nuvem.</translation>
 <translation id="3872220884670338524">Mais ações, conta de <ph name="USERNAME" /> guardada em <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Liberte espaço em disco ou o dispositivo deixará de responder.</translation>
 <translation id="3873315167136380065">Para ativar isto, <ph name="BEGIN_LINK" />reponha a sincronização<ph name="END_LINK" /> para remover a frase de acesso de sincronização.</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">Os dados de algumas aplicações podem ser perdidos.</translation>
 <translation id="3983586614702900908">dispositivos de um fornecedor desconhecido</translation>
 <translation id="3984159763196946143">Não foi possível iniciar o modo de demonstração</translation>
+<translation id="3984431586879874039">Pretende permitir que este site veja a sua chave de segurança?</translation>
 <translation id="3987348946546879621">Poupou dados.</translation>
 <translation id="3987938432087324095">Lamento, mas não compreendi.</translation>
 <translation id="3988996860813292272">Selecionar fuso horário</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">Pretende restaurar o motor de pesquisa predefinido?</translation>
 <translation id="4099874310852108874">Ocorreu um erro de rede.</translation>
 <translation id="4100733287846229632">Espaço do dispositivo criticamente baixo</translation>
+<translation id="4100853287411968461">Novo limite de tempo de utilização.</translation>
 <translation id="4103091233824664032">Introduza a palavra-passe para configurar o bloqueio de ecrã e iniciar sessão.</translation>
 <translation id="4104163789986725820">E&amp;xportar...</translation>
 <translation id="4107048419833779140">Identificar e ejetar dispositivos de armazenamento</translation>
 <translation id="4109135793348361820">Mover a janela para <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Transferência concluída: <ph name="FILE_NAME" />. Prima Shift+F6 para aceder à área da barra de transferências.</translation>
 <translation id="4110895898888439383">Navegar na Web no Modo de alto contraste</translation>
-<translation id="4112221174576828331">Se uma imagem não tiver uma descrição útil, o Chrome fornece uma. As imagens são analisadas pelo Google.</translation>
 <translation id="4115002065223188701">Rede fora do alcance</translation>
 <translation id="4115080753528843955">Alguns serviços de conteúdo utilizam identificadores exclusivos para autorizar o acesso a conteúdo protegido</translation>
 <translation id="4118579674665737931">Reinicie o dispositivo e tente novamente.</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">Ficheiro incompleto</translation>
 <translation id="4325237902968425115">A desinstalar <ph name="LINUX_APP_NAME" />…</translation>
 <translation id="4328203388435897516">Quando o seu Chromebook estiver configurado, prima o botão do Assistente ou diga "OK Google" para obter ajuda em qualquer altura. Aceda às definições do Assistente para efetuar alterações.</translation>
+<translation id="4330191372652740264">Água gelada</translation>
 <translation id="4330387663455830245">Nunca traduzir do <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 Com encriptação RSA</translation>
 <translation id="4336979451636460645">Para aceder aos registos da rede, consulte <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">Trovão</translation>
 <translation id="4387004326333427325">Certificado de autenticação rejeitado remotamente</translation>
 <translation id="4389091756366370506">Utilizador <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Navegação anónima}other{# janelas de navegação anónima abertas}}</translation>
 <translation id="439266289085815679">A configuração do Bluetooth é controlada por <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Desactivar</translation>
 <translation id="4400367121200150367">Os sites que nunca guardam a palavra-passe aparecem aqui</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">Desbloqueie o seu perfil antes de adicionar uma pessoa.</translation>
 <translation id="4651484272688821107">Não foi possível carregar o componente online com os recursos do modo de demonstração.</translation>
 <translation id="465878909996028221">Apenas são suportados os protocolos HTTP, HTTPS e protocolos de ficheiros para redirecionamento do navegador.</translation>
+<translation id="4659077111144409915">Conta principal</translation>
 <translation id="4660476621274971848">A versão esperada era "<ph name="EXPECTED_VERSION" />", mas a versão foi "<ph name="NEW_ID" />".</translation>
 <translation id="4662788913887017617">Partilhar este marcador com o seu iPhone</translation>
 <translation id="4663373278480897665">Câmara permitida</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">A afiliação mudou</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4726710629007580002">Foram obtidos avisos ao tentar instalar esta extensão:</translation>
+<translation id="4727847987444062305">Sessão de convidado gerida</translation>
 <translation id="4728558894243024398">Plataforma</translation>
 <translation id="4733082559415072992"><ph name="URL" /> pretende utilizar a localização do seu dispositivo.</translation>
 <translation id="4733793249294335256">Local</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">Mostrar Detalhes</translation>
 <translation id="4890773143211625964">Mostrar opções avançadas da impressora</translation>
 <translation id="4891089016822695758">Fórum da versão beta</translation>
+<translation id="4892229439761351791">O site pode utilizar Bluetooth.</translation>
 <translation id="4893336867552636863">Esta ação elimina permanentemente os dados de navegação deste dispositivo.</translation>
 <translation id="4893522937062257019">No ecrã de bloqueio</translation>
 <translation id="4898011734382862273">O certificado "<ph name="CERTIFICATE_NAME" />" representa uma autoridade de certificação</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">Está com sessão iniciada no <ph name="SHORT_PRODUCT_NAME" />. Os seus marcadores, histórico e outras definições estão a ser sincronizados com a sua Conta Google.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> pretende transferir vários ficheiros.</translation>
+<translation id="5192316339598592690">Alterne entre contas rapidamente e inicie sessão em aplicações e Websites, tudo em simultâneo.
+    As aplicações e os sites podem solicitar-lhe autorização para utilizar algumas das informações da sua Conta Google. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Efetue um Powerwash ao dispositivo e tente novamente.</translation>
 <translation id="5204967432542742771">Introduzir palavra-passe</translation>
 <translation id="5206215183583316675">Pretende eliminar "<ph name="CERTIFICATE_NAME" />"?</translation>
@@ -3516,6 +3540,7 @@
 <translation id="6547354035488017500">Liberte, pelo menos, 512 MB de espaço ou o seu dispositivo deixa de responder. Para libertar espaço, elimine ficheiros do armazenamento do dispositivo.</translation>
 <translation id="6550675742724504774">Opções</translation>
 <translation id="6551508934388063976">Comando indisponível. Prima control-N para abrir uma nova janela.</translation>
+<translation id="6551612971599078809">O site está a utilizar um dispositivo USB</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> utilizadores</translation>
 <translation id="655483977608336153">Tentar novamente</translation>
 <translation id="6555432686520421228">Remova todas as contas de utilizador e reponha o seu dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /> para que fique como novo.</translation>
@@ -3740,6 +3765,7 @@
 <translation id="692114467174262153">Não foi possível abrir o <ph name="ALTERNATIVE_BROWSER_NAME" />.</translation>
 <translation id="6921709132208495314">Parar de utilizar dados nesta página</translation>
 <translation id="6922128026973287222">Poupe dados e navegue mais rápido com a Poupança de dados Google. Clique para saber mais.</translation>
+<translation id="6922745772873733498">Introduza um PIN para imprimir</translation>
 <translation id="6923132443355966645">Deslocar/clicar</translation>
 <translation id="6923633482430812883">Erro ao montar a partilha. Verifique se o servidor de ficheiros ao qual está a ligar suporta o SMBv2 ou posterior.</translation>
 <translation id="6930036377490597025">Chave de segurança externa ou sensor incorporado</translation>
@@ -3794,6 +3820,7 @@
 <translation id="7003339318920871147">Base de dados da Web</translation>
 <translation id="7003723821785740825">Configure uma forma mais rápida de desbloquear o seu dispositivo</translation>
 <translation id="7003844668372540529">Produto desconhecido <ph name="PRODUCT_ID" /> de <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">O site pode utilizar MIDI</translation>
 <translation id="7004499039102548441">Separadores recentes</translation>
 <translation id="7005848115657603926">Intervalo de páginas inválido, utilize <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margem inferior</translation>
@@ -3806,9 +3833,11 @@
 <translation id="7017480957358237747">permitir ou proibir determinados Sites,</translation>
 <translation id="7018275672629230621">Ler e alterar o histórico de navegação</translation>
 <translation id="7019805045859631636">Rápido</translation>
+<translation id="702252130983202758">As suas aplicações</translation>
 <translation id="7022562585984256452">A sua página inicial foi definida.</translation>
 <translation id="7025190659207909717">Gestão de serviços de dados móveis</translation>
 <translation id="7029809446516969842">Palavras-passe</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - porta de série associada</translation>
 <translation id="7031962166228839643">O TPM está a ser preparado, aguarde (pode demorar alguns minutos)...</translation>
 <translation id="7037509989619051237">Texto para pré-visualização</translation>
 <translation id="7039326228527141150">Aceder a dispositivos USB de <ph name="VENDOR_NAME" /></translation>
@@ -3833,6 +3862,7 @@
 <translation id="706626672220389329">Erro ao montar a partilha. A partilha especificada já está montada.</translation>
 <translation id="7066944511817949584">Falha ao ligar a "<ph name="DEVICE_NAME" />".</translation>
 <translation id="7067725467529581407">Não voltar a mostrar.</translation>
+<translation id="7069811530847688087">O Website <ph name="WEBSITE" /> pode exigir um tipo de chave de segurança mais recente ou diferente.</translation>
 <translation id="7070484045139057854">Permite ler e alterar os dados do site</translation>
 <translation id="7072010813301522126">Nome do atalho</translation>
 <translation id="707392107419594760">Selecionar teclado:</translation>
@@ -3913,6 +3943,7 @@
 <translation id="7189234443051076392">Certifique-se de que existe espaço suficiente no seu dispositivo.</translation>
 <translation id="7189965711416741966">Impressão digital adicionada.</translation>
 <translation id="7191159667348037">Impressora desconhecida (USB)</translation>
+<translation id="7193051357671784796">Esta aplicação foi adicionada pela sua organização. Reinicie a aplicação para concluir a instalação da mesma.</translation>
 <translation id="7193374945610105795">Sem palavras-passe guardadas para <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Faça uma cópia de segurança no Google Drive. Restaure os dados ou mude de dispositivo facilmente em qualquer altura. A cópia de segurança inclui dados de aplicações. As cópias de segurança são carregadas para a Google e encriptadas com a palavra-passe da sua Conta Google. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" />.</translation>
 <translation id="7197190419934240522">Obtenha a Pesquisa Google e a inteligência da Google sempre que navegar</translation>
@@ -4335,6 +4366,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Nota:<ph name="END_BOLD" /> o sistema será reiniciado durante o processo.</translation>
 <translation id="7829298379596169484">A aceder à entrada de áudio</translation>
+<translation id="7830594666202422257">Ligar ao Linux</translation>
 <translation id="7831491651892296503">Ocorreu um erro ao configurar a rede.</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Hora de fim</translation>
@@ -4364,6 +4396,7 @@
 <translation id="7877451762676714207">Erro de servidor desconhecido. Tente novamente ou contacte o gestor do servidor.</translation>
 <translation id="7877680364634660272">Visita guiada</translation>
 <translation id="7878562273885520351">A palavra-passe pode estar comprometida</translation>
+<translation id="7880823633812189969">Os dados locais vão ser eliminados quando reiniciar</translation>
 <translation id="7881483672146086348">Ver Conta</translation>
 <translation id="7882358943899516840">Tipo de fornecedor</translation>
 <translation id="7885253890047913815">Destinos recentes</translation>
@@ -4459,6 +4492,7 @@
 <translation id="8008356846765065031">A Internet está desligada. Verifique a ligação à Internet.</translation>
 <translation id="8009225694047762179">Gerir palavras-passe</translation>
 <translation id="8012382203418782830">Esta página foi traduzida.</translation>
+<translation id="8013993649590906847">Se uma imagem não tiver uma descrição útil, o Chrome tenta fornecer uma. Para criar as descrições, são enviadas imagens para a Google.</translation>
 <translation id="8014154204619229810">O atualizador está em execução atualmente. Atualize dentro de um minuto para verificar novamente.</translation>
 <translation id="8014206674403687691">Não é possível reverter para a versão anteriormente instalada do <ph name="IDS_SHORT_PRODUCT_NAME" />. Repita o processo de Powerwash do dispositivo.</translation>
 <translation id="8014210335923519270">Melhore o <ph name="IDS_SHORT_PRODUCT_NAME" /> e a sua segurança ao enviar informações do sistema e de utilização para a Google.</translation>
@@ -4701,6 +4735,7 @@
 <translation id="8426713856918551002">A ativar…</translation>
 <translation id="8427292751741042100">incorporada em qualquer anfitrião</translation>
 <translation id="8428213095426709021">Definições</translation>
+<translation id="8428628598981198790">Não é possível utilizar a sua chave de segurança neste site</translation>
 <translation id="84297032718407999">A sessão será terminada dentro de <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Mostrar toques</translation>
 <translation id="8431909052837336408">Alterar o PIN do cartão SIM</translation>
@@ -4905,6 +4940,7 @@
 <translation id="8732212173949624846">Ler e alterar o histórico de navegação em todos os dispositivos com sessão iniciada</translation>
 <translation id="8732844209475700754">Mais definições relacionadas com privacidade, segurança e recolha de dados</translation>
 <translation id="8734073480934656039">A ativação desta definição permite que aplicações do quiosque sejam iniciadas automaticamente no arranque.</translation>
+<translation id="8734671092194994316">Esta ativação deixa um registo da sua visita ao Website <ph name="WEBSITE" /> na sua chave de segurança.</translation>
 <translation id="873545264931343897">Quando a atualização do <ph name="PLUGIN_NAME" /> estiver concluída, atualize a página para o ativar</translation>
 <translation id="8736288397686080465">Este site foi atualizado em segundo plano.</translation>
 <translation id="8737685506611670901">Abrir links de <ph name="PROTOCOL" /> em vez de <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5003,6 +5039,7 @@
 <translation id="8877448029301136595">[directório principal]</translation>
 <translation id="8879284080359814990">Mo&amp;strar Como Separador</translation>
 <translation id="8883847527783433352">Sincronizar com outra conta</translation>
+<translation id="8884570509232205463">Agora, o seu dispositivo é bloqueado à(s) <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Smart Lock não disponível</translation>
 <translation id="8888253246822647887">A aplicação será aberta quando a atualização estiver concluída. As atualizações podem demorar alguns minutos.</translation>
 <translation id="8888432776533519951">Cor:</translation>
@@ -5027,7 +5064,6 @@
 <translation id="891365694296252935">Envie dados de utilização e diagnóstico. Agora, este dispositivo está a enviar automaticamente dados de diagnóstico, de utilização de aplicações e do dispositivo para a Google. Estes dados não serão utilizados para identificar a criança e ajudarão a melhorar a estabilidade das aplicações e do sistema, entre outras melhorias. Alguns dados agregados também ajudarão as aplicações e os parceiros Google, como os programadores Android. Esta definição é aplicada pelo proprietário. Se a Atividade da Web e de aplicações adicional estiver ativada para a criança, estes dados podem ser guardados na respetiva Conta Google. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">A carregar sugestão</translation>
 <translation id="8916476537757519021">Subestrutura da navegação anónima: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Sim, aceito</translation>
 <translation id="8919275547519617350">Para obter todas as suas palavras-passe em todos os dispositivos, inicie sessão e ative a sincronização.</translation>
 <translation id="8921366488406707015">A validar a sua chave de segurança…</translation>
 <translation id="8922013791253848639">Permitir sempre anúncios neste site</translation>
@@ -5096,6 +5132,7 @@
 <translation id="9026852570893462412">Este processo pode demorar alguns minutos. A transferir a máquina virtual…</translation>
 <translation id="9027459031423301635">Abrir Link num Novo &amp;Separador</translation>
 <translation id="9030515284705930323">A sua entidade não ativou a Google Play Store para a sua conta. Contacte o gestor para obter mais informações.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">C&amp;olar</translation>
 <translation id="9037965129289936994">Mostrar original</translation>
 <translation id="9038649477754266430">Utilizar um serviço de previsão para carregar páginas mais rapidamente</translation>
@@ -5125,7 +5162,6 @@
 <translation id="9065203028668620118">Editar</translation>
 <translation id="9066773882585798925">Ouvir o texto em voz alta</translation>
 <translation id="9066782832737749352">Síntese de voz</translation>
-<translation id="907264006778172906">Conceda autorização ao Linux para aceder a dispositivos USB. O Linux não memoriza um dispositivo USB após a sua remoção.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Rato USB ligado</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index 5266636..4c837e79 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Dispozitivele nu au putut fi încărcate.</translation>
 <translation id="1008186147501209563">Exportă marcajele</translation>
 <translation id="1008557486741366299">Nu acum</translation>
+<translation id="1010498023906173788">Această filă este conectată la un port serial.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Pagină inactivă}few{Pagini inactive}other{Pagini inactive}}</translation>
 <translation id="1012794136286421601">Se sincronizează fișierele din Documente Google, Foi de calcul, Prezentări și Desene. Deschideți aplicația Google Drive pentru a le accesa online sau offline.</translation>
 <translation id="1012876632442809908">Dispozitiv USB-C (portul din față)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Apasă pe |<ph name="ACCELERATOR" />| pentru a ieși din ecranul complet</translation>
 <translation id="1038168778161626396">Numai cifrare</translation>
 <translation id="1039337018183941703">Fișier nevalid sau deteriorat</translation>
+<translation id="1041175011127912238">Pagina nu răspunde</translation>
 <translation id="1042174272890264476">Computerul este dotat, de asemenea, cu o bibliotecă RLZ încorporată, oferită de <ph name="SHORT_PRODUCT_NAME" />. Biblioteca RLZ atribuie o etichetă non-unică și care nu vă identifică în mod personal, pentru a măsura căutările și modul în care este utilizat <ph name="SHORT_PRODUCT_NAME" /> în funcție de o anumită campanie promoțională. Aceste etichete pot apărea uneori în interogările Căutării Google din <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Hopa, acest nume este deja utilizat!</translation>
 <translation id="1046635659603195359">Se pare că ai configurat deja Voice Match cu Asistentul Google pe alt dispozitiv. Aceste înregistrări anterioare pot fi folosite pentru a crea un model vocal pe acest dispozitiv. Ar trebui să dureze cel mult un minut.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Folosește internetul fără a salva istoricul de navigare, într-o fereastră incognito</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> amprente configurate</translation>
 <translation id="1215411991991485844">Nouă aplicație de fundal adăugată</translation>
+<translation id="1217483152325416304">Datele tale locale vor fi șterse în curând</translation>
 <translation id="1217668622537098248">Revino la clic stânga după acțiune</translation>
 <translation id="121783623783282548">Parolele nu se potrivesc.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Serviciul de localizare Google folosește surse precum rețelele Wi-Fi și mobile și senzori pentru a ajuta la estimarea locației acestui dispozitiv.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Detalii: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalarea nu este activată</translation>
 <translation id="1483493594462132177">Trimite</translation>
+<translation id="1484979925941077974">Site-ul folosește Bluetooth</translation>
 <translation id="1485015260175968628">Aceasta poate acum să:</translation>
 <translation id="1485141095922496924">Versiunea <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Caută parole</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Inactivă)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (nativă)</translation>
+<translation id="1711401317189798723">Se face backup pentru <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">Obține parola pe iPhone</translation>
 <translation id="1712552549805331520"><ph name="URL" /> dorește să stocheze permanent date pe computer</translation>
 <translation id="1718835860248848330">Ultima oră</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Opțiunile Accesului prin comutare</translation>
 <translation id="1932098463447129402">Nu înainte de</translation>
 <translation id="1933809209549026293">Conectează un mouse sau o tastatură. Dacă folosești un dispozitiv Bluetooth,  asigură-te că este gata pentru conectare.</translation>
+<translation id="1937774647013465102">Nu se poate importa tipul de arhitectură de container <ph name="ARCHITECTURE_CONTAINER" /> cu acest dispozitiv <ph name="ARCHITECTURE_DEVICE" />. Poți încerca să restabilești acest container într-un dispozitiv diferit sau poți accesa fișierele din această imagine de container deschizându-le în aplicația Files.</translation>
 <translation id="1938351510777341717">Comandă externă</translation>
 <translation id="1940546824932169984">Dispozitive conectate</translation>
 <translation id="1944921356641260203">A fost găsită o actualizare</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Activează</translation>
 <translation id="2394566832561516196">Setările vor fi șterse la următoarea reîncărcare.</translation>
 <translation id="2395616325548404795">Dispozitivul <ph name="DEVICE_TYPE" /> a fost înscris pentru gestionarea de întreprindere, dar nu a putut trimite informațiile despre locație și articol. Introdu manual aceste informații din consola de administrare pentru acest dispozitiv.</translation>
+<translation id="2396783860772170191">Introdu codul PIN de 4 cifre (0000-9999)</translation>
 <translation id="2408955596600435184">Introdu codul PIN</translation>
 <translation id="241082044617551207">Plugin necunoscut</translation>
 <translation id="2413749388954403953">Modifică interfața de utilizare pentru marcaje</translation>
+<translation id="241639282915300771">O restabilire este în desfășurare pentru <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Datele au fost criptate cu parola ta Google începând cu
           <ph name="TIME" />. Acest lucru nu este valabil și pentru metodele de plată și adresele din Google Pay.</translation>
 <translation id="2419706071571366386">Pentru securitate, deconectează-te când nu folosești computerul.</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">Sincronizare dezactivată</translation>
 <translation id="2540449034743108469">Apasă „Pornește” ca să asculți activitățile extensiei</translation>
 <translation id="2541002089857695151">Optimizezi proiectarea pe ecran complet?</translation>
+<translation id="2541706104884128042">A fost setată o nouă oră de culcare</translation>
 <translation id="2544853746127077729">Certificatul de autentificare a fost respins de rețea</translation>
 <translation id="2549985041256363841">Pornește înregistrarea</translation>
 <translation id="2550212893339833758">Dimensiunea memoriei de swap</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">Ieși</translation>
 <translation id="2678063897982469759">Reactivează</translation>
 <translation id="268053382412112343">Is&amp;toric</translation>
+<translation id="2682498795777673382">Actualizare de la părintele tău</translation>
 <translation id="2683638487103917598">Dosar sortat</translation>
 <translation id="2684004000387153598">Pentru a continua, dă clic pe OK, apoi pe Adaugă o persoană pentru a crea un profil nou pentru adresa de e-mail.</translation>
 <translation id="2688196195245426394">Eroare la înregistrarea gadgetului pe server: <ph name="CLIENT_ERROR" />.</translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">R&amp;edeschide fereastra închisă</translation>
 <translation id="2731700343119398978">Așteptați...</translation>
 <translation id="2731710757838467317">Se creează utilizatorul monitorizat. Poate dura câteva momente.</translation>
+<translation id="2731971182069536520">Data viitoare când repornești dispozitivul, administratorul va face o actualizare unică ce va șterge datele locale.</translation>
 <translation id="2734760316755174687">Site-urile din <ph name="SITE_GROUP_NAME" /> vor fi și ele resetate.</translation>
 <translation id="2735438478659026460">Se dă clic automat când cursorul mouse-ului se oprește</translation>
 <translation id="2735712963799620190">Program</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">Motoare de vorbire</translation>
 <translation id="3047644958362961983">Aceste informații ne ajută să înțelegem mai bine problema cu Asistentul. Informațiile sunt stocate timp de cel mult 90 de zile, iar accesul la ele este restricționat la echipele de ingineri și de feedback adecvate.</translation>
 <translation id="3053013834507634016">Folosirea cheii de certificat</translation>
+<translation id="3053273573829329829">Activează codul PIN pentru utilizator</translation>
 <translation id="3058498974290601450">Poți să activezi sincronizarea oricând în setări</translation>
 <translation id="3060379269883947824">Activează „Selectează și ascultă”</translation>
 <translation id="3061707000357573562">Serviciu de corecție</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">Fie Chrome nu are suficientă memorie, fie procesarea paginii web a fost întreruptă dintr-un alt motiv. Pentru a continua, reîncarcă sau accesează altă pagină.</translation>
 <translation id="3085412380278336437">Site-ul poate folosi camera foto</translation>
 <translation id="3085752524577180175">Gazdă SOCKS</translation>
+<translation id="3088052000289932193">Site-ul folosește dispozitive MIDI</translation>
 <translation id="3088325635286126843">&amp;Redenumiți...</translation>
 <translation id="3089137131053189723">Căutarea a fost ștearsă</translation>
 <translation id="3090193911106258841">Se accesează intrările audio și video</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">Față-verso</translation>
 <translation id="3317678681329786349">Camera foto și microfonul sunt blocate</translation>
 <translation id="3319048459796106952">Fereastră nouă &amp;incognito</translation>
+<translation id="3323521181261657960">Bonus! Ai primit o durată mai mare de folosire a dispozitivului</translation>
 <translation id="3325910708063135066">Camera foto și microfonul sunt dezactivate în System Preferences (Preferințe de sistem) pentru Mac</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informații despre aplicație</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">Nu s-a putut citi politica offline privind modul demo.</translation>
 <translation id="3766223500670287046">Ecran la distanță</translation>
 <translation id="3768037234834996183">Se sincronizează preferințele...</translation>
+<translation id="377050016711188788">Înghețată</translation>
 <translation id="3771294271822695279">Fișiere video</translation>
 <translation id="3775432569830822555">Certificat de server SSL</translation>
 <translation id="3775705724665058594">Trimite pe dispozitivele tale</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">Index greșit.</translation>
 <translation id="3870931306085184145">Nu s-au salvat parole pentru <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Cea mai scăzută</translation>
+<translation id="3871350334636688135">După 24 de ore, administratorul va face o actualizare unică ce va șterge datele locale când repornești dispozitivul. Salvează datele locale de care ai nevoie în stocarea în cloud în cel mult 24 de ore.</translation>
 <translation id="3872220884670338524">Mai multe acțiuni, cont salvat pentru <ph name="USERNAME" /> pe <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Eliberează spațiu pe hard disk sau dispozitivul nu va mai răspunde la comenzi.</translation>
 <translation id="3873315167136380065">Ca să activezi această opțiune, <ph name="BEGIN_LINK" />resetează sincronizarea<ph name="END_LINK" /> pentru a elimina expresia de acces pentru sincronizare</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">Datele de la unele aplicații se pot pierde</translation>
 <translation id="3983586614702900908">dispozitive de la producător necunoscut</translation>
 <translation id="3984159763196946143">Modul demonstrativ nu a pornit</translation>
+<translation id="3984431586879874039">Permiți site-ului să vadă cheia de securitate?</translation>
 <translation id="3987348946546879621">Date salvate</translation>
 <translation id="3987938432087324095">Scuze, nu am înțeles.</translation>
 <translation id="3988996860813292272">Selectează fusul orar</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">Restabilești motorul de căutare prestabilit?</translation>
 <translation id="4099874310852108874">A apărut o eroare de rețea.</translation>
 <translation id="4100733287846229632">Spațiul de pe dispozitiv este foarte redus</translation>
+<translation id="4100853287411968461">Limită nouă pentru durata de folosire a dispozitivului</translation>
 <translation id="4103091233824664032">Introdu parola pentru a configura blocarea ecranului și conectarea</translation>
 <translation id="4104163789986725820">E&amp;xportă...</translation>
 <translation id="4107048419833779140">Identifică și elimină dispozitivele de stocare</translation>
 <translation id="4109135793348361820">Mutați fereastra la <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Descărcare finalizată: <ph name="FILE_NAME" />. Apasă Shift+F6 ca să revii la zona barei de descărcări.</translation>
 <translation id="4110895898888439383">Navighează pe web în modul Contrast ridicat</translation>
-<translation id="4112221174576828331">Dacă o imagine nu are o descriere utilă, Chrome o va completa. Imaginile sunt scanate de Google.</translation>
 <translation id="4115002065223188701">Rețea în afara ariei de acoperire</translation>
 <translation id="4115080753528843955">Unele servicii de conținut folosesc identificatori unici pentru autorizarea accesului la conținutul protejat</translation>
 <translation id="4118579674665737931">Repornește dispozitivul și încearcă din nou.</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">Fișier incomplet</translation>
 <translation id="4325237902968425115">Se dezinstalează <ph name="LINUX_APP_NAME" />...</translation>
 <translation id="4328203388435897516">După configurarea Chromebookului, apasă butonul Asistentului sau rostește „Ok Google” pentru a obține oricând ajutor. Accesează setările Asistentului pentru a face modificări.</translation>
+<translation id="4330191372652740264">Apă cu gheață</translation>
 <translation id="4330387663455830245">Nu traduce niciodată din <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 cu criptare RSA</translation>
 <translation id="4336979451636460645">Pentru jurnalele de rețea, consultă: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">Fulgeraș</translation>
 <translation id="4387004326333427325">Certificatul de autentificare a fost respins de la distanță</translation>
 <translation id="4389091756366370506">Utilizator <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Incognito}few{# ferestre incognito deschise}other{# de ferestre incognito deschise}}</translation>
 <translation id="439266289085815679">Configurația Bluetooth este controlată de <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Dezactivează</translation>
 <translation id="4400367121200150367">Site-urile care nu salvează niciodată parole vor apărea aici</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">Deblochează profilul înainte de a adăuga o persoană.</translation>
 <translation id="4651484272688821107">Componenta online nu a putut fi încărcată cu resurse pentru modul demo.</translation>
 <translation id="465878909996028221">Numai http, https și protocoalele de fișiere sunt compatibile cu redirecționarea către un browser secundar.</translation>
+<translation id="4659077111144409915">Cont principal</translation>
 <translation id="4660476621274971848">Versiunea așteptată era „<ph name="EXPECTED_VERSION" />”, dar versiunea a fost „<ph name="NEW_ID" />”</translation>
 <translation id="4662788913887017617">Trimite marcajul pe iPhone</translation>
 <translation id="4663373278480897665">Camera foto este permisă</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">Afilierea a fost schimbată</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4726710629007580002">Au existat avertismente la încercarea de instalare a acestei extensii:</translation>
+<translation id="4727847987444062305">Sesiune pentru invitați gestionată</translation>
 <translation id="4728558894243024398">Platformă</translation>
 <translation id="4733082559415072992"><ph name="URL" /> dorește să utilizeze locația dispozitivului</translation>
 <translation id="4733793249294335256">Locație</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">Afișați detaliile</translation>
 <translation id="4890773143211625964">Afișează opțiunile avansate pentru imprimantă</translation>
 <translation id="4891089016822695758">Forumul pentru versiunea beta</translation>
+<translation id="4892229439761351791">Site-ul poate folosi Bluetooth</translation>
 <translation id="4893336867552636863">Astfel, vor fi șterse definitiv datele de navigare de pe acest dispozitiv.</translation>
 <translation id="4893522937062257019">Pe ecranul de blocare</translation>
 <translation id="4898011734382862273">Certificatul „<ph name="CERTIFICATE_NAME" />” reprezintă o Autoritate de certificare</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">Acum sunteți conectat(ă) la <ph name="SHORT_PRODUCT_NAME" />. Marcajele dvs., istoricul și alte setări sunt sincronizate cu Contul dvs. Google.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vrea să descarce mai multe fișiere</translation>
+<translation id="5192316339598592690">Comută conturile rapid și conectează-te la aplicații și site-uri simultan.
+    Aplicațiile și site-urile îți pot solicita permisiunea de a folosi unele informații din Contul Google. <ph name="LINK_BEGIN" />Află mai multe<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Folosește funcția Powerwash pe dispozitiv și încearcă din nou.</translation>
 <translation id="5204967432542742771">Introdu parola</translation>
 <translation id="5206215183583316675">Ștergi „<ph name="CERTIFICATE_NAME" />”?</translation>
@@ -3515,6 +3539,7 @@
 <translation id="6547354035488017500">Eliberează un spațiu de cel puțin 512 MB sau dispozitivul nu va mai răspunde la comenzi. Pentru a elibera spațiu, șterge fișiere din stocarea dispozitivului.</translation>
 <translation id="6550675742724504774">Opțiuni</translation>
 <translation id="6551508934388063976">Comanda nu este disponibilă. Pentru a deschide o fereastră nouă, apăsați pe Ctrl+N.</translation>
+<translation id="6551612971599078809">Site-ul folosește USB</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> (de) utilizatori</translation>
 <translation id="655483977608336153">Încearcă din nou</translation>
 <translation id="6555432686520421228">Eliminați toate conturile de utilizator și resetați gadgetul <ph name="IDS_SHORT_PRODUCT_NAME" /> la valorile din fabrică.</translation>
@@ -3739,6 +3764,7 @@
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> nu s-a putut deschide</translation>
 <translation id="6921709132208495314">Nu mai folosi datele din această pagină</translation>
 <translation id="6922128026973287222">Economisește date și navighează mai rapid folosind Economizorul de date Google. Dă clic pentru a afla mai multe.</translation>
+<translation id="6922745772873733498">Introdu un cod PIN pentru a printa</translation>
 <translation id="6923132443355966645">Derulează / Dă clic</translation>
 <translation id="6923633482430812883">Eroare la instalarea dispozitivului de stocare în rețea. Te rugăm să verifici dacă serverul de fișiere la care te conectezi acceptă SMBv2 sau versiuni ulterioare.</translation>
 <translation id="6930036377490597025">Cheie de securitate externă sau senzor încorporat</translation>
@@ -3793,6 +3819,7 @@
 <translation id="7003339318920871147">Baze de date web</translation>
 <translation id="7003723821785740825">Configurează o modalitate mai rapidă de a debloca dispozitivul</translation>
 <translation id="7003844668372540529">Produs necunoscut <ph name="PRODUCT_ID" /> de la <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Este posibil ca site-ul să folosească dispozitive MIDI</translation>
 <translation id="7004499039102548441">File recente</translation>
 <translation id="7005848115657603926">Interval de pagini nevalid, utilizează <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margine jos</translation>
@@ -3805,9 +3832,11 @@
 <translation id="7017480957358237747">permiteți sau interziceți anumite site-uri web,</translation>
 <translation id="7018275672629230621">Citește și modifică istoricul de navigare</translation>
 <translation id="7019805045859631636">Rapid</translation>
+<translation id="702252130983202758">Aplicațiile tale</translation>
 <translation id="7022562585984256452">Pagina de pornire a fost setată.</translation>
 <translation id="7025190659207909717">Gestionarea serviciului de date mobile</translation>
 <translation id="7029809446516969842">Parole</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - Portul serial este conectat</translation>
 <translation id="7031962166228839643">Se pregătește TPM. Așteaptă (poate dura câteva minute)...</translation>
 <translation id="7037509989619051237">Textul pentru previzualizare</translation>
 <translation id="7039326228527141150">Accesează dispozitivele USB de la <ph name="VENDOR_NAME" /></translation>
@@ -3832,6 +3861,7 @@
 <translation id="706626672220389329">Eroare la montarea dispozitivului de stocare în rețea. Dispozitivul indicat este deja montat.</translation>
 <translation id="7066944511817949584">Conectarea la „<ph name="DEVICE_NAME" />” a eșuat.</translation>
 <translation id="7067725467529581407">Nu mai afișa niciodată acest mesaj.</translation>
+<translation id="7069811530847688087">Este posibil ca <ph name="WEBSITE" /> să necesite un tip diferit sau mai nou de cheie de securitate</translation>
 <translation id="7070484045139057854">Poate să citească și să modifice datele site-ului</translation>
 <translation id="7072010813301522126">Numele comenzii rapide</translation>
 <translation id="707392107419594760">Selectează tastatura:</translation>
@@ -3912,6 +3942,7 @@
 <translation id="7189234443051076392">Asigură-te că există spațiu suficient pe dispozitiv</translation>
 <translation id="7189965711416741966">Amprentă adăugată.</translation>
 <translation id="7191159667348037">Imprimantă necunoscută (USB)</translation>
+<translation id="7193051357671784796">Aplicația a fost adăugată de organizația ta. Repornește aplicația pentru a finaliza instalarea ei.</translation>
 <translation id="7193374945610105795">Nu s-au salvat parole pentru <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Fă backup în Google Drive. Restabilește datele sau schimbă dispozitivul cu ușurință, în orice moment. Backupul include datele aplicațiilor. Backupurile sunt încărcate pe serverele Google și sunt criptate folosind parola pentru Contul Google. <ph name="BEGIN_LINK1" />Află mai multe<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Obține Căutare Google și ingeniozitatea Google de fiecare dată când navighezi.</translation>
@@ -4334,6 +4365,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Notă:<ph name="END_BOLD" /> sistemul va reporni în timpul acestui proces.</translation>
 <translation id="7829298379596169484">Se accesează intrarea audio</translation>
+<translation id="7830594666202422257">Conectează-te la Linux</translation>
 <translation id="7831491651892296503">Eroare la configurarea rețelei</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Ora de încheiere</translation>
@@ -4363,6 +4395,7 @@
 <translation id="7877451762676714207">Eroare de server necunoscută. Încercați din nou sau contactați administratorul serverului.</translation>
 <translation id="7877680364634660272">Tur</translation>
 <translation id="7878562273885520351">Este posibil ca parola să fie compromisă</translation>
+<translation id="7880823633812189969">Datele locale vor fi șterse când repornești</translation>
 <translation id="7881483672146086348">Afișați contul</translation>
 <translation id="7882358943899516840">Tip furnizor</translation>
 <translation id="7885253890047913815">Destinații recente</translation>
@@ -4458,6 +4491,7 @@
 <translation id="8008356846765065031">Internet deconectat. Verificați conexiunea la internet.</translation>
 <translation id="8009225694047762179">Gestionează parolele</translation>
 <translation id="8012382203418782830">Pagina a fost tradusă.</translation>
+<translation id="8013993649590906847">Dacă o imagine nu are o descriere utilă, Chrome va încerca să o completeze. Pentru a crea descrieri, imaginile sunt trimise la Google.</translation>
 <translation id="8014154204619229810">Momentan, rulează instrumentul pentru actualizare. Actualizează într-un minut și verifică din nou.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> nu poate reveni la versiunea instalată anterior. Încearcă să folosești din nou Powerwash pe dispozitivul tău.</translation>
 <translation id="8014210335923519270">Poți îmbunătăți browserul <ph name="IDS_SHORT_PRODUCT_NAME" /> și securitatea acestuia dacă trimiți la Google informații despre sistem și utilizare</translation>
@@ -4701,6 +4735,7 @@
 <translation id="8426713856918551002">Se activează</translation>
 <translation id="8427292751741042100">încorporată în orice gazdă</translation>
 <translation id="8428213095426709021">Setări</translation>
+<translation id="8428628598981198790">Cheia de securitate nu poate fi folosită cu acest site</translation>
 <translation id="84297032718407999">Vei fi deconectat(ă) peste <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Afișează atingerile</translation>
 <translation id="8431909052837336408">Schimbă codul PIN pentru SIM</translation>
@@ -4905,6 +4940,7 @@
 <translation id="8732212173949624846">Citește și modifică istoricul de navigare pe toate dispozitivele conectate</translation>
 <translation id="8732844209475700754">Mai multe setări privind confidențialitatea, securitatea și colectarea datelor</translation>
 <translation id="8734073480934656039">Dacă activați această setare, aplicațiile de tip chioșc se pot lansa automat la pornire.</translation>
+<translation id="8734671092194994316">Aceasta va lăsa o evidență a accesării site-ului <ph name="WEBSITE" /> pe cheia de securitate.</translation>
 <translation id="873545264931343897">După ce actualizarea pluginului <ph name="PLUGIN_NAME" /> se finalizează, reîncarcă pagina pentru a-l activa</translation>
 <translation id="8736288397686080465">Acest site a fost actualizat în fundal.</translation>
 <translation id="8737685506611670901">Deschide linkurile <ph name="PROTOCOL" /> și nu <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5003,6 +5039,7 @@
 <translation id="8877448029301136595">[directorul părinte]</translation>
 <translation id="8879284080359814990">&amp;Afișează ca filă</translation>
 <translation id="8883847527783433352">Sincronizează cu alt cont</translation>
+<translation id="8884570509232205463">Dispozitivul se blochează acum la <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Funcția Smart Lock nu este disponibilă</translation>
 <translation id="8888253246822647887">Aplicația ta se va deschide când se încheie upgrade-ul. Upgrade-urile pot dura câteva minute.</translation>
 <translation id="8888432776533519951">Culoare:</translation>
@@ -5027,7 +5064,6 @@
 <translation id="891365694296252935">Trimite date de utilizare și diagnosticare. Momentan, dispozitivul trimite automat date de diagnosticare și de utilizare a dispozitivului și aplicațiilor la Google. Acestea nu vor fi folosite la identificarea copilului și vor ajuta la stabilitatea sistemului, a aplicațiilor și altele. Unele date cumulate vor ajuta aplicațiile și partenerii Google, cum ar fi dezvoltatorii Android. Această setare este impusă de proprietar. Dacă ai activat setarea Activitatea suplimentară de pe web și din aplicații pentru copilul tău, aceste date pot fi salvate în Contul său Google. <ph name="BEGIN_LINK1" />Află mai multe<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Se încarcă sugestiile</translation>
 <translation id="8916476537757519021">Subcadru incognito: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Da, accept</translation>
 <translation id="8919275547519617350">Pentru a accesa toate parolele pe toate dispozitivele, conectează-te și activează sincronizarea.</translation>
 <translation id="8921366488406707015">Se verifică cheia de securitate…</translation>
 <translation id="8922013791253848639">Permite întotdeauna anunțurile pe acest site</translation>
@@ -5096,6 +5132,7 @@
 <translation id="9026852570893462412">Poate dura câteva minute. Se descarcă mașina virtuală.</translation>
 <translation id="9027459031423301635">Deschide linkul într-o filă &amp;nouă</translation>
 <translation id="9030515284705930323">Organizația nu a activat Magazinul Google Play pentru contul tău. Contactează administratorul pentru mai multe informații.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Inserați</translation>
 <translation id="9037965129289936994">Afișează versiunea originală</translation>
 <translation id="9038649477754266430">Folosește un serviciu de predicții pentru a încărca paginile mai rapid</translation>
@@ -5125,7 +5162,6 @@
 <translation id="9065203028668620118">Editează</translation>
 <translation id="9066773882585798925">Ascultă textul citit cu voce tare</translation>
 <translation id="9066782832737749352">Redarea vocală a textului</translation>
-<translation id="907264006778172906">Permite sistemului de operare Linux să acceseze dispozitivele USB. Linux nu își va aminti un dispozitiv USB după ce este eliminat.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Mouse USB conectat</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index 0349ff5..c10e09ea7 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -2005,7 +2005,6 @@
 <translation id="4109135793348361820">Перенести окно на рабочий стол пользователя <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Скачивание завершено: <ph name="FILE_NAME" />. Чтобы перейти к панели загрузок, нажмите Shift + F6.</translation>
 <translation id="4110895898888439383">Просматривайте веб-страницы в режиме высокой контрастности.</translation>
-<translation id="4112221174576828331">Если у изображения нет понятного описания, Chrome попытается его найти. Анализ изображений выполняется Google.</translation>
 <translation id="4115002065223188701">Сеть вне зоны доступа</translation>
 <translation id="4115080753528843955">Некоторые сервисы используют уникальные идентификаторы, чтобы предоставлять доступ к защищенному контенту.</translation>
 <translation id="4118579674665737931">Перезагрузите устройство и повторите попытку.</translation>
@@ -4458,6 +4457,7 @@
 <translation id="8008356846765065031">Не удалось установить соединение. Проверьте подключение к Интернету.</translation>
 <translation id="8009225694047762179">Управление паролями</translation>
 <translation id="8012382203418782830">Страница переведена</translation>
+<translation id="8013993649590906847">Если у изображения нет понятного описания, Chrome попытается его найти. Для создания описаний изображения отправляются в Google.</translation>
 <translation id="8014154204619229810">Работает программа обновлений. Повторите попытку через пару минут.</translation>
 <translation id="8014206674403687691">Невозможно вернуться к предыдущей установленной версии <ph name="IDS_SHORT_PRODUCT_NAME" />. Воспользуйтесь функцией Powerwash.</translation>
 <translation id="8014210335923519270">Отправляя системную и диагностическую информацию в Google, вы помогаете сделать <ph name="IDS_SHORT_PRODUCT_NAME" /> ещё лучше и безопаснее.</translation>
@@ -5026,7 +5026,6 @@
 <translation id="891365694296252935">Отправка данных о работе устройства. Сейчас это устройство автоматически отправляет в Google диагностическую информацию, сведения об использовании приложений и самого устройства. Установить личность ребенка по этим данным нельзя. Они нужны нам, чтобы в будущем повысить стабильность приложений и внести другие улучшения. Некоторые данные в обобщенном виде пригодятся партнерам Google, например разработчикам Android. Эта настройка принудительно применяется владельцем. Если запись дополнительной истории приложений и веб-поиска включена, эта информация может сохраняться в аккаунте ребенка. <ph name="BEGIN_LINK1" />Подробнее…<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Загрузка подсказки</translation>
 <translation id="8916476537757519021">Субфрейм в режиме инкогнито: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Включить функцию</translation>
 <translation id="8919275547519617350">Чтобы получить доступ к паролям на всех своих устройствах, войдите в аккаунт и включите синхронизацию.</translation>
 <translation id="8921366488406707015">Проверка электронного ключа</translation>
 <translation id="8922013791253848639">Всегда разрешать рекламу на этом сайте</translation>
@@ -5124,7 +5123,6 @@
 <translation id="9065203028668620118">Изменить</translation>
 <translation id="9066773882585798925">Позволяет прослушивать текст с экрана.</translation>
 <translation id="9066782832737749352">Озвучивание текста</translation>
-<translation id="907264006778172906">Предоставление доступа к USB-устройствам для Linux. Когда устройство будет отключено, вся информация о нем будет удалена из Linux.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB-мышь подключена</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index bd850a3..a2f0c079 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Zariadenia sa nedali načítať.</translation>
 <translation id="1008186147501209563">Exportovať záložky</translation>
 <translation id="1008557486741366299">Teraz nie</translation>
+<translation id="1010498023906173788">Táto karta je pripojená k sériovému portu.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Stránka nereaguje}few{Stránky nereagujú}many{Stránky nereagujú}other{Stránky nereagujú}}</translation>
 <translation id="1012794136286421601">Vaše súbory v službách Dokumenty, Tabuľky, Prezentácie a Nákresy sa synchronizujú. Otvorte službu Disk Google a pristúpte k ním online alebo offline.</translation>
 <translation id="1012876632442809908">Zariadenie USB-C (port vpredu)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Režim celej obrazovky ukončíte stlačením klávesa |<ph name="ACCELERATOR" />|</translation>
 <translation id="1038168778161626396">Len zašifrovanie</translation>
 <translation id="1039337018183941703">Neplatný alebo poškodený súbor</translation>
+<translation id="1041175011127912238">Táto stránka nereaguje</translation>
 <translation id="1042174272890264476">Váš počítač má tiež vstavanú knižnicu RLZ prehliadača <ph name="SHORT_PRODUCT_NAME" />. Knižnica RLZ priradí nejedinečnú značku, pomocou ktorej sa nedá zistiť totožnosť, na meranie výsledkov a použitia prehliadača <ph name="SHORT_PRODUCT_NAME" /> vyplývajúceho z konkrétnej propagačnej kampane. Tieto menovky sa niekedy zobrazujú v dopytoch Vyhľadávania Google v prehliadači <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Hops, toto meno sa už používa.</translation>
 <translation id="1046635659603195359">Zdá sa, že ste už funkciu Voice Match nastavili pomocou Asistenta Google v inom zariadení. Tieto predchádzajúce záznamy môžete použiť na vytvorenie hlasového modelu v tomto zariadení. Malo by to trvať menej ako minútu.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Používajte web bez ukladania histórie prehliadania v okne inkognito</translation>
 <translation id="1213037489357051291">Počet nastavených odtlačkov: <ph name="NUM_FINGERPRINTS" /></translation>
 <translation id="1215411991991485844">Bola pridaná nová aplikácia na pozadí</translation>
+<translation id="1217483152325416304">Vaše miestne údaje budú čoskoro odstránené</translation>
 <translation id="1217668622537098248">Po akcii sa vrátiť na kliknutie ľavým tlačidlom myši</translation>
 <translation id="121783623783282548">Heslá sa nezhodujú.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Služba určovania polohy od Googlu používa na presnejšie odhadnutie polohy tohto zariadenia zdroje, ako sú Wi-Fi, mobilná sieť a senzory.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Podrobnosti: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Inštalácia nie je povolená</translation>
 <translation id="1483493594462132177">Odoslať</translation>
+<translation id="1484979925941077974">Web používa Bluetooth</translation>
 <translation id="1485015260175968628">Teraz môže:</translation>
 <translation id="1485141095922496924">Verzia <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Hľadať v heslách</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(Neaktívne)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (natívne)</translation>
+<translation id="1711401317189798723">Práve sa zálohuje kontajner <ph name="CONTAINER_ID" />.</translation>
 <translation id="1712349894969001173">Uložte si toto heslo na svojom zariadení iPhone</translation>
 <translation id="1712552549805331520"><ph name="URL" /> chce natrvalo ukladať dáta v miestnom počítači</translation>
 <translation id="1718835860248848330">Posledná hodina</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">Možnosti prístupu s prepínačmi</translation>
 <translation id="1932098463447129402">Nie pred</translation>
 <translation id="1933809209549026293">Pripojte myš alebo klávesnicu. Ak používate zariadenie Bluetooth, uistite sa, že je pripravené na párovanie.</translation>
+<translation id="1937774647013465102">S týmto zariadením, ktoré je <ph name="ARCHITECTURE_DEVICE" />, sa nedá importovať typ architektúry kontajnera <ph name="ARCHITECTURE_CONTAINER" />. Tento kontajner môžete skúsiť obnoviť do iného zariadenia, prípadne môžete získať prístup k súborom v tomto obraze kontajnera pomocou aplikácie Súbory.</translation>
 <translation id="1938351510777341717">Externý príkaz</translation>
 <translation id="1940546824932169984">Pripojené zariadenia</translation>
 <translation id="1944921356641260203">Je k dispozícii aktualizácia</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">Aktivovať</translation>
 <translation id="2394566832561516196">Pri ďalšom opätovnom načítaní budú nastavenia vymazané.</translation>
 <translation id="2395616325548404795">Zariadenie <ph name="DEVICE_TYPE" /> bolo úspešne zaregistrované na podnikovú správu. Nepodarilo sa však odoslať informácie o obsahu a polohe. Zadajte tieto informácie ručne v Správcovskej konzole pre toto zariadenie.</translation>
+<translation id="2396783860772170191">Zadajte štvorciferný PIN (0000 – 9999)</translation>
 <translation id="2408955596600435184">Zadajte kód PIN</translation>
 <translation id="241082044617551207">Neznámy doplnok</translation>
 <translation id="2413749388954403953">Zmeniť používateľské rozhranie záložiek</translation>
+<translation id="241639282915300771">Momentálne sa obnovuje kontajner <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Údaje boli <ph name="TIME" /> zašifrované pomocou vášho hesla Google. Nezahŕňa to spôsoby platby ani adresy zo služby Google Pay.</translation>
 <translation id="2419706071571366386">Keď počítač nepoužívate, z bezpečnostných dôvodov sa odhláste.</translation>
 <translation id="2423578206845792524">Uložiť &amp;obrázok ako...</translation>
@@ -985,6 +993,7 @@
 <translation id="2538361623464451692">Synchronizácia je zakázaná</translation>
 <translation id="2540449034743108469">Ak chcete počúvať aktivity rozšírenia, stlačte tlačidlo Štart</translation>
 <translation id="2541002089857695151">Chcete optimalizovať prenášanie na celú obrazovku?</translation>
+<translation id="2541706104884128042">Bola nastavená nová večierka</translation>
 <translation id="2544853746127077729">Certifikát na overenie totožnosti bol zamietnutý sieťou</translation>
 <translation id="2549985041256363841">Spustiť zaznamenávanie</translation>
 <translation id="2550212893339833758">Swapovaná pamäť</translation>
@@ -1075,6 +1084,7 @@
 <translation id="2677748264148917807">Odísť</translation>
 <translation id="2678063897982469759">Znova povoliť</translation>
 <translation id="268053382412112343">Hi&amp;stória</translation>
+<translation id="2682498795777673382">Aktualizácia od rodiča</translation>
 <translation id="2683638487103917598">Priečinok je zoradený</translation>
 <translation id="2684004000387153598">Ak chcete pokračovať, kliknite na OK a potom kliknutím na možnosť Pridať osobu vytvorte nový profil pre svoju e-mailovú adresu.</translation>
 <translation id="2688196195245426394">Pri registrácii zariadenia na serveri <ph name="CLIENT_ERROR" /> sa vyskytla chyba.</translation>
@@ -1108,6 +1118,7 @@
 <translation id="2731392572903530958">Znova o&amp;tvoriť zatvorené okno</translation>
 <translation id="2731700343119398978">Počkajte...</translation>
 <translation id="2731710757838467317">Vytvára sa kontrolovaný používateľ. Môže to chvíľu trvať.</translation>
+<translation id="2731971182069536520">Pri najbližšom reštartovaní zariadenia správca vykoná jednorazovú aktualizáciu, ktorá odstráni miestne údaje.</translation>
 <translation id="2734760316755174687">Weby v skupine <ph name="SITE_GROUP_NAME" /> budú tiež obnovené.</translation>
 <translation id="2735438478659026460">Automaticky kliknúť po zastavení kurzora myši</translation>
 <translation id="2735712963799620190">Rozvrh</translation>
@@ -1311,6 +1322,7 @@
 <translation id="304747341537320566">Nástroje hlasovej odozvy</translation>
 <translation id="3047644958362961983">Tieto informácie nám pomôžu lepšie pochopiť problém s vaším Asistentom. Budú uložené maximálne 90 dní a prístup k nim je obmedzený len na príslušné tímy zodpovedajúce za programovanie a spätnú väzbu.</translation>
 <translation id="3053013834507634016">Použitie kľúča certifikátu</translation>
+<translation id="3053273573829329829">Povoliť PIN používateľa</translation>
 <translation id="3058498974290601450">Synchronizáciu môžete kedykoľvek zapnúť v nastaveniach</translation>
 <translation id="3060379269883947824">Povoliť počúvanie vybraného textu</translation>
 <translation id="3061707000357573562">Služba opráv</translation>
@@ -1330,6 +1342,7 @@
 <translation id="3084771660770137092">Prehliadač Chrome má nedostatok pamäte, alebo bol proces na webovej stránke z ukončený z iného dôvodu. Ak chcete pokračovať, obnovte stránku alebo prejdite na inú.</translation>
 <translation id="3085412380278336437">Web môže používať vašu kameru</translation>
 <translation id="3085752524577180175">Hostiteľ SOCKS</translation>
+<translation id="3088052000289932193">Web používa MIDI</translation>
 <translation id="3088325635286126843">&amp;Premenovať...</translation>
 <translation id="3089137131053189723">Vyhľadávanie bolo vymazané</translation>
 <translation id="3090193911106258841">Pristupovanie k zvukovému vstupu a vstupu videa</translation>
@@ -1469,6 +1482,7 @@
 <translation id="3317459757438853210">Obojstranne</translation>
 <translation id="3317678681329786349">Kamera a mikrofón sú zablokované</translation>
 <translation id="3319048459796106952">Nové okno i&amp;nkognito</translation>
+<translation id="3323521181261657960">Bonus! Získavaš viac čas používania.</translation>
 <translation id="3325910708063135066">Kamera a mikrofón sú vypnuté v predvoľbách systému Mac</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informácie o aplikácii</translation>
@@ -1764,6 +1778,7 @@
 <translation id="3765246971671567135">Pravidlo pre režim offline ukážky sa nepodarilo načítať.</translation>
 <translation id="3766223500670287046">Vzdialená obrazovka</translation>
 <translation id="3768037234834996183">Synchronizujú sa predvoľby...</translation>
+<translation id="377050016711188788">Zmrzlina</translation>
 <translation id="3771294271822695279">Súbory videa</translation>
 <translation id="3775432569830822555">Certifikát servera SSL</translation>
 <translation id="3775705724665058594">Odoslanie do zariadení</translation>
@@ -1842,6 +1857,7 @@
 <translation id="3869917919960562512">Nesprávny index.</translation>
 <translation id="3870931306085184145">Žiadne uložené heslá domény <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Najnižší</translation>
+<translation id="3871350334636688135">Po 24 hodinách správca vykoná jednorazovú aktualizáciu, ktorá pri reštartovaní zariadenia odstráni miestne údaje. Všetky potrebné miestne údaje uložte do cloudového úložiska do 24 hodín.</translation>
 <translation id="3872220884670338524">Ďalšie akcie, uložený účet <ph name="USERNAME" /> v doméne <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Uvoľnite miesto na disku, inak vaše zariadenie prestane reagovať.</translation>
 <translation id="3873315167136380065">Zapnite toto nastavenie, <ph name="BEGIN_LINK" />resetujte synchronizáciu<ph name="END_LINK" /> a odstráňte tak prístupovú frázu synchronizácie</translation>
@@ -1921,6 +1937,7 @@
 <translation id="3983400541576569538">Údaje z určitých aplikácií sa môžu stratiť</translation>
 <translation id="3983586614702900908">zariadenia od neznámeho dodávateľa</translation>
 <translation id="3984159763196946143">Nepodarilo sa spustiť režim ukážky</translation>
+<translation id="3984431586879874039">Chcete tomuto webu povoliť zobrazenie vášho bezpečnostného kľúča?</translation>
 <translation id="3987348946546879621">Uložené dáta</translation>
 <translation id="3987938432087324095">Je nám to ľúto, ale nebolo vám dobre rozumieť.</translation>
 <translation id="3988996860813292272">Výber časového pásma</translation>
@@ -1997,13 +2014,13 @@
 <translation id="4099060993766194518">Obnoviť predvolený vyhľadávač?</translation>
 <translation id="4099874310852108874">Vyskytla sa chyba siete.</translation>
 <translation id="4100733287846229632">V zariadení je kriticky málo miesta</translation>
+<translation id="4100853287411968461">Nový limit času používania</translation>
 <translation id="4103091233824664032">Ak chcete konfigurovať zámku obrazovky a prihlásenie, zadajte heslo</translation>
 <translation id="4104163789986725820">E&amp;xportovať...</translation>
 <translation id="4107048419833779140">Identifikovať a vysunúť zariadenia s úložiskom</translation>
 <translation id="4109135793348361820">Presunúť okno k používateľovi <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Dokončilo sa sťahovanie súboru: <ph name="FILE_NAME" />. Stláčaním klávesov Shift+F6 prejdite do oblasti panela so stiahnutými súbormi.</translation>
 <translation id="4110895898888439383">Prehliadajte web v režime vysokého kontrastu</translation>
-<translation id="4112221174576828331">Ak obrázok nemá užitočný popis, Chrome vám ho poskytne. Obrázky skenuje Google.</translation>
 <translation id="4115002065223188701">Sieť je mimo dosahu</translation>
 <translation id="4115080753528843955">Niektoré obsahové služby používajú jedinečné identifikátory na autorizáciu prístupu ku chránenému obsahu</translation>
 <translation id="4118579674665737931">Reštartujte zariadenie a skúste to znova.</translation>
@@ -2117,6 +2134,7 @@
 <translation id="4324577459193912240">Súbor nie je úplný</translation>
 <translation id="4325237902968425115">Prebieha odinštalovanie aplikácie <ph name="LINUX_APP_NAME" />…</translation>
 <translation id="4328203388435897516">Po nastavení Chromebooku môžete kedykoľvek získať pomoc stlačením tlačidla Asistenta alebo povedaním „OK Google“. Ak budete chcieť niečo zmeniť, prejdite do nastavení Asistenta.</translation>
+<translation id="4330191372652740264">Voda s ľadom</translation>
 <translation id="4330387663455830245">Nikdy neprekladať jazyk <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">Štandard PKCS #1 SHA-1 so šifrovaním RSA</translation>
 <translation id="4336979451636460645">Denníky siete nájdete na stránke <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2152,6 +2170,7 @@
 <translation id="438503109373656455">Saratoga</translation>
 <translation id="4387004326333427325">Certifikát na overenie totožnosti bol zamietnutý na diaľku</translation>
 <translation id="4389091756366370506">Používateľ <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Inkognito}few{# otvorené okná inkognito}many{# otvoreného okná inkognito}other{# otvorených okien inkognito}}</translation>
 <translation id="439266289085815679">Konfiguráciu rozhrania Bluetooth spravuje <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Zakázať</translation>
 <translation id="4400367121200150367">Tu sa zobrazia weby, ktoré nikdy neukladajú heslo</translation>
@@ -2300,6 +2319,7 @@
 <translation id="4648499713050786492">Skôr ako pridáte osobu, odomknite svoj profil.</translation>
 <translation id="4651484272688821107">Nepodarilo sa načítať komponent so zdrojmi režimu ukážky.</translation>
 <translation id="465878909996028221">Presmerovania prehliadača podporujú iba protokoly http, https a file.</translation>
+<translation id="4659077111144409915">Primárny účet</translation>
 <translation id="4660476621274971848">Očakávaná verzia bola „<ph name="EXPECTED_VERSION" />“. Skutočná verzia bola „<ph name="NEW_ID" />“.</translation>
 <translation id="4662788913887017617">Zdieľajte túto záložku so zariadením iPhone</translation>
 <translation id="4663373278480897665">Kamera je povolená</translation>
@@ -2345,6 +2365,7 @@
 <translation id="4724450788351008910">Pridruženie bolo zmenené</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4726710629007580002">Pri pokuse o inštaláciu tohto rozšírenia sa zobrazili upozornenia:</translation>
+<translation id="4727847987444062305">Správa relácie hosťa</translation>
 <translation id="4728558894243024398">Platforma</translation>
 <translation id="4733082559415072992">Web <ph name="URL" /> chce používať polohu vášho zariadenia</translation>
 <translation id="4733793249294335256">Umiestnenie</translation>
@@ -2454,6 +2475,7 @@
 <translation id="488785315393301722">Zobraziť podrobnosti</translation>
 <translation id="4890773143211625964">Zobraziť rozšírené možnosti tlačiarne</translation>
 <translation id="4891089016822695758">Beta fórum</translation>
+<translation id="4892229439761351791">Web môže používať Bluetooth</translation>
 <translation id="4893336867552636863">Táto akcia natrvalo odstráni údaje prehliadania z tohto zariadenia.</translation>
 <translation id="4893522937062257019">Na uzamknutej obrazovke</translation>
 <translation id="4898011734382862273">Certifikát „<ph name="CERTIFICATE_NAME" />“ predstavuje certifikačnú autoritu</translation>
@@ -2629,6 +2651,8 @@
 <translation id="5187295959347858724">Ste prihlásený/-á do prehliadača <ph name="SHORT_PRODUCT_NAME" />. Vaše záložky, história a ďalšie nastavenia sa synchronizujú s účtom Google.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> chce stiahnuť viacero súborov</translation>
+<translation id="5192316339598592690">Rýchlo prepínajte účty a prihláste sa okamžite do aplikácií a webov.
+    Aplikácie a weby môžu požiadať o povolenie používať niektoré vaše informácie o účte Google. <ph name="LINK_BEGIN" />Ďalšie informácie<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Vykonajte v zariadení obnovu Powerwash a skúste to znova.</translation>
 <translation id="5204967432542742771">Zadajte heslo</translation>
 <translation id="5206215183583316675">Odstrániť certifikát <ph name="CERTIFICATE_NAME" />?</translation>
@@ -3513,6 +3537,7 @@
 <translation id="6547354035488017500">Uvoľnite aspoň 512 MB miesta, inak vaše zariadenie prestane reagovať. Miesto uvoľníte odstránením súborov z úložiska zariadenia.</translation>
 <translation id="6550675742724504774">Možnosti</translation>
 <translation id="6551508934388063976">Príkaz nie je k dispozícii. Stlačením kombinácie klávesov CTRL + N otvoríte nové okno.</translation>
+<translation id="6551612971599078809">Web používa USB</translation>
 <translation id="655384502888039633">Počet používateľov: <ph name="USER_COUNT" /></translation>
 <translation id="655483977608336153">Skúsiť znova</translation>
 <translation id="6555432686520421228">Odstráni všetky používateľské účty a resetuje zariadenie <ph name="IDS_SHORT_PRODUCT_NAME" /> na výrobné nastavenia.</translation>
@@ -3737,6 +3762,7 @@
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> sa nepodarilo otvoriť</translation>
 <translation id="6921709132208495314">Prestať používať dáta na tejto stránke</translation>
 <translation id="6922128026973287222">Ukladajte údaje a prehliadajte rýchlejšie pomocou funkcie Šetrič Dát Google. Kliknutím získate ďalšie informácie.</translation>
+<translation id="6922745772873733498">Ak chcete tlačiť, zadajte PIN</translation>
 <translation id="6923132443355966645">Posunúť/kliknúť</translation>
 <translation id="6923633482430812883">Pri pripájaní zdieľaného súboru sa vyskytla chyba. Skontrolujte, či server, ku ktorému sa pripájate, podporuje protokol SMBv2 alebo novší.</translation>
 <translation id="6930036377490597025">Externý bezpečnostný kľúč alebo vstavaný senzor</translation>
@@ -3791,6 +3817,7 @@
 <translation id="7003339318920871147">Webové databázy</translation>
 <translation id="7003723821785740825">Nastavte rýchlejší spôsob odomknutia zariadenia</translation>
 <translation id="7003844668372540529">Neznámy produkt <ph name="PRODUCT_ID" /> od dodávateľa <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Web môže používať MIDI</translation>
 <translation id="7004499039102548441">Nedávne karty</translation>
 <translation id="7005848115657603926">Neplatný rozsah stránok, použite formát <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Dolný okraj</translation>
@@ -3803,9 +3830,11 @@
 <translation id="7017480957358237747">povoliť alebo zakázať konkrétne webové stránky,</translation>
 <translation id="7018275672629230621">Čítať a upravovať históriu prehliadania</translation>
 <translation id="7019805045859631636">Rýchle</translation>
+<translation id="702252130983202758">Vaše aplikácie</translation>
 <translation id="7022562585984256452">Vaša domovská stránka bola nastavená.</translation>
 <translation id="7025190659207909717">Správa mobilnej dátovej služby</translation>
 <translation id="7029809446516969842">Heslá</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> – sériový port je pripojený</translation>
 <translation id="7031962166228839643">Model TPM sa pripravuje, čakajte (môže to trvať niekoľko minút)...</translation>
 <translation id="7037509989619051237">Ukážka textu</translation>
 <translation id="7039326228527141150">Pristupovať k zariadením USB od dodávateľa <ph name="VENDOR_NAME" /></translation>
@@ -3830,6 +3859,7 @@
 <translation id="706626672220389329">Pri pripájaní zdieľaného úložiska sa vyskytla chyba. Dané úložisko je už pripojené.</translation>
 <translation id="7066944511817949584">Nepodarilo sa pripojiť k zariadeniu „<ph name="DEVICE_NAME" />“.</translation>
 <translation id="7067725467529581407">Túto výzvu už nezobrazovať</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> môže vyžadovať novší alebo iný druh bezpečnostného kľúča</translation>
 <translation id="7070484045139057854">Môže čítať údaje o webe a meniť ich</translation>
 <translation id="7072010813301522126">Názov skratky</translation>
 <translation id="707392107419594760">Vyberte klávesnicu:</translation>
@@ -3910,6 +3940,7 @@
 <translation id="7189234443051076392">Uistite sa, či máte v zariadení dosť miesta</translation>
 <translation id="7189965711416741966">Odtlačok prsta bol pridaný.</translation>
 <translation id="7191159667348037">Neznáma tlačiareň (USB)</translation>
+<translation id="7193051357671784796">Túto aplikáciu pridala vaša organizácia. Ak chcete dokončiť jej inštaláciu, reštartujte ju.</translation>
 <translation id="7193374945610105795">Žiadne uložené heslá pre <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Zálohovanie na Disk Google. Jednoducho kedykoľvek obnovte svoje údaje alebo prejdite na iné zariadenie. Záloha obsahuje dáta aplikácií. Zálohy sa nahrajú do Googlu a zašifrujú pomocou vášho hesla účtu Google. <ph name="BEGIN_LINK1" />Ďalšie informácie<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Získajte Vyhľadávanie Google a funkcie Googlu pri každom prehliadaní</translation>
@@ -4332,6 +4363,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Poznámka:<ph name="END_BOLD" />  Systém sa počas príslušného procesu reštartuje.</translation>
 <translation id="7829298379596169484">Pristupovanie k zvukovému vstupu</translation>
+<translation id="7830594666202422257">Pripojiť k systému Linux</translation>
 <translation id="7831491651892296503">Chyba pri konfigurácii siete</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Čas ukončenia</translation>
@@ -4361,6 +4393,7 @@
 <translation id="7877451762676714207">Neznáma chyba servera. Skúste to znova alebo sa obráťte na správcu servera.</translation>
 <translation id="7877680364634660272">Prehliadka</translation>
 <translation id="7878562273885520351">Vaše heslo mohlo byť napadnuté</translation>
+<translation id="7880823633812189969">Pri reštartovaní sa odstránia miestne údaje</translation>
 <translation id="7881483672146086348">Zobraziť účet</translation>
 <translation id="7882358943899516840">Typ poskytovateľa</translation>
 <translation id="7885253890047913815">Nedávne ciele</translation>
@@ -4456,6 +4489,7 @@
 <translation id="8008356846765065031">Internet je odpojený. Skontrolujte svoje pripojenie k internetu.</translation>
 <translation id="8009225694047762179">Spravovať heslá</translation>
 <translation id="8012382203418782830">Táto stránka bola preložená.</translation>
+<translation id="8013993649590906847">Ak obrázok nemá užitočný popis, Chrome sa vám ho pokúsi poskytnúť. Obrázky sa odosielajú Googlu, aby bolo možné vytvoriť popisy.</translation>
 <translation id="8014154204619229810">Aktualizačný nástroj je práve spustený. Obnovením stránky o minútu to znova skontrolujte.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> sa nedokáže vrátiť späť na predchádzajúcu nainštalovanú verziu. Skúste znova vykonať úplné obnovenie svojho zariadenia (tzv. Powerwash).</translation>
 <translation id="8014210335923519270">Zlepšite <ph name="IDS_SHORT_PRODUCT_NAME" /> a jeho zabezpečenie odosielaním informácií o systéme a využití do Googlu</translation>
@@ -4698,6 +4732,7 @@
 <translation id="8426713856918551002">Aktivuje sa</translation>
 <translation id="8427292751741042100">vložené do ľubovoľného webu</translation>
 <translation id="8428213095426709021">Nastavenia</translation>
+<translation id="8428628598981198790">Bezpečnostný kľúč sa s týmto webom nedá použiť</translation>
 <translation id="84297032718407999">Odhlásenie prebehne o <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Zobrazovanie klepnutí</translation>
 <translation id="8431909052837336408">Zmena kódu PIN pre SIM kartu</translation>
@@ -4902,6 +4937,7 @@
 <translation id="8732212173949624846">Čítať a meniť históriu prehliadania na všetkých prihlásených zariadeniach</translation>
 <translation id="8732844209475700754">Ďalšie nastavenia týkajúce sa ochrany súkromia, zabezpečenia a zhromažďovania údajov</translation>
 <translation id="8734073480934656039">Povolením tohto nastavenia umožníte aplikáciám verejného terminálu, aby sa automaticky spúšťali pri spustení počítača.</translation>
+<translation id="8734671092194994316">Týmto zanecháte záznam o vašej návšteve webu <ph name="WEBSITE" /> na bezpečnostnom kľúči.</translation>
 <translation id="873545264931343897">Po dokončení aktualizácie doplnku <ph name="PLUGIN_NAME" /> ho aktivujete opätovným načítaním stránky</translation>
 <translation id="8736288397686080465">Tieto webové stránky boli aktualizované na pozadí.</translation>
 <translation id="8737685506611670901">Otvárať odkazy protokolu <ph name="PROTOCOL" /> a nie aplikáciu <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5000,6 +5036,7 @@
 <translation id="8877448029301136595">[rodičovský adresár]</translation>
 <translation id="8879284080359814990">&amp;Zobraziť ako kartu</translation>
 <translation id="8883847527783433352">Synchronizovať do iného účtu</translation>
+<translation id="8884570509232205463">Zariadenie sa teraz uzamyká o <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Funkcia Smart Lock nie je k dispozícii</translation>
 <translation id="8888253246822647887">Aplikácia sa spustí po dokončení inovácie. Inovácia môže trvať niekoľko minút.</translation>
 <translation id="8888432776533519951">Farba:</translation>
@@ -5024,7 +5061,6 @@
 <translation id="891365694296252935">Odosielať údaje o využití a diagnostiky. Toto zariadenie momentálne automaticky odosiela Googlu diagnostiky a údaje o používaní zariadenia a aplikácií. Nebudú slúžiť na zistenie totožnosti vášho dieťaťa. Pomôžu zvýšiť stabilitu systému a aplikácií a poskytovať ďalšie vylepšenia. Niektoré súhrnné údaje tiež pomôžu aplikáciám Google a partnerom, ako napríklad vývojárom Androidu. Používanie tohto nastavenia je presadzované vlastníkom. Ak pre dieťa aktivujete dodatočnú aktivitu na internete a v aplikáciách, tieto údaje sa môžu uložiť do jeho účtu Google. <ph name="BEGIN_LINK1" />Ďalšie informácie<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Načítavajú sa návrhy</translation>
 <translation id="8916476537757519021">Podrámec inkognito: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Áno, súhlasím</translation>
 <translation id="8919275547519617350">Ak chcete získať svoje heslá vo všetkých zariadeniach, prihláste sa a zapnite synchronizáciu.</translation>
 <translation id="8921366488406707015">Overuje sa bezpečnostný kľúč…</translation>
 <translation id="8922013791253848639">Vždy povoliť reklamy na tomto webe</translation>
@@ -5093,6 +5129,7 @@
 <translation id="9026852570893462412">Tento proces môže trvať niekoľko minút. Sťahuje sa virtuálny počítač.</translation>
 <translation id="9027459031423301635">Otvoriť odkaz na novej &amp;karte</translation>
 <translation id="9030515284705930323">Vaša organizácia nepovoľuje vo vašom účte Obchod Google Play. Ak chcete získať ďalšie informácie, kontaktujte svojho správcu.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Prilepiť</translation>
 <translation id="9037965129289936994">Zobraziť originál</translation>
 <translation id="9038649477754266430">Používať službu predpovedí na rýchlejšie načítanie stránok</translation>
@@ -5122,7 +5159,6 @@
 <translation id="9065203028668620118">Upraviť</translation>
 <translation id="9066773882585798925">Čítanie textu nahlas</translation>
 <translation id="9066782832737749352">Prevod textu na reč</translation>
-<translation id="907264006778172906">Povoľte systému Linux prístup k zariadeniam USB. Linux si nezapamätá odstránené zariadenia USB.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Myš s konektorom USB bola pripojená</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index f6bac19..d8764a9 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -2005,7 +2005,6 @@
 <translation id="4109135793348361820">Premakni okno uporabniku <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Prenos je končan: <ph name="FILE_NAME" />. Pritisnite Shift + F6, če želite krožiti do območja vrstice s prenosi.</translation>
 <translation id="4110895898888439383">Brskajte po spletu v visokokontrastnem načinu</translation>
-<translation id="4112221174576828331">Če slika nima koristnega opisa, ga bo Chrome poskušal zagotoviti. Slike pregleduje Google.</translation>
 <translation id="4115002065223188701">Omrežje zunaj dosega</translation>
 <translation id="4115080753528843955">Nekatere storitve za zagotavljanje vsebine uporabljajo enolične identifikatorje zaradi pooblaščanja dostopa do zaščitene vsebine</translation>
 <translation id="4118579674665737931">Znova zaženite napravo in poskusite znova.</translation>
@@ -4460,6 +4459,7 @@
 <translation id="8008356846765065031">Internetna povezava je prekinjena. Preverite povezavo.</translation>
 <translation id="8009225694047762179">Upravljanje gesel</translation>
 <translation id="8012382203418782830">Ta stran je bila prevedena.</translation>
+<translation id="8013993649590906847">Če slika nima koristnega opisa, ga bo Chrome poskušal zagotoviti. Opisi se ustvarijo tako, da se slike pošljejo Googlu.</translation>
 <translation id="8014154204619229810">Orodje za posodabljanje se trenutno izvaja. Osvežite čez minuto in preverite znova.</translation>
 <translation id="8014206674403687691">Izdelka <ph name="IDS_SHORT_PRODUCT_NAME" /> ni mogoče povrniti na prejšnjo različico. Poskusite uporabiti funkcijo Powerwash.</translation>
 <translation id="8014210335923519270">Izboljšajte brskalnik <ph name="IDS_SHORT_PRODUCT_NAME" /> in njegovo varnost tako, da pošiljate podatke o sistemu in uporabi Googlu</translation>
@@ -5029,7 +5029,6 @@
 <translation id="891365694296252935">Pošiljanje podatkov o uporabi in diagnostičnih podatkov. Ta naprava trenutno Googlu samodejno pošilja diagnostične podatke ter podatke o uporabi naprave in aplikacij. Teh podatkov ne bomo uporabljali, da bi prepoznali vašega otroka, temveč za izboljšanje stabilnosti sistema in izvajanja aplikacij ter drugega. Nekateri združeni podatki bodo pomagali tudi Googlovim aplikacijam in partnerjem, na primer razvijalcem za Android. To nastavitev je uveljavil lastnik naprave. Če ste za otroka vklopili dodatno beleženje dejavnosti v spletu in aplikacijah, bodo ti podatki morda shranjeni v njegovem računu za Google. <ph name="BEGIN_LINK1" />Več o tem<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Nalaganje predloga</translation>
 <translation id="8916476537757519021">Podokvir za način brez beleženja zgodovine: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Da, sem za</translation>
 <translation id="8919275547519617350">Če želite dostopati do vseh gesel v vseh napravah, se prijavite in vklopite sinhronizacijo.</translation>
 <translation id="8921366488406707015">Preverjanje varnostnega ključa ...</translation>
 <translation id="8922013791253848639">Vedno dovoli oglase na tem spletnem mestu</translation>
@@ -5127,7 +5126,6 @@
 <translation id="9065203028668620118">Uredi</translation>
 <translation id="9066773882585798925">Branje besedila na glas</translation>
 <translation id="9066782832737749352">Pretvorba besedila v govor</translation>
-<translation id="907264006778172906">Omogočanje, da Linux dostopa do naprav USB. Linux si ne zapomni naprave USB, ko jo odstranite.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Miška USB je povezana</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index e1a9642..efa2531 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Није могуће учитати уређаје.</translation>
 <translation id="1008186147501209563">Извези обележиваче</translation>
 <translation id="1008557486741366299">Не сада</translation>
+<translation id="1010498023906173788">Ова картица је повезана са серијским портом.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{Страница се не одазива}one{Странице се не одазивају}few{Странице се не одазивају}other{Странице се не одазивају}}</translation>
 <translation id="1012794136286421601">Датотеке из Докумената, Табела, Презентација и Цртежа се синхронизују. Отворите апликацију Google диск да бисте им приступили онлајн или офлајн.</translation>
 <translation id="1012876632442809908">Уређај са USB прикључком типа C (предњи порт)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Притисните |<ph name="ACCELERATOR" />| да бисте изашли из режима целог екрана</translation>
 <translation id="1038168778161626396">Само шифруј</translation>
 <translation id="1039337018183941703">Неважећа или оштећена датотека</translation>
+<translation id="1041175011127912238">Ова страница не реагује</translation>
 <translation id="1042174272890264476">Уз рачунар такође добијате уграђену RLZ библиотеку производа <ph name="SHORT_PRODUCT_NAME" />. RLZ додељује нејединствену ознаку помоћу које вас није могуће лично идентификовати да би измерио претраге и коришћење производа <ph name="SHORT_PRODUCT_NAME" /> који су подстакнути одређеном промотивном кампањом. Те ознаке се понекад приказују у упитима Google претраге у производу <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Упс, овај назив се већ користи!</translation>
 <translation id="1046635659603195359">Изгледа да сте већ подесили Voice Match са Google помоћником на неком другом уређају. Ови претходни снимци могу да се користе за прављење гласовног модела на овом уређају. То би требало да траје мање од једног минута.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Прегледајте веб без чувања историје прегледања у прозору без архивирања</translation>
 <translation id="1213037489357051291">Отисци прстију (<ph name="NUM_FINGERPRINTS" />) су подешени</translation>
 <translation id="1215411991991485844">Нова апликација у позадини је додата</translation>
+<translation id="1217483152325416304">Локални подаци се ускоро бришу</translation>
 <translation id="1217668622537098248">Врати на леви клик после радње</translation>
 <translation id="121783623783282548">Лозинке се не подударају.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Google услуга локације користи изворе као што су Wi‑Fi мреже, мобилне мреже и сензори да би одредила приближну локацију овог уређаја.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Детаљи: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Инсталација није омогућена</translation>
 <translation id="1483493594462132177">Пошаљи</translation>
+<translation id="1484979925941077974">Сајт користи Bluetooth</translation>
 <translation id="1485015260175968628">Сада може да:</translation>
 <translation id="1485141095922496924">Верзија <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Претражите лозинке</translation>
@@ -455,6 +459,7 @@
 <translation id="1708338024780164500">(Неактивно)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ИД: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (Основна)</translation>
+<translation id="1711401317189798723">Прављење резервне копије је у току за <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">Користите ову лозинку на iPhone-у</translation>
 <translation id="1712552549805331520"><ph name="URL" /> жели трајно да складишти податке на локалном рачунару</translation>
 <translation id="1718835860248848330">Последњих сат времена</translation>
@@ -604,6 +609,7 @@
 <translation id="1932026958134051332">Опције приступа помоћу прекидача</translation>
 <translation id="1932098463447129402">Не пре</translation>
 <translation id="1933809209549026293">Повежите миша или тастатуру. Ако користите Bluetooth уређај, проверите да ли је спреман за упаривање.</translation>
+<translation id="1937774647013465102">Не можете да увезете тип архитектуре контејнера <ph name="ARCHITECTURE_CONTAINER" /> помоћу овог уређаја, који је <ph name="ARCHITECTURE_DEVICE" />. Можете да пробате да вратите овај контејнер на други уређај или да отворите апликацију Датотеке да бисте приступили датотекама у слици овог контејнера.</translation>
 <translation id="1938351510777341717">Спољна команда</translation>
 <translation id="1940546824932169984">Повезани уређаји</translation>
 <translation id="1944921356641260203">Ажурирање је пронађено</translation>
@@ -888,9 +894,11 @@
 <translation id="2392369802118427583">Активирај</translation>
 <translation id="2394566832561516196">Подешавања ће бити обрисана при следећем поновном учитавању.</translation>
 <translation id="2395616325548404795"><ph name="DEVICE_TYPE" /> је регистрован за управљање предузећем, али није послао информације о елементу и локацији. Унесите те информације ручно на Admin console-у за овај уређај.</translation>
+<translation id="2396783860772170191">Унесите 4-цифрени PIN (0000–9999)</translation>
 <translation id="2408955596600435184">Унесите PIN</translation>
 <translation id="241082044617551207">Непозната додатна компонента</translation>
 <translation id="2413749388954403953">Мењање корисничког интерфејса обележивача</translation>
+<translation id="241639282915300771">Враћање је у току за <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Подаци су шифровани помоћу Google лозинке од
           <ph name="TIME" />. То не обухвата начине плаћања и адресе из Google Pay-а.</translation>
 <translation id="2419706071571366386">Из безбедносних разлога се одјавите када не користите рачунар.</translation>
@@ -983,6 +991,7 @@
 <translation id="2538361623464451692">Синхронизација је онемогућена</translation>
 <translation id="2540449034743108469">Притисните „Почетак“ да бисте слушали активности прегледача</translation>
 <translation id="2541002089857695151">Желите ли да оптимизујете пребацивање целог екрана?</translation>
+<translation id="2541706104884128042">Подешено је ново време за спавање</translation>
 <translation id="2544853746127077729">Мрежа је одбила сертификат за потврду аутентичности</translation>
 <translation id="2549985041256363841">Започни снимање</translation>
 <translation id="2550212893339833758">Замењена меморија</translation>
@@ -1073,6 +1082,7 @@
 <translation id="2677748264148917807">Затвори</translation>
 <translation id="2678063897982469759">Поново омогући</translation>
 <translation id="268053382412112343">Hi&amp;story (Историја)</translation>
+<translation id="2682498795777673382">Новости од родитеља</translation>
 <translation id="2683638487103917598">Директоријум је сортиран</translation>
 <translation id="2684004000387153598">Да бисте наставили, кликните на Потврди, па на Додај особу да бисте отворили нови профил за имејл адресу.</translation>
 <translation id="2688196195245426394">Грешка при регистровању уређаја на сервер: <ph name="CLIENT_ERROR" />.</translation>
@@ -1106,6 +1116,7 @@
 <translation id="2731392572903530958">П&amp;оново отвори затворени прозор</translation>
 <translation id="2731700343119398978">Сачекајте…</translation>
 <translation id="2731710757838467317">Правимо корисника под надзором. То ће можда потрајати пар тренутака.</translation>
+<translation id="2731971182069536520">Када следећи пут рестартујете уређај, администратор ће обавити једнократно ажурирање које ће избрисати локалне податке.</translation>
 <translation id="2734760316755174687">Ресетоваће се и сајтови из групе <ph name="SITE_GROUP_NAME" />.</translation>
 <translation id="2735438478659026460">Аутоматски кликни када се курсор миша заустави</translation>
 <translation id="2735712963799620190">Распоред</translation>
@@ -1309,6 +1320,7 @@
 <translation id="304747341537320566">Механизми говора</translation>
 <translation id="3047644958362961983">Ове информације нам помажу да боље разумемо проблем који имате са Помоћником. Чувају се највише 90 дана, а приступ је ограничен на одговарајуће тимове за инжењеринг и повратне информације.</translation>
 <translation id="3053013834507634016">Употреба кључа сертификата</translation>
+<translation id="3053273573829329829">Омогући PIN корисника</translation>
 <translation id="3058498974290601450">Можете да укључите синхронизацију у подешавањима у било ком тренутку</translation>
 <translation id="3060379269883947824">Омогући услугу Изаберите за говор</translation>
 <translation id="3061707000357573562">Услуга крпљења</translation>
@@ -1328,6 +1340,7 @@
 <translation id="3084771660770137092">Chrome прегледачу је понестало меморије или је процес за веб-страницу прекинут из неког другог разлога. Да бисте наставили, поново учитајте страницу или идите на неку другу страницу.</translation>
 <translation id="3085412380278336437">Сајт може да користи камеру</translation>
 <translation id="3085752524577180175">SOCKS хост</translation>
+<translation id="3088052000289932193">Сајт користи MIDI</translation>
 <translation id="3088325635286126843">&amp;Преименуј...</translation>
 <translation id="3089137131053189723">Претрага је обрисана</translation>
 <translation id="3090193911106258841">Приступа се аудио и видео улазу</translation>
@@ -1467,6 +1480,7 @@
 <translation id="3317459757438853210">Обострано</translation>
 <translation id="3317678681329786349">Камера и микрофон су блокирани</translation>
 <translation id="3319048459796106952">Нови &amp;прозор „Без архивирања“</translation>
+<translation id="3323521181261657960">Бонус! Добијаш додатно време испред екрана</translation>
 <translation id="3325910708063135066">Камера и микрофон су искључени у подешавањима Mac система</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Информације о апликацији</translation>
@@ -1762,6 +1776,7 @@
 <translation id="3765246971671567135">Читање офлајн смерница за режим демонстрације није успело.</translation>
 <translation id="3766223500670287046">Удаљени екран</translation>
 <translation id="3768037234834996183">Подешавања се синхронизују...</translation>
+<translation id="377050016711188788">Сладолед</translation>
 <translation id="3771294271822695279">Видео датотеке</translation>
 <translation id="3775432569830822555">Сертификат SSL сервера</translation>
 <translation id="3775705724665058594">Пошаљите на своје уређаје</translation>
@@ -1840,6 +1855,7 @@
 <translation id="3869917919960562512">Погрешан индекс.</translation>
 <translation id="3870931306085184145">Нема сачуваних лозинки за <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Најнижи</translation>
+<translation id="3871350334636688135">После 24 сата администратор ће обавити једнократно ажурирање које ће избрисати локалне податке када рестартујете уређај. Сачувајте потребне локалне податке у простору у клауду у року од 24 сата.</translation>
 <translation id="3872220884670338524">Још радњи, сачуван је налог за <ph name="USERNAME" /> на <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Ослободите простор на диску или ће уређај престати да се одазива.</translation>
 <translation id="3873315167136380065">Да бисте укључили ово, <ph name="BEGIN_LINK" />ресетујте синхронизацију<ph name="END_LINK" /> да бисте уклонили приступну фразу за синхронизацију</translation>
@@ -1919,6 +1935,7 @@
 <translation id="3983400541576569538">Подаци из неких апликација су можда изгубљени</translation>
 <translation id="3983586614702900908">уређаји непознатог продавца</translation>
 <translation id="3984159763196946143">Покретање режима демонстрације није успело</translation>
+<translation id="3984431586879874039">Желите ли да дозволите овом сајту да види безбедносни кључ?</translation>
 <translation id="3987348946546879621">Сачувани подаци</translation>
 <translation id="3987938432087324095">Жао нам је, нисмо вас чули.</translation>
 <translation id="3988996860813292272">Изаберите временску зону</translation>
@@ -1995,13 +2012,13 @@
 <translation id="4099060993766194518">Желите да вратите подразумевани претраживач?</translation>
 <translation id="4099874310852108874">Дошло је до грешке на мрежи.</translation>
 <translation id="4100733287846229632">Простор на уређају је изузетно мали</translation>
+<translation id="4100853287411968461">Ново ограничење времена испред екрана</translation>
 <translation id="4103091233824664032">Унесите лозинку да бисте конфигурисали закључавање екрана и пријављивање</translation>
 <translation id="4104163789986725820">И&amp;звези...</translation>
 <translation id="4107048419833779140">идентификује и избацује меморијске уређаје</translation>
 <translation id="4109135793348361820">Премести прозор код <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Преузимање је довршено: <ph name="FILE_NAME" />. Притисните Shift + F6 да бисте прешли на област траке са преузимањима.</translation>
 <translation id="4110895898888439383">Прегледајте веб у режиму високог контраста</translation>
-<translation id="4112221174576828331">Ако слика нема користан опис, Chrome ће вам га пружити. Google скенира слике.</translation>
 <translation id="4115002065223188701">Мрежа је ван домета</translation>
 <translation id="4115080753528843955">Неке услуге садржаја користе јединствене идентификаторе ради одобравања приступа заштићеном садржају</translation>
 <translation id="4118579674665737931">Рестартујте уређај и пробајте поново.</translation>
@@ -2115,6 +2132,7 @@
 <translation id="4324577459193912240">Датотека је непотпуна</translation>
 <translation id="4325237902968425115">Деинсталира се <ph name="LINUX_APP_NAME" />...</translation>
 <translation id="4328203388435897516">Када подесите Chromebook, притисните дугме Помоћник или изговорите „Ок Google“ да бисте затражили помоћ у било ком тренутку. Промене можете да унесете у подешавањима Помоћника.</translation>
+<translation id="4330191372652740264">Вода са ледом</translation>
 <translation id="4330387663455830245">Никад не преводи <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 са RSA шифровањем</translation>
 <translation id="4336979451636460645">Евиденције мреже потражите на: <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2150,6 +2168,7 @@
 <translation id="438503109373656455">Саратога</translation>
 <translation id="4387004326333427325">Сертификат за потврду аутентичности је одбијен даљински</translation>
 <translation id="4389091756366370506">Корисник <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Без архивирања}one{# отворен прозор без архивирања}few{# отворена прозора без архивирања}other{# отворених прозора без архивирања}}</translation>
 <translation id="439266289085815679">Конфигурацију Bluetooth-а контролише <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Онемогући</translation>
 <translation id="4400367121200150367">Сајтови који никада не чувају лозинке ће се појавити овде</translation>
@@ -2298,6 +2317,7 @@
 <translation id="4648499713050786492">Откључајте профил да бисте додали особу.</translation>
 <translation id="4651484272688821107">Учитавање онлајн компоненте са ресурсима за режим демонстрације није успело.</translation>
 <translation id="465878909996028221">За преусмеравања у прегледачу подржани су само протоколи http, https и file.</translation>
+<translation id="4659077111144409915">Примарни налог</translation>
 <translation id="4660476621274971848">Очекивала се верзија „<ph name="EXPECTED_VERSION" />“, али је верзија била „<ph name="NEW_ID" />“</translation>
 <translation id="4662788913887017617">Делите овај обележивач са iPhone-ом</translation>
 <translation id="4663373278480897665">Камера је дозвољена</translation>
@@ -2343,6 +2363,7 @@
 <translation id="4724450788351008910">Припадност је измењена</translation>
 <translation id="4725511304875193254">Корги</translation>
 <translation id="4726710629007580002">Било је упозорења када сте покушавали да инсталирате овај додатак:</translation>
+<translation id="4727847987444062305">Сесија госта којом се управља</translation>
 <translation id="4728558894243024398">Платформа</translation>
 <translation id="4733082559415072992"><ph name="URL" /> жели да користи локацију уређаја</translation>
 <translation id="4733793249294335256">Локација</translation>
@@ -2452,6 +2473,7 @@
 <translation id="488785315393301722">Прикажи детаље</translation>
 <translation id="4890773143211625964">Приказуј напредне опције за штампач</translation>
 <translation id="4891089016822695758">Форум за бета верзију</translation>
+<translation id="4892229439761351791">Сајт може да користи Bluetooth</translation>
 <translation id="4893336867552636863">То ће трајно избрисати податке прегледања са овог уређаја.</translation>
 <translation id="4893522937062257019">На закључаном екрану</translation>
 <translation id="4898011734382862273">Сертификат „<ph name="CERTIFICATE_NAME" />“ представља ауторитет за издавање сертификата</translation>
@@ -2627,6 +2649,8 @@
 <translation id="5187295959347858724">Сада сте пријављени на <ph name="SHORT_PRODUCT_NAME" />. Обележивачи, историја и друга подешавања се синхронизују са Google налогом.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> жели да преузме више датотека</translation>
+<translation id="5192316339598592690">Брзо мењајте налоге и пријављујте се у све апликације и веб-сајтове одједном.
+    Апликације и сајтови могу да вам затраже дозволу да користе неке информације о Google налогу. <ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Обавите Powerwash на уређају и пробајте поново.</translation>
 <translation id="5204967432542742771">Унесите лозинку</translation>
 <translation id="5206215183583316675">Желите ли да избришете „<ph name="CERTIFICATE_NAME" />“?</translation>
@@ -3513,6 +3537,7 @@
 <translation id="6547354035488017500">Ослободите бар 512 MB простора или ће уређај престати да се одазива. Да бисте ослободили простор, избришите датотеке из меморијског простора уређаја.</translation>
 <translation id="6550675742724504774">Опције</translation>
 <translation id="6551508934388063976">Команда није доступна. Притисните control-N да бисте отворили нови прозор.</translation>
+<translation id="6551612971599078809">Сајт користи USB</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> корисника</translation>
 <translation id="655483977608336153">Пробај поново</translation>
 <translation id="6555432686520421228">Уклоните све корисничке налоге и рестартујте <ph name="IDS_SHORT_PRODUCT_NAME" /> уређај да би био као нов.</translation>
@@ -3737,6 +3762,7 @@
 <translation id="692114467174262153">Отварање прегледача <ph name="ALTERNATIVE_BROWSER_NAME" /> није успело</translation>
 <translation id="6921709132208495314">Прекини употребу података на овој страници</translation>
 <translation id="6922128026973287222">Уштедите на подацима и прегледајте брже помоћу Google уштеде података. Кликните да бисте сазнали више.</translation>
+<translation id="6922745772873733498">Унесите PIN да бисте штампали</translation>
 <translation id="6923132443355966645">Померајте/кликните</translation>
 <translation id="6923633482430812883">Грешка при учитавању дељене датотеке. Проверите да ли сервер датотека са којим се повезујете подржава SMBv2 или новију верзију.</translation>
 <translation id="6930036377490597025">Екстерни безбедносни кључ или уграђени сензор</translation>
@@ -3791,6 +3817,7 @@
 <translation id="7003339318920871147">Веб базе података</translation>
 <translation id="7003723821785740825">Подесите бржи начин откључавања уређаја</translation>
 <translation id="7003844668372540529">Непознати производ <ph name="PRODUCT_ID" /> продавца <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">Сајт може да користи MIDI</translation>
 <translation id="7004499039102548441">Недавне картице</translation>
 <translation id="7005848115657603926">Неисправан опсег страница, користите <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Доња маргина</translation>
@@ -3803,9 +3830,11 @@
 <translation id="7017480957358237747">да дозволите или забраните одређене веб-сајтове,</translation>
 <translation id="7018275672629230621">Читање историје прегледања и мењање те историје</translation>
 <translation id="7019805045859631636">Брзо</translation>
+<translation id="702252130983202758">Апликације</translation>
 <translation id="7022562585984256452">Почетна страница је подешена.</translation>
 <translation id="7025190659207909717">Управљање услугом мобилног преноса података</translation>
 <translation id="7029809446516969842">Лозинке</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> – серијски порт је повезан</translation>
 <translation id="7031962166228839643">Модул поуздане платформе је у припреми. Сачекајте (ово може да потраје неколико минута)...</translation>
 <translation id="7037509989619051237">Текст за преглед</translation>
 <translation id="7039326228527141150">Приступ USB уређајима продавца <ph name="VENDOR_NAME" /></translation>
@@ -3830,6 +3859,7 @@
 <translation id="706626672220389329">Грешка при учитавању дељене датотеке. Наведена дељена датотека је већ учитана.</translation>
 <translation id="7066944511817949584">Повезивање са уређајем „<ph name="DEVICE_NAME" />“ није успело.</translation>
 <translation id="7067725467529581407">Никада више не приказуј ово.</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> можда захтева новију или другачију врсту безбедносног кључа</translation>
 <translation id="7070484045139057854">Ово може да чита и мења податке сајтова</translation>
 <translation id="7072010813301522126">Назив пречице</translation>
 <translation id="707392107419594760">Изаберите тастатуру:</translation>
@@ -3910,6 +3940,7 @@
 <translation id="7189234443051076392">Проверите да ли на уређају има довољно простора</translation>
 <translation id="7189965711416741966">Додали сте отисак прста.</translation>
 <translation id="7191159667348037">Непознат штампач (USB)</translation>
+<translation id="7193051357671784796">Ову апликацију је додала ваша организација. Поново је покрените да бисте завршили инсталацију.</translation>
 <translation id="7193374945610105795">Ниједна лозинка није сачувана за <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Правите резервне копије на Google диску. Лако враћајте податке или мењајте уређаје у било ком тренутку. Резервна копија обухвата податке апликација. Резервне копије се отпремају на Google и шифрују помоћу лозинке за Google налог. <ph name="BEGIN_LINK1" />Сазнајте више<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Добијте Google претрагу и Google паметне функције сваки пут када прегледате</translation>
@@ -4332,6 +4363,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Напомена:<ph name="END_BOLD" /> Систем ће се рестартовати током овог процеса.</translation>
 <translation id="7829298379596169484">Приступа се аудио улазу</translation>
+<translation id="7830594666202422257">Повежи са Linux-ом</translation>
 <translation id="7831491651892296503">Грешка при конфигурацији мреже</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Време завршетка</translation>
@@ -4361,6 +4393,7 @@
 <translation id="7877451762676714207">Непозната грешка сервера. Пробајте поново или контактирајте администратора сервера.</translation>
 <translation id="7877680364634660272">Обилазак</translation>
 <translation id="7878562273885520351">Лозинка је можда компромитована</translation>
+<translation id="7880823633812189969">Локални подаци ће бити избрисани када рестартујете уређај</translation>
 <translation id="7881483672146086348">Прикажи налог</translation>
 <translation id="7882358943899516840">Тип добављача</translation>
 <translation id="7885253890047913815">Недавна одредишта</translation>
@@ -4456,6 +4489,7 @@
 <translation id="8008356846765065031">Веза са интернетом је прекинута. Проверите интернет везу.</translation>
 <translation id="8009225694047762179">Управљај лозинкама</translation>
 <translation id="8012382203418782830">Ова страница је преведена.</translation>
+<translation id="8013993649590906847">Ако слика нема користан опис, Chrome ће пробати да вам га пружи. Слике се шаљу Google-у ради прављења описа.</translation>
 <translation id="8014154204619229810">Програм за ажурирање је тренутно активан. Сачекајте мало, па освежите и проверите поново.</translation>
 <translation id="8014206674403687691">Није могуће вратити <ph name="IDS_SHORT_PRODUCT_NAME" /> на претходно инсталирану верзију. Покушајте да поново обавите Powerwash уређаја.</translation>
 <translation id="8014210335923519270">Шаљите Google-у податке о систему и коришћењу и побољшајте <ph name="IDS_SHORT_PRODUCT_NAME" /> и његову безбедност</translation>
@@ -4699,6 +4733,7 @@
 <translation id="8426713856918551002">Омогућава се</translation>
 <translation id="8427292751741042100">уграђено на било ком хосту</translation>
 <translation id="8428213095426709021">Подешавања</translation>
+<translation id="8428628598981198790">Не можете да користите безбедносни кључ на овом сајту</translation>
 <translation id="84297032718407999">Одјавићете се за <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Приказ додира</translation>
 <translation id="8431909052837336408">Промените PIN SIM картице</translation>
@@ -4903,6 +4938,7 @@
 <translation id="8732212173949624846">Читање и мењање ваше историје прегледања на свим уређајима на којима сте пријављени</translation>
 <translation id="8732844209475700754">Још подешавања у вези са приватношћу, безбедношћу и прикупљањем података</translation>
 <translation id="8734073480934656039">Омогућавањем овог подешавања дозвољавате киоск апликацијама да се аутоматски покрећу при покретању рачунара.</translation>
+<translation id="8734671092194994316">Ово ће забележити посету сајту <ph name="WEBSITE" /> на безбедносном кључу.</translation>
 <translation id="873545264931343897">Када се заврши ажурирање додатне компоненте <ph name="PLUGIN_NAME" />, поново учитајте страницу да бисте је активирали</translation>
 <translation id="8736288397686080465">Овај сајт је ажуриран у позадини.</translation>
 <translation id="8737685506611670901">отвори линкове за <ph name="PROTOCOL" /> уместо <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5001,6 +5037,7 @@
 <translation id="8877448029301136595">[матични директоријум]</translation>
 <translation id="8879284080359814990">&amp;Прикажи као картицу</translation>
 <translation id="8883847527783433352">Синхронизујте са другим налогом</translation>
+<translation id="8884570509232205463">Уређај се сада закључава у <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Smart Lock није доступно</translation>
 <translation id="8888253246822647887">Апликација ће се отворити када се надоградња заврши. Надоградње могу да трају неколико минута.</translation>
 <translation id="8888432776533519951">Боја:</translation>
@@ -5025,7 +5062,6 @@
 <translation id="891365694296252935">Шаљите податке о коришћењу и дијагностичке податке. Овај уређај тренутно аутоматски шаље податке о дијагностици, уређају и коришћењу апликација Google-у. Те информације се неће користити за идентификацију детета и помоћи ће у одржавању стабилности система и апликације и другим подешавањима. Неки обједињени подаци ће такође помоћи Google апликацијама и партнерима, попут Android програмера. То подешавање примењује власник. Ако за дете укључите додатне активности на вебу и у апликацијама, ти подаци ће се можда чувати на Google налогу детета. <ph name="BEGIN_LINK1" />Сазнајте више<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Учитавање предлога</translation>
 <translation id="8916476537757519021">Подоквир Без архивирања: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Да, омогући</translation>
 <translation id="8919275547519617350">Да би вам све лозинке биле доступне на свим уређајима, пријавите се и укључите синхронизацију.</translation>
 <translation id="8921366488406707015">Безбедносни кључ се верификује...</translation>
 <translation id="8922013791253848639">Увек дозвољавај огласе на овом сајту</translation>
@@ -5094,6 +5130,7 @@
 <translation id="9026852570893462412">Ово може да потраје неколико минута. Преузима се виртуелна машина.</translation>
 <translation id="9027459031423301635">Отвори линк у новој &amp;картици</translation>
 <translation id="9030515284705930323">Организација није омогућила Google Play продавницу за налог. Контактирајте администратора за више информација.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;Налепи</translation>
 <translation id="9037965129289936994">Прикажи оригинал</translation>
 <translation id="9038649477754266430">Користите услугу предвиђања да бисте брже учитавали странице</translation>
@@ -5123,7 +5160,6 @@
 <translation id="9065203028668620118">Измени</translation>
 <translation id="9066773882585798925">Слушајте читање текста наглас</translation>
 <translation id="9066782832737749352">Претварање текста у говор</translation>
-<translation id="907264006778172906">Дајте Linux-у дозволу да приступа USB уређајима. Linux неће запамтити USB уређај када га уклоните.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB миш је повезан</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index 36e7199..bc62e20 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">Det gick inte att läsa in enheterna.</translation>
 <translation id="1008186147501209563">Exportera bokmärken</translation>
 <translation id="1008557486741366299">Inte nu</translation>
+<translation id="1010498023906173788">Fliken är kopplad till en serieport.</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{sida svarar inte}other{sidor svarar inte}}</translation>
 <translation id="1012794136286421601">Dina dokument, kalkylark, bildspelsbilder och ritningar synkroniseras. Öppna appen Google Drive om du vill öppna dem online eller offline.</translation>
 <translation id="1012876632442809908">USB-C-enhet (främre port)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">Tryck på |<ph name="ACCELERATOR" />| för att stänga helskärmen</translation>
 <translation id="1038168778161626396">Endast chiffrering</translation>
 <translation id="1039337018183941703">Ogiltig eller skadad fil</translation>
+<translation id="1041175011127912238">Sidan svarar inte</translation>
 <translation id="1042174272890264476">Datorn har även RLZ-biblioteket för <ph name="SHORT_PRODUCT_NAME" /> inbyggt. RLZ tilldelar en icke-unik, icke-personligt identifierbar tagg för att mäta antalet sökningar och användningen av <ph name="SHORT_PRODUCT_NAME" /> som drivs av en viss reklamkampanj. Dessa etiketter visas ibland vid sökningar på Google i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1046059554679513793">Det här namnet används redan!</translation>
 <translation id="1046635659603195359">Du verkar redan ha konfigurerat Voice Match med Google Assistant på en annan enhet. Det går att skapa en röstmodell på den här enheten utifrån de tidigare inspelningarna. Detta tar knappt en minut.</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">Surfa utan att någon webbhistorik sparas med ett inkognitofönster</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> fingeravtryck har konfigurerats</translation>
 <translation id="1215411991991485844">En ny bakgrundsapp har lagts till</translation>
+<translation id="1217483152325416304">Din lokala data raderas inom kort</translation>
 <translation id="1217668622537098248">Återgå till att vänsterklicka efter åtgärden</translation>
 <translation id="121783623783282548">Lösenorden matchar inte.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />Med Googles platstjänst används källor som Wi-Fi, mobilnätverk och sensorer för att avgöra enhetens plats.<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">Detaljer: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Installationen är inte aktiverad</translation>
 <translation id="1483493594462132177">Skicka</translation>
+<translation id="1484979925941077974">Webbplatsen använder Bluetooth</translation>
 <translation id="1485015260175968628">Appen eller tillägget kan nu:</translation>
 <translation id="1485141095922496924">Version <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">Sök efter lösenord</translation>
@@ -457,6 +461,7 @@
 <translation id="1708338024780164500">(Inaktiv)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (id: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (standard)</translation>
+<translation id="1711401317189798723">Säkerhetskopiering pågår för <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">Få det här lösenordet till din iPhone</translation>
 <translation id="1712552549805331520"><ph name="URL" /> vill lagra data permanent på din lokala dator</translation>
 <translation id="1718835860248848330">Senaste timmen</translation>
@@ -606,6 +611,7 @@
 <translation id="1932026958134051332">Byt åtkomstalternativ</translation>
 <translation id="1932098463447129402">Inte före</translation>
 <translation id="1933809209549026293">Anslut en mus eller ett tangentbord. Om du använder en Bluetooth-enhet kontrollerar du att den är klar att kopplas.</translation>
+<translation id="1937774647013465102">Det går inte att importera en behållararkitektur av typen <ph name="ARCHITECTURE_CONTAINER" /> med den här enheten, som är en <ph name="ARCHITECTURE_DEVICE" />. Du kan testa att återställa behållaren till en annan enhet, eller så kan du öppna filerna i behållarbilden via appen Filer.</translation>
 <translation id="1938351510777341717">Extern kommandotangent</translation>
 <translation id="1940546824932169984">Anslutna enheter</translation>
 <translation id="1944921356641260203">En uppdatering hittades</translation>
@@ -890,9 +896,11 @@
 <translation id="2392369802118427583">Aktivera</translation>
 <translation id="2394566832561516196">Inställningarna tas bort vid nästa inläsning.</translation>
 <translation id="2395616325548404795"><ph name="DEVICE_TYPE" /> har registrerats för företagshantering, men har inte skickat tillgångs- och platsinformation. Ange informationen manuellt i administratörskonsolen för enheten.</translation>
+<translation id="2396783860772170191">Ange den fyrsiffriga pinkoden (0000–9999)</translation>
 <translation id="2408955596600435184">Ange din pinkod</translation>
 <translation id="241082044617551207">Okänt pluginprogram</translation>
 <translation id="2413749388954403953">Ändra användargränssnittet för bokmärken</translation>
+<translation id="241639282915300771">Återställning pågår för <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">Data krypterades med Google-lösenordet den
           <ph name="TIME" />. Betalningsuppgifter och adresser från Google Pay omfattas inte.</translation>
 <translation id="2419706071571366386">Av säkerhetsskäl bör du logga ut när datorn inte används.</translation>
@@ -985,6 +993,7 @@
 <translation id="2538361623464451692">Synkronisering inaktiverad</translation>
 <translation id="2540449034743108469">Börja lyssna efter aktivitet i tillägg genom att trycka på Starta</translation>
 <translation id="2541002089857695151">Vill du optimera det du castar för helskärm?</translation>
+<translation id="2541706104884128042">Ny stopptid har ställts in</translation>
 <translation id="2544853746127077729">Autentiseringscertifikatet godkändes inte av nätverket</translation>
 <translation id="2549985041256363841">Börja spela in</translation>
 <translation id="2550212893339833758">Växlingsminne</translation>
@@ -1076,6 +1085,7 @@
 <translation id="2677748264148917807">Lämna</translation>
 <translation id="2678063897982469759">Aktivera igen</translation>
 <translation id="268053382412112343">Hi&amp;storik</translation>
+<translation id="2682498795777673382">Uppdatering från din förälder</translation>
 <translation id="2683638487103917598">Mappens innehåll har sorterats</translation>
 <translation id="2684004000387153598">Fortsätt genom att klicka på OK. Skapa sedan en ny profil för din e-postadress genom att klicka på Lägg till person.</translation>
 <translation id="2688196195245426394">Det uppstod ett fel när enheten registrerades med servern: <ph name="CLIENT_ERROR" />.</translation>
@@ -1109,6 +1119,7 @@
 <translation id="2731392572903530958">Ö&amp;ppna ett stängt fönster igen</translation>
 <translation id="2731700343119398978">Vänta ...</translation>
 <translation id="2731710757838467317">Skapar din hanterade användare. Det kan ta en liten stund.</translation>
+<translation id="2731971182069536520">Administratören gör en engångsuppdatering som raderar din lokala data nästa gång du startar om enheten.</translation>
 <translation id="2734760316755174687">Webbplatser som är underordnade <ph name="SITE_GROUP_NAME" /> återställs också.</translation>
 <translation id="2735438478659026460">Klicka automatiskt när muspekaren stannar</translation>
 <translation id="2735712963799620190">Schema</translation>
@@ -1312,6 +1323,7 @@
 <translation id="304747341537320566">Talmotorer</translation>
 <translation id="3047644958362961983">Med den här informationen blir det lättare för oss att förstå problemet med assistenten. Informationen lagras i upp till 90 dagar och endast behöriga utvecklar- och feedbackteam har åtkomst till den.</translation>
 <translation id="3053013834507634016">Certifikatnyckelanvändning</translation>
+<translation id="3053273573829329829">Aktivera användarpinkod</translation>
 <translation id="3058498974290601450">Du kan när som helst inaktivera synkroniseringen i inställningarna</translation>
 <translation id="3060379269883947824">Aktivera Textuppläsning</translation>
 <translation id="3061707000357573562">Tjänst för programkorrigering</translation>
@@ -1331,6 +1343,7 @@
 <translation id="3084771660770137092">Antingen tog minnet slut i Chrome eller så avslutades processen för webbsidan av någon annan anledning. Om du vill fortsätta läser du in sidan på nytt eller öppnar en annan sida.</translation>
 <translation id="3085412380278336437">Webbplatsen har åtkomst till kameran</translation>
 <translation id="3085752524577180175">SOCKS-värd</translation>
+<translation id="3088052000289932193">MIDI används på webbplatsen</translation>
 <translation id="3088325635286126843">&amp;Byt namn ...</translation>
 <translation id="3089137131053189723">Sökningen har rensats</translation>
 <translation id="3090193911106258841">Får åtkomst till ljud- och videoindata</translation>
@@ -1470,6 +1483,7 @@
 <translation id="3317459757438853210">Dubbelsidig</translation>
 <translation id="3317678681329786349">Kamera och mikrofon är blockerade</translation>
 <translation id="3319048459796106952">Nytt &amp;inkognitofönster</translation>
+<translation id="3323521181261657960">Bonus! Du har fått mer skärmtid</translation>
 <translation id="3325910708063135066">Kamera och mikrofon har inaktiverats i systeminställningarna för Mac.</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Appinformation</translation>
@@ -1765,6 +1779,7 @@
 <translation id="3765246971671567135">Det gick inte att läsa in offlinepolicyn för demoläge.</translation>
 <translation id="3766223500670287046">Fjärrskärm</translation>
 <translation id="3768037234834996183">Inställningarna synkroniseras ...</translation>
+<translation id="377050016711188788">Glass</translation>
 <translation id="3771294271822695279">Videofiler</translation>
 <translation id="3775432569830822555">SSL-servercertifikat</translation>
 <translation id="3775705724665058594">Skicka till dina enheter</translation>
@@ -1843,6 +1858,7 @@
 <translation id="3869917919960562512">Fel index.</translation>
 <translation id="3870931306085184145">Det finns inga sparade lösenord för <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">Lägsta</translation>
+<translation id="3871350334636688135">Efter 24 timmar genomför administratören en engångsuppdatering som raderar din lokala data när du startar om enheten. Spara den lokala data du behöver i molnet inom 24 timmar.</translation>
 <translation id="3872220884670338524">Fler åtgärder, sparat konto för <ph name="USERNAME" /> på <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">Frigör diskutrymme för att enheten ska fortsätta svara.</translation>
 <translation id="3873315167136380065"><ph name="BEGIN_LINK" />Återställ synkroniseringen<ph name="END_LINK" /> så att lösenfrasen för synkronisering tas bort om du vill aktivera detta</translation>
@@ -1922,6 +1938,7 @@
 <translation id="3983400541576569538">Data från vissa appar kanske inte sparas</translation>
 <translation id="3983586614702900908">enheter från en okänd leverantör</translation>
 <translation id="3984159763196946143">Det gick inte att starta demoläget</translation>
+<translation id="3984431586879874039">Vill du tillåta att webbplatsen ser din säkerhetsnyckel?</translation>
 <translation id="3987348946546879621">Sparar data</translation>
 <translation id="3987938432087324095">Det gick inte att uppfatta vad du sade.</translation>
 <translation id="3988996860813292272">Välj tidszon</translation>
@@ -1998,13 +2015,13 @@
 <translation id="4099060993766194518">Vill du återställa standardinställningen för sökmotorn?</translation>
 <translation id="4099874310852108874">Ett nätverksfel uppstod.</translation>
 <translation id="4100733287846229632">Mycket ont om utrymme på enheten</translation>
+<translation id="4100853287411968461">Ny gräns för skärmtid</translation>
 <translation id="4103091233824664032">Ange lösenordet om du vill konfigurera skärmlåset och logga in</translation>
 <translation id="4104163789986725820">E&amp;xportera...</translation>
 <translation id="4107048419833779140">Identifiera och mata ut lagringsenheter</translation>
 <translation id="4109135793348361820">Flytta fönster till <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Nedladdningen är klar: <ph name="FILE_NAME" />. Stega till nedladdningsfältet med Skift+F6.</translation>
 <translation id="4110895898888439383">Surfa på webben i högkontrastläge</translation>
-<translation id="4112221174576828331">Om en bild inte har någon användbar beskrivning skapar Chrome en åt dig. Bilden skannas av Google.</translation>
 <translation id="4115002065223188701">Nätverket är utanför räckvidden</translation>
 <translation id="4115080753528843955">I vissa innehållstjänster används unika identifierare i syfte att ge åtkomst till skyddat innehåll</translation>
 <translation id="4118579674665737931">Starta om enheten och försök igen.</translation>
@@ -2118,6 +2135,7 @@
 <translation id="4324577459193912240">Filen är inte fullständig</translation>
 <translation id="4325237902968425115">Avinstallerar <ph name="LINUX_APP_NAME" /> ...</translation>
 <translation id="4328203388435897516">När konfigureringen av Chromebook är klar kan du få hjälp när som helst genom att trycka på assistentknappen eller säga "Ok Google". Öppna inställningarna för Assistenten och gör ändringar.</translation>
+<translation id="4330191372652740264">Isvatten</translation>
 <translation id="4330387663455830245">Översätt aldrig från <ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 med RSA-kryptering</translation>
 <translation id="4336979451636460645">Nätverksloggar finns på <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2153,6 +2171,7 @@
 <translation id="438503109373656455">Brunte</translation>
 <translation id="4387004326333427325">Autentiseringscertifikatet godkändes inte av fjärrvärden</translation>
 <translation id="4389091756366370506">Användare <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{Inkognito}other{# öppna inkognitofönster}}</translation>
 <translation id="439266289085815679">Konfiguration av Bluetooth styrs av <ph name="USER_EMAIL" />.</translation>
 <translation id="4394049700291259645">Inaktivera</translation>
 <translation id="4400367121200150367">Webbplatser som aldrig sparar lösenord visas här</translation>
@@ -2301,6 +2320,7 @@
 <translation id="4648499713050786492">Du måste låsa upp din profil innan du kan lägga till en person.</translation>
 <translation id="4651484272688821107">Det gick inte att läsa in onlinekomponenten med resurser för demoläge.</translation>
 <translation id="465878909996028221">Endast protokollen http, https och file stöds för omdirigeringar till en annan webbläsare.</translation>
+<translation id="4659077111144409915">Primärt konto</translation>
 <translation id="4660476621274971848">Version <ph name="EXPECTED_VERSION" /> förväntades men versionen är <ph name="NEW_ID" /></translation>
 <translation id="4662788913887017617">Dela det här bokmärket med din iPhone</translation>
 <translation id="4663373278480897665">Kamera är tillåten</translation>
@@ -2346,6 +2366,7 @@
 <translation id="4724450788351008910">Tillhörigheten har ändrats</translation>
 <translation id="4725511304875193254">Welsh corgi</translation>
 <translation id="4726710629007580002">Varningar aktiverades när tillägget skulle installeras:</translation>
+<translation id="4727847987444062305">Hanterad gästsession</translation>
 <translation id="4728558894243024398">Plattform</translation>
 <translation id="4733082559415072992"><ph name="URL" /> vill använda enhetens plats</translation>
 <translation id="4733793249294335256">Plats</translation>
@@ -2455,6 +2476,7 @@
 <translation id="488785315393301722">Visa information</translation>
 <translation id="4890773143211625964">Visa avancerade utskriftsalternativ</translation>
 <translation id="4891089016822695758">Forum för betaversionen</translation>
+<translation id="4892229439761351791">Webbplatsen kan använda Bluetooth</translation>
 <translation id="4893336867552636863">All webbinformation raderas permanent från den här enheten.</translation>
 <translation id="4893522937062257019">På låsskärmen</translation>
 <translation id="4898011734382862273">Certifikatet <ph name="CERTIFICATE_NAME" /> är en certifikatutfärdare</translation>
@@ -2630,6 +2652,8 @@
 <translation id="5187295959347858724">Du är nu inloggad i <ph name="SHORT_PRODUCT_NAME" />. Bokmärken, historik och andra inställningar synkroniseras med ditt Google-konto.</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vill ladda ned flera filer</translation>
+<translation id="5192316339598592690">Byt snabbt mellan konton och logga in i appar och på webbplatser på samma gång.
+    Appar och webbplatser kan begära behörighet att använda vissa uppgifter i ditt Google-konto. <ph name="LINK_BEGIN" />Läs mer<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">Gör en powerwash på enheten och försök igen.</translation>
 <translation id="5204967432542742771">Ange lösenord</translation>
 <translation id="5206215183583316675">Vill du radera <ph name="CERTIFICATE_NAME" />?</translation>
@@ -3514,6 +3538,7 @@
 <translation id="6547354035488017500">Frigör åtminstone 512 MB utrymme för att enheten ska fortsätta att svara. Frigör utrymme genom att radera filer från lagringsutrymmet på enheten.</translation>
 <translation id="6550675742724504774">Alternativ</translation>
 <translation id="6551508934388063976">Kommandot är inte tillgängligt. Tryck på Ctrl+N om du vill öppna ett nytt fönster.</translation>
+<translation id="6551612971599078809">Webbplatsen använder USB</translation>
 <translation id="655384502888039633"><ph name="USER_COUNT" /> användare</translation>
 <translation id="655483977608336153">Försök igen</translation>
 <translation id="6555432686520421228">Ta bort alla användarkonton och återställ <ph name="IDS_SHORT_PRODUCT_NAME" />-enheten så blir den som ny.</translation>
@@ -3738,6 +3763,7 @@
 <translation id="692114467174262153">Det gick inte att öppna <ph name="ALTERNATIVE_BROWSER_NAME" />.</translation>
 <translation id="6921709132208495314">Sluta använda data på den här sidan</translation>
 <translation id="6922128026973287222">Spara data och bläddra snabbare med Google Databesparing. Klicka här om du vill veta mer.</translation>
+<translation id="6922745772873733498">Ange en pinkod för att skriva ut</translation>
 <translation id="6923132443355966645">Rulla/klicka</translation>
 <translation id="6923633482430812883">Ett fel uppstod när filresursen skulle delas. Kontrollera att filservern som du ansluter till har stöd för SMB v2 eller senare.</translation>
 <translation id="6930036377490597025">Extern säkerhetsnyckel eller inbyggd sensor</translation>
@@ -3792,6 +3818,7 @@
 <translation id="7003339318920871147">Webbdatabaser</translation>
 <translation id="7003723821785740825">Konfigurera ett snabbare sätt för att låsa upp enheten</translation>
 <translation id="7003844668372540529">Okänd produkt (<ph name="PRODUCT_ID" />) från <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">MIDI kan användas på webbplatsen</translation>
 <translation id="7004499039102548441">Senaste flikarna</translation>
 <translation id="7005848115657603926">Ogiltigt sidintervall, använd <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Nedre marginal</translation>
@@ -3804,9 +3831,11 @@
 <translation id="7017480957358237747">tillåt eller förbjud vissa webbplatser,</translation>
 <translation id="7018275672629230621">Läsa och ändra din webbhistorik</translation>
 <translation id="7019805045859631636">Snabb</translation>
+<translation id="702252130983202758">Dina appar</translation>
 <translation id="7022562585984256452">Startsidan har ställts in.</translation>
 <translation id="7025190659207909717">Hantering av mobil datatjänst</translation>
 <translation id="7029809446516969842">Lösenord</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> – Serieporten är ansluten</translation>
 <translation id="7031962166228839643">TPM förbereds, vänta (det kan ta några minuter)...</translation>
 <translation id="7037509989619051237">Text för förhandsgranskning</translation>
 <translation id="7039326228527141150">Komma åt USB-enheter från <ph name="VENDOR_NAME" /></translation>
@@ -3831,6 +3860,7 @@
 <translation id="706626672220389329">Det gick inte att montera den delade resursen. Den angivna resursen har redan monterats.</translation>
 <translation id="7066944511817949584">Det gick inte att ansluta till <ph name="DEVICE_NAME" />.</translation>
 <translation id="7067725467529581407">Visa aldrig detta igen.</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> kan kräva en nyare säkerhetsnyckel eller en annan typ av säkerhetsnyckel</translation>
 <translation id="7070484045139057854">Kan läsa och ändra webbplatsdata</translation>
 <translation id="7072010813301522126">Namn på genvägen</translation>
 <translation id="707392107419594760">Välj tangentbord:</translation>
@@ -3911,6 +3941,7 @@
 <translation id="7189234443051076392">Kontrollera att det finns tillräckligt mycket utrymme på enheten</translation>
 <translation id="7189965711416741966">Fingeravtrycket har lagts till.</translation>
 <translation id="7191159667348037">Okänd skrivare (USB)</translation>
+<translation id="7193051357671784796">Appen lades till av din organisation. Starta om appen för att slutföra installationen.</translation>
 <translation id="7193374945610105795">Inga lösenord har sparats för <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">Säkerhetskopiera till Google Drive. Återställ enkelt data eller byt enhet när som helst. Säkerhetskopian innehåller appdata. Säkerhetskopiorna krypteras med hjälp av Google-kontots lösenord och laddas upp på Google. <ph name="BEGIN_LINK1" />Läs mer<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">Få Google Sök och Google-teknik varje gång du surfar</translation>
@@ -4333,6 +4364,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />Obs!<ph name="END_BOLD" /> Systemet startas om under aktiveringen.</translation>
 <translation id="7829298379596169484">Får åtkomst till ljudindata</translation>
+<translation id="7830594666202422257">Anslut till Linux</translation>
 <translation id="7831491651892296503">Fel i nätverkskonfigurationen</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">Sluttid</translation>
@@ -4362,6 +4394,7 @@
 <translation id="7877451762676714207">Okänt serverfel. Försök igen eller kontakta serveradministratören.</translation>
 <translation id="7877680364634660272">Rundtur</translation>
 <translation id="7878562273885520351">Lösenordet kan vara utsatt för risk</translation>
+<translation id="7880823633812189969">Lokal data raderas när du startar om</translation>
 <translation id="7881483672146086348">Visa konto</translation>
 <translation id="7882358943899516840">Leverantörstyp</translation>
 <translation id="7885253890047913815">Senaste platserna</translation>
@@ -4457,6 +4490,7 @@
 <translation id="8008356846765065031">Internetanslutningen har avbrutits. Kontrollera internetanslutningen.</translation>
 <translation id="8009225694047762179">Hantera Lösenord</translation>
 <translation id="8012382203418782830">Sidan har översatts.</translation>
+<translation id="8013993649590906847">Om en bild inte har någon användbar beskrivning görs ett försök att beskriva den åt dig i Chrome. Bilderna skickas till Google så att beskrivningen kan genereras.</translation>
 <translation id="8014154204619229810">Uppdateringsprogrammet körs. Uppdatera sidan om en minut och kolla igen.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> kan inte återställas till den föregående installerade versionen. Försök använda Powerwash på enheten igen.</translation>
 <translation id="8014210335923519270">Gör <ph name="IDS_SHORT_PRODUCT_NAME" /> bättre och säkrare genom att skicka information om system och användning till Google</translation>
@@ -4700,6 +4734,7 @@
 <translation id="8426713856918551002">Aktiveras</translation>
 <translation id="8427292751741042100">inbäddad på någon värd</translation>
 <translation id="8428213095426709021">Inställningar</translation>
+<translation id="8428628598981198790">Säkerhetsnyckeln kan inte användas med den här webbplatsen</translation>
 <translation id="84297032718407999">Du loggas ut om <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">Visa tryck</translation>
 <translation id="8431909052837336408">Ändra SIM-kortets pinkod</translation>
@@ -4904,6 +4939,7 @@
 <translation id="8732212173949624846">Läsa och ändra webbhistoriken på alla enheter där du är inloggad</translation>
 <translation id="8732844209475700754">Fler inställningar som rör sekretess, säkerhet och datainsamling</translation>
 <translation id="8734073480934656039">Om du aktiverar den här inställningen kan kioskappar startas automatiskt när du startar datorn.</translation>
+<translation id="8734671092194994316">Besöket på <ph name="WEBSITE" /> registreras på din säkerhetsnyckel.</translation>
 <translation id="873545264931343897">När <ph name="PLUGIN_NAME" /> har uppdaterats läser du in sidan igen för att aktivera det.</translation>
 <translation id="8736288397686080465">Den här webbplatsen har uppdaterats i bakgrunden.</translation>
 <translation id="8737685506611670901">Öppna <ph name="PROTOCOL" />-länkar i stället för <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5002,6 +5038,7 @@
 <translation id="8877448029301136595">[överordnad katalog]</translation>
 <translation id="8879284080359814990">&amp;Visa som flik</translation>
 <translation id="8883847527783433352">Synkronisera med ett annat konto</translation>
+<translation id="8884570509232205463">Nu låses enheten klockan <ph name="UNLOCK_TIME" />.</translation>
 <translation id="8885197664446363138">Smart Lock är inte tillgängligt</translation>
 <translation id="8888253246822647887">Appen öppnas när uppgraderingen är klar. Uppgraderingen kan ta några minuter.</translation>
 <translation id="8888432776533519951">Färg:</translation>
@@ -5026,7 +5063,6 @@
 <translation id="891365694296252935">Skicka diagnostik- och användningsdata. Den här enheten skickar för närvarande diagnostikdata, enhetsdata och data om appanvändning till Google automatiskt. Denna data används till att förbättra systemets och apparnas stabilitet med mera och inte till att identifiera ditt barn. Viss samlad data används även till att förbättra appar från Google och partner, till exempel Android-utvecklare. Ägaren har gjort denna inställning obligatorisk. Om ytterligare webb- och appaktivitet har aktiverats för ditt barn kan denna data sparas i Google-kontot. <ph name="BEGIN_LINK1" />Läs mer<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Läser in förslag</translation>
 <translation id="8916476537757519021">Underram i inkognitoläge: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Ja</translation>
 <translation id="8919275547519617350">Logga in och aktivera synkronisering om du vill ha tillgång till alla lösenord oavsett vilken enhet du använder.</translation>
 <translation id="8921366488406707015">Säkerhetsnyckeln verifieras …</translation>
 <translation id="8922013791253848639">Tillåt alltid annonser på den här webbplatsen</translation>
@@ -5095,6 +5131,7 @@
 <translation id="9026852570893462412">Detta kan ta några minuter. Den virtuella maskinen laddas ned.</translation>
 <translation id="9027459031423301635">Öppna länk i ny &amp;flik</translation>
 <translation id="9030515284705930323">Organisationen har inte aktiverat Google Play Butik för ditt konto. Kontakta administratören om du vill veta mer.</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">K&amp;listra in</translation>
 <translation id="9037965129289936994">Visa original</translation>
 <translation id="9038649477754266430">Använd en förslagstjänst om du vill läsa in sidor snabbare</translation>
@@ -5124,7 +5161,6 @@
 <translation id="9065203028668620118">Redigera</translation>
 <translation id="9066773882585798925">Få text uppläst</translation>
 <translation id="9066782832737749352">Text till tal</translation>
-<translation id="907264006778172906">Ge Linux åtkomstbehörighet till USB-enheter. När en USB-enhet tas bort sparas ingen information om den i Linux.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB-mus har anslutits</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index 792ec1e..735e836 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -1996,7 +1996,6 @@
 <translation id="4109135793348361820">Hamisha dirisha hadi kwa <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Imemaliza kupakua: <ph name="FILE_NAME" />. Bonyeza Shift+F6 ili uende kwenye eneo la upau wa vipakuliwa.</translation>
 <translation id="4110895898888439383">Vinjari wavuti katika hali ya utofautishaji wa juu</translation>
-<translation id="4112221174576828331">Ikiwa picha haina ufafanuzi muhimu, Chrome itakupa ufafanuzi. Picha zinachanganuliwa na Google.</translation>
 <translation id="4115002065223188701">Uko mbali na mtandao huu</translation>
 <translation id="4115080753528843955">Baadhi ya huduma za maudhui hutumia vitambulisho vya kipekee kwa madhumuni ya kuidhinisha ufikiaji wa maudhui yaliyolindwa</translation>
 <translation id="4118579674665737931">Tafadhali washa tena kifaa kisha ujaribu.</translation>
@@ -4451,6 +4450,7 @@
 <translation id="8008356846765065031">Intaneti imekatizwa. Tafadhali kagua muunganisho wako wa intaneti.</translation>
 <translation id="8009225694047762179">Dhibiti Manenosiri</translation>
 <translation id="8012382203418782830">Ukurasa huu umetafsiriwa.</translation>
+<translation id="8013993649590906847">Ikiwa picha haina ufafanuzi muhimu, Chrome itajaribu kukuwekea. Ili kuweka ufafanuzi, tutatuma picha kwa Google.</translation>
 <translation id="8014154204619229810">Programu ya kusasisha inatekeleza kwa sasa. Onyesha upya baada ya dakika moja ili uangalie tena.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> haiwezi kurejesha toleo lililokuwa limesakinishwa. Tafadhali jaribu kutumia tena Powerwash kwenye kifaa chako.</translation>
 <translation id="8014210335923519270">Boresha <ph name="IDS_SHORT_PRODUCT_NAME" /> na usalama wake kwa kutuma maelezo na matumizi ya mfumo kwa Google</translation>
@@ -5021,7 +5021,6 @@
 <translation id="891365694296252935">Tuma data ya matumizi na uchunguzi. Kwa sasa, kifaa hiki kinatuma kiotomatiki data ya uchunguzi na matumizi ya programu na kifaa kwa Google. Hatutatumia hatua hii kumtambulisha mtoto wako na itatusaidia kuboresha uthabiti wa programu na mfumo na maboresho mengine. Baadhi ya maelezo yaliyojumlishwa pia yatasaidia programu za Google na washirika kama vile wasanidi programu za Android. Mipangilio hii inatekelezwa na mmiliki. Ikiwa umewasha mipangilio ya historia ya Shughuli za ziada kwenye Wavuti na Programu ya mtoto wako, data hii inaweza kuhifadhiwa kwenye Akaunti yake ya Google. <ph name="BEGIN_LINK1" />Pata maelezo zaidi<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Inapakia pendekezo</translation>
 <translation id="8916476537757519021">Fremu ndogo ya Hali Fiche: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Ndiyo, Ninakubali</translation>
 <translation id="8919275547519617350">Ingia katika akaunti na uwashe usawazishaji ili upate manenosiri yako yote kwenye vifaa vyako vyote.</translation>
 <translation id="8921366488406707015">Inathibitisha ufunguo wako wa usalama...</translation>
 <translation id="8922013791253848639">Ruhusu matangazo kwenye tovuti hii wakati wote</translation>
@@ -5119,7 +5118,6 @@
 <translation id="9065203028668620118">Badilisha</translation>
 <translation id="9066773882585798925">Maandishi yatasomwa kwa sauti</translation>
 <translation id="9066782832737749352">Kusoma maandishi kwa sauti</translation>
-<translation id="907264006778172906">Ipe Linux ruhusa ya kufikia vifaa vya USB. Linux haitakumbuka kifaa cha USB baada ya kukiondoa.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Kipanya cha USB kimeunganishwa</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index 969871e..6f3d86e 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -2005,7 +2005,6 @@
 <translation id="4109135793348361820"><ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) க்குச் சாளரத்தை நகர்த்து</translation>
 <translation id="4110490973560452005">பதிவிறக்கம் முடிந்தது: <ph name="FILE_NAME" />. பதிவிறக்கங்கள் பட்டிப் பகுதிக்குச் சுழற்ற, Shift+F6 விசைகளை அழுத்தவும்.</translation>
 <translation id="4110895898888439383">அதிக ஒளி மாறுபாட்டுப் பயன்முறையில் இணையத்தில் உலாவுதல்</translation>
-<translation id="4112221174576828331">ஒரு படத்திற்குப் பயனுள்ள விளக்கம் இல்லையென்றால், Chrome உங்களுக்காக அதை வழங்க முயலும். படங்களை Google ஸ்கேன் செய்யும்.</translation>
 <translation id="4115002065223188701">நெட்வொர்க் தொடர்பு எல்லைக்கு வெளியே உள்ளது</translation>
 <translation id="4115080753528843955">பாதுகாக்கப்பட்ட உள்ளடக்கத்திற்கான அணுகலை அங்கீகரிக்கும் நோக்கங்களுக்காக, சில உள்ளடக்கச் சேவைகள் தனித்துவ அடையாளங்காட்டிகளைப் பயன்படுத்துகின்றன</translation>
 <translation id="4118579674665737931">சாதனத்தை மீண்டும் தொடங்கி, அமைக்க முயலவும்.</translation>
@@ -4461,6 +4460,7 @@
 <translation id="8008356846765065031">இணையம் துண்டிக்கப்பட்டது. உங்கள் இணைய இணைப்பைச் சரிபார்க்கவும்.</translation>
 <translation id="8009225694047762179">கடவுச்சொற்களை நிர்வகி</translation>
 <translation id="8012382203418782830">இந்தப் பக்கம் மொழிபெயர்க்கப்பட்டுள்ளது.</translation>
+<translation id="8013993649590906847">ஒரு படத்திற்குப் பயனுள்ள விளக்கம் இல்லாதபட்சத்தில் Chrome உங்களுக்காக அதை வழங்க முயலும். விளக்கங்களை உருவாக்குவதற்காக படங்கள் Googleளுக்கு அனுப்பப்படும்.</translation>
 <translation id="8014154204619229810">தற்போது புதுப்பிப்பான் இயங்குகிறது. மீண்டும் சரிபார்க்க ஒரு நிமிடத்தில் புதுப்பிக்கவும்.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> ஆல் ஏற்கனவே நிறுவப்பட்ட பதிப்பிற்கு மாற்றியமைக்க முடியவில்லை. உங்கள் சாதனத்தை பவர்வாஷ் செய்ய, மீண்டும் முயலவும்.</translation>
 <translation id="8014210335923519270">சாதனத் தகவலையும் உபயோகத்தையும் Googleக்கு அனுப்புவதன் மூலம், <ph name="IDS_SHORT_PRODUCT_NAME" />ஐயும் அதன் பாதுகாப்பையும் மேம்படுத்தவும்</translation>
@@ -5030,7 +5030,6 @@
 <translation id="891365694296252935">உபயோகம் &amp; கண்டறிதல் தரவை அனுப்புக. கண்டறிதல் தரவு, சாதனம் மற்றும் ஆப்ஸ் உபயோகத் தரவு போன்றவற்றை இந்தச் சாதனம் தற்போது Googleளுக்குத் தானாக அனுப்புகிறது. இது உங்கள் பிள்ளையை அடையாளம் கண்டறியப் பயன்படுத்தப்படாது, இது சிஸ்டம் மற்றும் ஆப்ஸின் நிலைத்தன்மையை மேம்படுத்தவும் பிற மேம்பாடுகளைச் செய்யவும் உதவும். ஒருங்கிணைக்கப்பட்ட சில தரவுகள், Google ஆப்ஸ் மற்றும் Android டெவெலப்பர்கள் போன்ற கூட்டாளர்களுக்கும் உதவும். உரிமையாளர் இந்த அமைப்பைச் செயல்படுத்தியுள்ளார். உங்கள் பிள்ளையின் கணக்கில் கூடுதல் ’இணையம் &amp; ஆப்ஸ் செயல்பாடு’ அமைப்பு இயக்கப்பட்டிருந்தால், இந்தத் தரவு அவருடைய Google கணக்கில் சேமிக்கப்படலாம். <ph name="BEGIN_LINK1" />மேலும் அறிக<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">பரிந்துரைகளை ஏற்றுகிறது</translation>
 <translation id="8916476537757519021">மறைநிலை துணைச்சட்டகம்: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">ஏற்கிறேன்</translation>
 <translation id="8919275547519617350">உங்கள் எல்லாச் சாதனங்களிலும் கடவுச்சொற்களைப் பெற, உள்நுழைந்து, ஒத்திசைவை இயக்கவும்.</translation>
 <translation id="8921366488406707015">பாதுகாப்பு விசையைச் சரிபார்க்கிறது...</translation>
 <translation id="8922013791253848639">இந்தத் தளத்தில் எப்போதும் விளம்பரங்களை அனுமதி</translation>
@@ -5115,7 +5114,7 @@
 <translation id="9052208328806230490"><ph name="CLOUD_PRINT_NAME" /> உடன் <ph name="EMAIL" /> கணக்கைப் பயன்படுத்தி உங்கள் பிரிண்டர்களைப் பதிவு செய்துள்ளீர்கள்</translation>
 <translation id="9052404922357793350">தடுப்பதைத் தொடர்</translation>
 <translation id="9053091947372579468">உங்கள் சாதனத்திற்கு Chrome உரிமம் வழங்கப்பட்டுள்ளது, எனினும் உங்கள் பயனர்பெயர், நிர்வாகிக் கன்சோலுடன் இணைக்கப்படவில்லை. பதிவுசெய்வதைத் தொடர, நிர்வாகிக் கன்சோல் கணக்கு ஒன்றை உருவாக்கவும். குறிப்பு: புதிய நிர்வாகிக் கன்சோல் கணக்கை உருவாக்குவதற்கு உங்கள் சொந்த டொமைனைத் தேர்வுசெய்தால், பதிவுசெய்த பின்னர் டொமைன் சரிபார்ப்பையும் முடிக்க வேண்டும். https://g.co/ChromeEnterpriseAccount</translation>
-<translation id="9053563360605707198">இரண்டு பக்கங்களையும் அச்சிடு</translation>
+<translation id="9053563360605707198">இரண்டு பக்கங்களிலும் அச்சிடு</translation>
 <translation id="9053893665344928494">எனது தேர்வை நினைவில்கொள்</translation>
 <translation id="9055636786322918818">RC4 என்க்ரிப்ஷனைச் செயல்படுத்தும். RC4 சைஃபர்கள் பாதுகாப்பற்றவை என்பதால், இந்த விருப்பத்தைப் பயன்படுத்துவது, உங்கள் அபாயத்தை அதிகரிக்கும்.</translation>
 <translation id="9056810968620647706">பொருத்தங்கள் கண்டறியப்படவில்லை.</translation>
@@ -5128,7 +5127,6 @@
 <translation id="9065203028668620118">திருத்து</translation>
 <translation id="9066773882585798925">படிக்கப்படும் உரையைக் கேட்கலாம்</translation>
 <translation id="9066782832737749352">உரையிலிருந்து பேச்சு</translation>
-<translation id="907264006778172906">USB சாதனங்களை அணுகுவதற்கான அனுமதியை Linuxஸுக்கு வழங்கும். அகற்றப்பட்ட USB சாதனத்தை Linux நினைவில் வைத்திருக்காது.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">புளூடூத்</translation>
 <translation id="9074836595010225693">USB மவுஸ் இணைக்கப்பட்டது</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index 4a023b5..d6535ec 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -2004,7 +2004,6 @@
 <translation id="4109135793348361820">విండోను <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)కు తరలించు</translation>
 <translation id="4110490973560452005">డౌన్‌లోడ్ పూర్తయింది: <ph name="FILE_NAME" />. డౌన్‌లోడ్‌ల బార్ ప్రాంతంలోకి వెళ్లడం కోసం Shift+F6 నొక్కండి.</translation>
 <translation id="4110895898888439383">అధిక కాంట్రాస్ట్ మోడ్‌లో వెబ్‌ను బ్రౌజ్ చేయండి</translation>
-<translation id="4112221174576828331">చిత్రంలో ఉపయోగకరమైన వివరణ లేకుంటే, మీ కోసం వివరణను అందించడానికి Chrome ప్రయత్నిస్తుంది. చిత్రాలు Google ద్వారా స్కాన్ చేయబడతాయి.</translation>
 <translation id="4115002065223188701">నెట్‌వర్క్ అందుబాటులో లేదు</translation>
 <translation id="4115080753528843955">రక్షిత కంటెంట్‌కు యాక్సెస్‌ను ప్రామాణీకరించే ప్రయోజనాల కోసం కొన్ని కంటెంట్ సేవలు ప్రత్యేక ఐడెంటిఫైయర్‌లను ఉపయోగిస్తాయి</translation>
 <translation id="4118579674665737931">దయచేసి పరికరాన్ని రీబూట్ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
@@ -4453,6 +4452,7 @@
 <translation id="8008356846765065031">ఇంటర్నెట్ డిస్‌కనెక్ట్ చేయబడింది. దయచేసి మీ ఇంటర్నెట్ కనెక్షన్‌ను తనిఖీ చేయండి.</translation>
 <translation id="8009225694047762179">పాస్‌వర్డ్‌లను నిర్వహించండి</translation>
 <translation id="8012382203418782830">ఈ పేజీ అనువదించబడింది.</translation>
+<translation id="8013993649590906847">చిత్రంలో ఉపయోగకరమైన వివరణ లేకుంటే, మీ కోసం ఒక వివరణను అందించడానికి Chrome ప్రయత్నిస్తుంది. వివరణలను సృష్టించడానికి, చిత్రాలు Googleకు పంపబడతాయి.</translation>
 <translation id="8014154204619229810">అప్‌డేటర్ ప్రస్తుతం అమలులో ఉంది. మళ్లీ తనిఖీ చేయడానికి ఒక నిమిషం తర్వాత రిఫ్రెష్ చేయండి.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> మునుపు ఇన్‌స్టాల్ చేసిన వెర్షన్‌కు తిరిగి మారలేకపోయింది. దయచేసి మీ పరికరాన్ని పవర్‌వాష్ చేయడానికి మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="8014210335923519270">సిస్టమ్ సమాచారం మరియు వినియోగ వివరాలను Googleకి పంపడం ద్వారా <ph name="IDS_SHORT_PRODUCT_NAME" />ని మరియు దాని భద్రతను మరింత మెరుగుపరచండి</translation>
@@ -5023,7 +5023,6 @@
 <translation id="891365694296252935">వినియోగం &amp; విశ్లేషణల డేటాను పంపండి. ఈ పరికరం ప్రస్తుతం సమస్య విశ్లేషణ, అలాగే పరికర, యాప్ వినియోగ డేటాను ఆటోమేటిక్‌గా Googleకి పంపుతుంది. ఇది మీ చిన్నారి గురించి గుర్తించడానికి ఉపయోగించబడదు, ఇది కేవలం సిస్టమ్, యాప్ స్థిరత్వానికి, అలాగే ఇతర మెరుగుదలలకు సహాయపడుతుంది. కొంత సముదాయ డేటా కూడా Google యాప్‌లకు, అలాగే Android డెవలపర్‌ల లాంటి భాగస్వాములకు సహాయపడుతుంది. ఈ సెట్టింగ్‌ని యజమాని అమలు చేసారు. మీ చిన్నారి కోసం అదనపు వెబ్ &amp; యాప్ కార్యకలాపాన్ని ఆన్ చేసినట్లయితే, ఈ డేటా వారి Google ఖాతాలో సేవ్ కావచ్చు. <ph name="BEGIN_LINK1" />మరింత తెలుసుకోండి<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">సూచన లోడ్ అవుతోంది</translation>
 <translation id="8916476537757519021">అజ్ఞాత సబ్‌ఫ్రేమ్: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">సరే, నాకు సమ్మతమే</translation>
 <translation id="8919275547519617350">మీ అన్ని పరికరాలలో మీ అన్ని పాస్‌వర్డ్‌‌లను పొందడానికి, సైన్ ఇన్ చేసి, సింక్‌ను ఆన్ చేయండి.</translation>
 <translation id="8921366488406707015">మీ భద్రతా కీని ధృవీకరిస్తోంది...</translation>
 <translation id="8922013791253848639">ప్రకటనలను ఈ సైట్‌లో ఎప్పుడూ అనుమతించు</translation>
@@ -5121,7 +5120,6 @@
 <translation id="9065203028668620118">సవరించు</translation>
 <translation id="9066773882585798925">వినేందుకు వీలుగా వచనం గట్టిగా చదవబడుతుంది</translation>
 <translation id="9066782832737749352">వచనం నుండి ప్రసంగం</translation>
-<translation id="907264006778172906">USB పరికరాలను యాక్సెస్ చేయడానికి Linuxకి అనుమతిని అందించండి. USB పరికరాన్ని తీసివేసిన తర్వాత దానిని Linux గుర్తుంచుకోదు.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">బ్లూటూత్</translation>
 <translation id="9074836595010225693">USB మౌస్ కనెక్ట్ చేయబడింది</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index 82cec87f0..4061fcb 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -8,6 +8,7 @@
 <translation id="1007408791287232274">ไม่สามารถโหลดอุปกรณ์</translation>
 <translation id="1008186147501209563">ส่งออกบุ๊กมาร์ก</translation>
 <translation id="1008557486741366299">ไม่ใช่ตอนนี้</translation>
+<translation id="1010498023906173788">แท็บนี้เชื่อมต่ออยู่กับพอร์ตอนุกรม</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{หน้าไม่ตอบสนอง}other{หน้าไม่ตอบสนอง}}</translation>
 <translation id="1012794136286421601">ไฟล์เอกสาร แผ่นงาน สไลด์ และภาพวาดกำลังซิงค์ เปิดแอป Google ไดรฟ์เพื่อเข้าถึงไฟล์แบบออนไลน์หรือออฟไลน์</translation>
 <translation id="1012876632442809908">อุปกรณ์ USB-C (พอร์ตด้านหน้า)</translation>
@@ -30,6 +31,7 @@
 <translation id="1036982837258183574">กด |<ph name="ACCELERATOR" />| เพื่อออกจากโหมดเต็มหน้าจอ</translation>
 <translation id="1038168778161626396">เข้ารหัสเท่านั้น</translation>
 <translation id="1039337018183941703">ไฟล์ไม่ถูกต้องหรือเสียหาย</translation>
+<translation id="1041175011127912238">หน้านี้ไม่ตอบสนอง</translation>
 <translation id="1042174272890264476">คอมพิวเตอร์ของคุณมาพร้อมกับไลบรารี RLZ ของ <ph name="SHORT_PRODUCT_NAME" /> ในตัว โดย RLZ จะระบุแท็กที่ซ้ำกันได้และไม่สามารถระบุตัวบุคคลเพื่อวัดการค้นหาและการใช้งาน <ph name="SHORT_PRODUCT_NAME" /> ที่ทำงานโดยแคมเปญส่งเสริมการขายบางรายการ บางครั้งป้ายกำกับจะปรากฏในคำค้นหาของ Google Search ใน <ph name="PRODUCT_NAME" /></translation>
 <translation id="1046059554679513793">ขออภัย ชื่อนี้มีการใช้งานแล้ว!</translation>
 <translation id="1046635659603195359">ดูเหมือนคุณได้ตั้งค่า Voice Match กับ Google Assistant ในอุปกรณ์อื่นแล้ว สิ่งที่บันทึกไว้ก่อนหน้านี้จะนำมาใช้สร้างรูปแบบเสียงในอุปกรณ์นี้ได้ ซึ่งจะใช้เวลาไม่ถึงนาที</translation>
@@ -148,6 +150,7 @@
 <translation id="1211364473545090084">ใช้เว็บโดยไม่บันทึกประวัติการท่องเว็บด้วยหน้าต่างที่ไม่ระบุตัวตน</translation>
 <translation id="1213037489357051291">การตั้งค่าลายนิ้วมือ <ph name="NUM_FINGERPRINTS" /> รายการ</translation>
 <translation id="1215411991991485844">มีการเพิ่มแอปพลิเคชันที่ทำงานอยู่เบื้องหลังตัวใหม่</translation>
+<translation id="1217483152325416304">อีกไม่นานระบบจะลบข้อมูลในเครื่อง</translation>
 <translation id="1217668622537098248">เปลี่ยนกลับเป็นคลิกซ้ายหลังจากดำเนินการ</translation>
 <translation id="121783623783282548">รหัสผ่านของคุณไม่ตรงกัน</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />บริการตำแหน่งของ Google ใช้แหล่งที่มาต่างๆ เช่น Wi‑Fi, เครือข่ายมือถือ และเซ็นเซอร์เพื่อช่วยคาดคะเนตำแหน่งของอุปกรณ์นี้<ph name="END_PARAGRAPH1" />
@@ -308,6 +311,7 @@
 <translation id="1478340334823509079">รายละเอียด: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ไม่ได้เปิดใช้การติดตั้ง</translation>
 <translation id="1483493594462132177">ส่ง</translation>
+<translation id="1484979925941077974">เว็บไซต์กำลังใช้บลูทูธ</translation>
 <translation id="1485015260175968628">ส่วนขยายตอนนี้สามารถ:</translation>
 <translation id="1485141095922496924">เวอร์ชัน <ph name="PRODUCT_VERSION" /> (<ph name="PRODUCT_CHANNEL" />) <ph name="PRODUCT_MODIFIER" /> <ph name="PRODUCT_VERSION_BITS" /></translation>
 <translation id="1486096554574027028">ค้นหารหัสผ่าน</translation>
@@ -458,6 +462,7 @@
 <translation id="1708338024780164500">(ไม่ใช้งาน)</translation>
 <translation id="1708713382908678956"><ph name="NAME_PH" /> (ID: <ph name="ID_PH" />)</translation>
 <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (ดั้งเดิม)</translation>
+<translation id="1711401317189798723">อยู่ระหว่างการสำรองข้อมูลสำหรับ <ph name="CONTAINER_ID" /></translation>
 <translation id="1712349894969001173">รับรหัสผ่านนี้ใน iPhone</translation>
 <translation id="1712552549805331520"><ph name="URL" /> ต้องการจัดเก็บข้อมูลถาวรในเครื่องคอมพิวเตอร์ของคุณ</translation>
 <translation id="1718835860248848330">ชั่วโมงที่แล้ว</translation>
@@ -607,6 +612,7 @@
 <translation id="1932026958134051332">ตัวเลือกการเข้าถึงด้วยสวิตช์</translation>
 <translation id="1932098463447129402">หลังจาก</translation>
 <translation id="1933809209549026293">โปรดเชื่อมต่อเมาส์หรือแป้นพิมพ์ หากคุณใช้อุปกรณ์บลูทูธ โปรดตรวจสอบว่าอุปกรณ์พร้อมที่จะจับคู่</translation>
+<translation id="1937774647013465102">นำเข้าสถาปัตยกรรมคอนเทนเนอร์ประเภท <ph name="ARCHITECTURE_CONTAINER" /> ด้วยอุปกรณ์นี้ ซึ่งเป็นประเภท <ph name="ARCHITECTURE_DEVICE" /> ไม่ได้ คุณลองคืนค่าคอนเทนเนอร์นี้ไปยังอุปกรณ์ประเภทอื่นได้ หรือคุณอาจเข้าถึงไฟล์ภายในอิมเมจของคอนเทนเนอร์นี้โดยเปิดในแอปไฟล์</translation>
 <translation id="1938351510777341717">แป้น Command ภายนอก</translation>
 <translation id="1940546824932169984">อุปกรณ์ที่เชื่อมต่อ</translation>
 <translation id="1944921356641260203">พบการอัปเดต</translation>
@@ -891,9 +897,11 @@
 <translation id="2392369802118427583">เปิดใช้งาน</translation>
 <translation id="2394566832561516196">การตั้งค่าจะถูกล้างในการโหลดซ้ำครั้งถัดไป</translation>
 <translation id="2395616325548404795">ลงทะเบียน <ph name="DEVICE_TYPE" /> ของคุณสำหรับการจัดการองค์กรเรียบร้อยแล้ว แต่ไม่สามารถส่งเนื้อหาและข้อมูลตำแหน่งของอุปกรณ์ โปรดป้อนข้อมูลนี้ด้วยตนเองจากคอนโซลผู้ดูแลระบบสำหรับอุปกรณ์นี้</translation>
+<translation id="2396783860772170191">ป้อน PIN 4 หลัก (0000-9999)</translation>
 <translation id="2408955596600435184">ป้อน PIN ของคุณ</translation>
 <translation id="241082044617551207">ปลั๊กอินที่ไม่รู้จัก</translation>
 <translation id="2413749388954403953">เปลี่ยนอินเทอร์เฟซผู้ใช้ของบุ๊กมาร์ก</translation>
+<translation id="241639282915300771">อยู่ระหว่างการคืนค่าสำหรับ <ph name="CONTAINER_ID" /></translation>
 <translation id="241727068219398187">มีการเข้ารหัสลับข้อมูลด้วยรหัสผ่าน Google ของคุณตั้งแต่
           <ph name="TIME" /> ข้อมูลนี้ไม่รวมถึงวิธีการชำระเงินและที่อยู่จาก Google Pay</translation>
 <translation id="2419706071571366386">โปรดออกจากระบบเมื่อไม่ได้ใช้คอมพิวเตอร์เพื่อความปลอดภัย</translation>
@@ -986,6 +994,7 @@
 <translation id="2538361623464451692">ปิดใช้การซิงค์แล้ว</translation>
 <translation id="2540449034743108469">กด "เริ่มต้น" เพื่อฟังกิจกรรมส่วนขยาย</translation>
 <translation id="2541002089857695151">เพิ่มประสิทธิภาพการแคสต์เต็มหน้าจอไหม</translation>
+<translation id="2541706104884128042">ตั้งเวลานอนใหม่แล้ว</translation>
 <translation id="2544853746127077729">ใบรับรองการตรวจสอบสิทธิ์ได้รับการปฏิเสธจากเครือข่าย</translation>
 <translation id="2549985041256363841">เริ่มบันทึก</translation>
 <translation id="2550212893339833758">หน่วยความจำสว็อป</translation>
@@ -1077,6 +1086,7 @@
 <translation id="2677748264148917807">ออก</translation>
 <translation id="2678063897982469759">เปิดการใช้งานอีกครั้ง</translation>
 <translation id="268053382412112343">ประวั&amp;ติ</translation>
+<translation id="2682498795777673382">อัปเดตจากผู้ปกครองของคุณ</translation>
 <translation id="2683638487103917598">จัดเรียงโฟลเดอร์แล้ว</translation>
 <translation id="2684004000387153598">หากต้องการดำเนินการต่อ ให้คลิก "ตกลง" จากนั้นคลิก "เพิ่มบุคคล" เพื่อสร้างโปรไฟล์ใหม่สำหรับที่อยู่อีเมล</translation>
 <translation id="2688196195245426394">เกิดข้อผิดพลาดขณะลงทะเบียนอุปกรณ์กับเซิร์ฟเวอร์: <ph name="CLIENT_ERROR" /></translation>
@@ -1110,6 +1120,7 @@
 <translation id="2731392572903530958">เ&amp;ปิดหน้าต่างที่ถูกปิดขึ้นใหม่</translation>
 <translation id="2731700343119398978">โปรดรอสักครู่...</translation>
 <translation id="2731710757838467317">กำลังสร้างผู้ใช้ภายใต้การดูแล อาจใช้เวลาสักครู่</translation>
+<translation id="2731971182069536520">ครั้งถัดไปที่คุณรีสตาร์ทอุปกรณ์ ผู้ดูแลระบบจะดำเนินการอัปเดตแบบครั้งเดียวซึ่งจะลบข้อมูลในเครื่อง</translation>
 <translation id="2734760316755174687">ระบบจะรีเซ็ตเว็บไซต์ภายใต้ <ph name="SITE_GROUP_NAME" /> ด้วย</translation>
 <translation id="2735438478659026460">คลิกอัตโนมัติเมื่อเคอร์เซอร์เมาส์หยุด</translation>
 <translation id="2735712963799620190">กำหนดการ</translation>
@@ -1313,6 +1324,7 @@
 <translation id="304747341537320566">เครื่องมืออ่านออกเสียง</translation>
 <translation id="3047644958362961983">ข้อมูลนี้ช่วยให้เราเข้าใจปัญหาที่คุณพบเกี่ยวกับ Assistant ได้ดีขึ้น ระบบจะเก็บข้อมูลไว้สูงสุด 90 วันและจำกัดให้เฉพาะทีมวิศวกรและทีมดูแลด้านความคิดเห็นที่เกี่ยวข้องเข้าถึงเท่านั้น</translation>
 <translation id="3053013834507634016">การใช้คีย์ใบรับรอง </translation>
+<translation id="3053273573829329829">เปิดใช้ PIN ของผู้ใช้</translation>
 <translation id="3058498974290601450">คุณเปิดการซิงค์ได้ทุกเมื่อในการตั้งค่า</translation>
 <translation id="3060379269883947824">เปิดใช้การเลือกเพื่อให้อ่าน</translation>
 <translation id="3061707000357573562">แพตช์บริการ</translation>
@@ -1332,6 +1344,7 @@
 <translation id="3084771660770137092">ไม่ว่า Chrome จะมีหน่วยความจำไม่เพียงพอหรือกระบวนการของหน้าเว็บถูกยกเลิกด้วยเหตุใดก็ตาม หากต้องการดำเนินการต่อ ให้โหลดซ้ำหรือไปที่หน้าเว็บอื่น</translation>
 <translation id="3085412380278336437">เว็บไซต์ใช้กล้องของคุณได้</translation>
 <translation id="3085752524577180175">โฮสต์ SOCKS</translation>
+<translation id="3088052000289932193">เว็บไซต์กำลังใช้ MIDI</translation>
 <translation id="3088325635286126843">&amp;เปลี่ยนชื่อ...</translation>
 <translation id="3089137131053189723">ล้างการค้นหาแล้ว</translation>
 <translation id="3090193911106258841">กำลังเข้าถึงอินพุตเสียงและวิดีโอ</translation>
@@ -1471,6 +1484,7 @@
 <translation id="3317459757438853210">สองด้าน</translation>
 <translation id="3317678681329786349">บล็อกกล้องถ่ายรูปและไมโครโฟน</translation>
 <translation id="3319048459796106952">หน้าต่างใหม่และไม่ระบุตัวตน</translation>
+<translation id="3323521181261657960">โบนัส! คุณได้เวลาอยู่หน้าจอเพิ่มขึ้น</translation>
 <translation id="3325910708063135066">กล้องและไมโครโฟนปิดอยู่ในค่ากำหนดของระบบ Mac</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">ข้อมูลแอป</translation>
@@ -1766,6 +1780,7 @@
 <translation id="3765246971671567135">อ่านนโยบายโหมดสาธิตออฟไลน์ไม่ได้</translation>
 <translation id="3766223500670287046">หน้าจอระยะไกล</translation>
 <translation id="3768037234834996183">กำลังซิงค์ค่ากำหนดของคุณ...</translation>
+<translation id="377050016711188788">ไอศกรีม</translation>
 <translation id="3771294271822695279">ไฟล์วิดีโอ</translation>
 <translation id="3775432569830822555">ใบรับรองเซิร์ฟเวอร์ SSL</translation>
 <translation id="3775705724665058594">ส่งไปยังอุปกรณ์</translation>
@@ -1844,6 +1859,7 @@
 <translation id="3869917919960562512">ดัชนีไม่ถูกต้อง</translation>
 <translation id="3870931306085184145">ไม่มีรหัสผ่านที่บันทึกไว้สำหรับ <ph name="DOMAIN" /></translation>
 <translation id="3871092408932389764">ต่ำสุด</translation>
+<translation id="3871350334636688135">เมื่อผ่านไป 24 ชั่วโมง ผู้ดูแลระบบจะดำเนินการอัปเดตแบบครั้งเดียวซึ่งจะลบข้อมูลในเครื่องเมื่อคุณรีสตาร์ทอุปกรณ์ โปรดบันทึกข้อมูลในเครื่องที่คุณจำเป็นต้องใช้ลงในพื้นที่เก็บข้อมูลระบบคลาวด์ภายใน 24 ชั่วโมง</translation>
 <translation id="3872220884670338524">การดำเนินการอื่นๆ บัญชีที่บันทึกไว้ของ <ph name="USERNAME" /> ใน <ph name="DOMAIN" /></translation>
 <translation id="3872991219937722530">เพิ่มพื้นที่ว่างในดิสก์ มิเช่นนั้นอุปกรณ์จะไม่ตอบสนองต่อการทำงาน</translation>
 <translation id="3873315167136380065">หากต้องการเปิดการตั้งค่า ให้<ph name="BEGIN_LINK" />รีเซ็ตการซิงค์<ph name="END_LINK" />เพื่อนำรหัสผ่านการซิงค์ออก</translation>
@@ -1923,6 +1939,7 @@
 <translation id="3983400541576569538">ข้อมูลจากแอปบางแอปอาจสูญหายไป</translation>
 <translation id="3983586614702900908">อุปกรณ์จากผู้ขายที่ไม่รู้จัก</translation>
 <translation id="3984159763196946143">เริ่มโหมดสาธิตไม่ได้</translation>
+<translation id="3984431586879874039">อนุญาตให้เว็บไซต์นี้ดูคีย์ความปลอดภัยของคุณไหม</translation>
 <translation id="3987348946546879621">ประหยัดเน็ต</translation>
 <translation id="3987938432087324095">ขออภัย ฉันไม่ค่อยเข้าใจ</translation>
 <translation id="3988996860813292272">เลือกเขตเวลา</translation>
@@ -1999,13 +2016,13 @@
 <translation id="4099060993766194518">คืนค่าเป็นเครื่องมือค้นหาเริ่มต้นไหม</translation>
 <translation id="4099874310852108874">เกิดข้อผิดพลาดเกี่ยวกับเครือข่าย</translation>
 <translation id="4100733287846229632">พื้นที่ดิสก์เกือบเต็มแล้ว</translation>
+<translation id="4100853287411968461">เวลาอยู่หน้าจอสูงสุดใหม่</translation>
 <translation id="4103091233824664032">ป้อนรหัสผ่านเพื่อกำหนดค่าการล็อกหน้าจอและการลงชื่อเข้าใช้</translation>
 <translation id="4104163789986725820">ส่ง&amp;ออก</translation>
 <translation id="4107048419833779140">ระบุและยกเลิกการต่อเชื่อมอุปกรณ์จัดเก็บข้อมูล</translation>
 <translation id="4109135793348361820">ย้ายหน้าต่างไปยัง <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">ดาวน์โหลดเสร็จสมบูรณ์: <ph name="FILE_NAME" /> กด Shift+F6 เพื่อวนกลับไปยังบริเวณแถบดาวน์โหลด</translation>
 <translation id="4110895898888439383">ท่องเว็บในโหมดคอนทราสต์สูง</translation>
-<translation id="4112221174576828331">หากรูปภาพไม่มีคำอธิบายที่เป็นประโยชน์ Chrome จะใส่คำอธิบายให้คุณ รูปภาพจะได้รับการสแกนโดย Google</translation>
 <translation id="4115002065223188701">เครือข่ายอยู่นอกช่วงสัญญาณ</translation>
 <translation id="4115080753528843955">บริการเนื้อหาบางอย่างใช้ตัวระบุที่ไม่ซ้ำกันเพื่อการให้สิทธิ์เข้าถึงเนื้อหาที่มีการป้องกัน</translation>
 <translation id="4118579674665737931">โปรดเริ่มต้นอุปกรณ์ใหม่และลองอีกครั้ง</translation>
@@ -2119,6 +2136,7 @@
 <translation id="4324577459193912240">ไฟล์ไม่สมบูรณ์</translation>
 <translation id="4325237902968425115">กำลังถอนการติดตั้ง <ph name="LINUX_APP_NAME" />...</translation>
 <translation id="4328203388435897516">เมื่อตั้งค่า Chromebook แล้ว ก็กดปุ่ม Assistant หรือพูดว่า "Ok Google" เพื่อรับความช่วยเหลือได้ทุกเมื่อ ไปที่การตั้งค่า Assistant เพื่อทำการเปลี่ยนแปลง</translation>
+<translation id="4330191372652740264">น้ำเย็น</translation>
 <translation id="4330387663455830245">ไม่ต้องแปลภาษา<ph name="LANGUAGE" /></translation>
 <translation id="4333854382783149454">PKCS #1 SHA-1 พร้อมการเข้ารหัส RSA</translation>
 <translation id="4336979451636460645">สำหรับบันทึกของเครือข่าย โปรดดูที่ <ph name="DEVICE_LOG_LINK" /></translation>
@@ -2154,6 +2172,7 @@
 <translation id="438503109373656455">ซาราโทกะ</translation>
 <translation id="4387004326333427325">ใบรับรองการตรวจสอบสิทธิ์ได้รับการปฏิเสธจากระยะไกล</translation>
 <translation id="4389091756366370506">ผู้ใช้ <ph name="VALUE" /></translation>
+<translation id="4390000551125140321">{0,plural, =1{ไม่ระบุตัวตน}other{หน้าต่างที่ไม่ระบุตัวตนเปิดอยู่ # หน้า}}</translation>
 <translation id="439266289085815679">การกำหนดค่าบลูทูธควบคุมโดย <ph name="USER_EMAIL" /></translation>
 <translation id="4394049700291259645">ปิดการใช้งาน</translation>
 <translation id="4400367121200150367">เว็บไซต์ที่ไม่เคยบันทึกรหัสผ่านจะแสดงที่นี่</translation>
@@ -2302,6 +2321,7 @@
 <translation id="4648499713050786492">โปรดปลดล็อกโปรไฟล์ของคุณก่อนเพิ่มบุคคล</translation>
 <translation id="4651484272688821107">โหลดองค์ประกอบออนไลน์ที่มีทรัพยากรโหมดสาธิตไม่ได้</translation>
 <translation id="465878909996028221">การเปลี่ยนเส้นทางเบราว์เซอร์รองรับเฉพาะ http, https และโปรโตคอลไฟล์เท่านั้น</translation>
+<translation id="4659077111144409915">บัญชีหลัก</translation>
 <translation id="4660476621274971848">เวอร์ชันที่คาดการณ์ "<ph name="EXPECTED_VERSION" />" แต่เวอร์ชันที่แจ้งคือ "<ph name="NEW_ID" />"</translation>
 <translation id="4662788913887017617">แชร์บุ๊กมาร์กนี้กับ iPhone ของคุณ</translation>
 <translation id="4663373278480897665">อนุญาตให้ใช้กล้องถ่ายรูป</translation>
@@ -2347,6 +2367,7 @@
 <translation id="4724450788351008910">ข้อมูลประจำตัวถูกเปลี่ยนแปลง</translation>
 <translation id="4725511304875193254">คอร์กี</translation>
 <translation id="4726710629007580002">มีคำเตือนเมื่อพยายามติดตั้งส่วนขยายนี้</translation>
+<translation id="4727847987444062305">เซสชันผู้เยี่ยมชมที่มีการจัดการ</translation>
 <translation id="4728558894243024398">แพลตฟอร์ม</translation>
 <translation id="4733082559415072992"><ph name="URL" /> ต้องการใช้ตำแหน่งอุปกรณ์ของคุณ</translation>
 <translation id="4733793249294335256">ตำแหน่ง</translation>
@@ -2456,6 +2477,7 @@
 <translation id="488785315393301722">แสดงรายละเอียด</translation>
 <translation id="4890773143211625964">แสดงตัวเลือกเครื่องพิมพ์ขั้นสูง</translation>
 <translation id="4891089016822695758">ฟอรัมเบต้า</translation>
+<translation id="4892229439761351791">เว็บไซต์ใช้บลูทูธได้</translation>
 <translation id="4893336867552636863">การดำเนินการนี้จะลบข้อมูลการท่องเว็บของคุณจากอุปกรณ์นี้อย่างถาวร</translation>
 <translation id="4893522937062257019">ในหน้าจอล็อก</translation>
 <translation id="4898011734382862273">ใบรับรอง "<ph name="CERTIFICATE_NAME" />" แสดงถึงผู้ออกใบรับรอง</translation>
@@ -2631,6 +2653,8 @@
 <translation id="5187295959347858724">คุณได้ลงชื่อเข้าใช้ <ph name="SHORT_PRODUCT_NAME" /> แล้วในตอนนี้ บุ๊กมาร์ก ประวัติการเข้าชม และการตั้งค่าอื่นๆ ของคุณจะได้รับการซิงค์กับบัญชี Google</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ต้องการดาวน์โหลดหลายไฟล์</translation>
+<translation id="5192316339598592690">เปลี่ยนบัญชีอย่างรวดเร็วและลงชื่อเข้าใช้แอปและเว็บไซต์ทั้งหมดได้พร้อมกัน
+    แอปและเว็บไซต์ต่างๆ จะขอสิทธิ์ใช้ข้อมูลบางอย่างในบัญชี Google ของคุณได้ <ph name="LINK_BEGIN" />ดูข้อมูลเพิ่มเติม<ph name="LINK_END" /></translation>
 <translation id="5204673965307125349">โปรดทำ Powerwash อุปกรณ์และลองอีกครั้ง</translation>
 <translation id="5204967432542742771">ป้อนรหัสผ่าน</translation>
 <translation id="5206215183583316675">ลบ " <ph name="CERTIFICATE_NAME" /> " ไหม</translation>
@@ -3515,6 +3539,7 @@
 <translation id="6547354035488017500">เพิ่มพื้นที่ว่างบนอุปกรณ์อย่างน้อย 512 MB มิฉะนั้นอุปกรณ์ของคุณอาจไม่ตอบสนอง หากต้องการเพิ่มพื้นที่ว่าง ให้ลบไฟล์ออกจากพื้นที่เก็บข้อมูลของอุปกรณ์</translation>
 <translation id="6550675742724504774">ตัวเลือก</translation>
 <translation id="6551508934388063976">คำสั่งไม่สามารถใช้งานได้ กด Control-N เพื่อเปิดหน้าต่างใหม่</translation>
+<translation id="6551612971599078809">เว็บไซต์กำลังใช้ USB</translation>
 <translation id="655384502888039633">ผู้ใช้ <ph name="USER_COUNT" /> คน</translation>
 <translation id="655483977608336153">ลองอีกครั้ง</translation>
 <translation id="6555432686520421228">ลบบัญชีผู้ใช้ทั้งหมดและรีเซ็ตอุปกรณ์ <ph name="IDS_SHORT_PRODUCT_NAME" /> ของคุณให้เหมือนใหม่</translation>
@@ -3739,6 +3764,7 @@
 <translation id="692114467174262153">เปิด <ph name="ALTERNATIVE_BROWSER_NAME" /> ไม่ได้</translation>
 <translation id="6921709132208495314">หยุดใช้อินเทอร์เน็ตในหน้านี้</translation>
 <translation id="6922128026973287222">บันทึกข้อมูลและท่องเว็บเร็วขึ้นโดยใช้ Google โปรแกรมประหยัดอินเทอร์เน็ต คลิกเพื่อดูข้อมูลเพิ่มเติม</translation>
+<translation id="6922745772873733498">ป้อน PIN เพื่อพิมพ์</translation>
 <translation id="6923132443355966645">เลื่อน/คลิก</translation>
 <translation id="6923633482430812883">เกิดข้อผิดพลาดในการต่อเชื่อมพื้นที่แชร์ โปรดตรวจสอบว่าเซิร์ฟเวอร์ไฟล์ที่คุณกำลังเชื่อมต่ออยู่รองรับ SMBv2 หรือใหม่กว่า</translation>
 <translation id="6930036377490597025">คีย์ความปลอดภัยภายนอกหรือเซ็นเซอร์ในตัว</translation>
@@ -3793,6 +3819,7 @@
 <translation id="7003339318920871147">ฐานข้อมูลเว็บ</translation>
 <translation id="7003723821785740825">ตั้งค่าวิธีปลดล็อกอุปกรณ์ที่เร็วขึ้น</translation>
 <translation id="7003844668372540529">ผลิตภัณฑ์ที่ไม่รู้จัก <ph name="PRODUCT_ID" /> จาก <ph name="VENDOR_NAME" /></translation>
+<translation id="7004402701596653846">เว็บไซต์ใช้ MIDI ได้</translation>
 <translation id="7004499039102548441">แท็บล่าสุด</translation>
 <translation id="7005848115657603926">ช่วงของหน้าไม่ถูกต้อง ให้ใช้ <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">ขอบล่าง</translation>
@@ -3805,9 +3832,11 @@
 <translation id="7017480957358237747">อนุญาตหรือห้ามบางเว็บไซต์</translation>
 <translation id="7018275672629230621">อ่านและเปลี่ยนแปลงประวัติการเข้าชม</translation>
 <translation id="7019805045859631636">เร็ว</translation>
+<translation id="702252130983202758">แอปของคุณ</translation>
 <translation id="7022562585984256452">ตั้งค่าหน้าแรกของคุณแล้ว</translation>
 <translation id="7025190659207909717">การจัดการบริการดาต้าบนมือถือ</translation>
 <translation id="7029809446516969842">รหัสผ่าน</translation>
+<translation id="7031608529463141342"><ph name="WINDOW_TITLE" /> - เชื่อมต่อพอร์ตอนุกรมอยู่</translation>
 <translation id="7031962166228839643">TPM กำลังได้รับการจัดเตรียม โปรดรอสักครู่ (การดำเนินการนี้อาจใช้เวลาสองถึงสามนาที)...</translation>
 <translation id="7037509989619051237">ข้อความที่จะแสดงตัวอย่าง</translation>
 <translation id="7039326228527141150">เข้าถึงอุปกรณ์ USB จาก <ph name="VENDOR_NAME" /></translation>
@@ -3832,6 +3861,7 @@
 <translation id="706626672220389329">เกิดข้อผิดพลาดขณะต่อเชื่อมพื้นที่แชร์ ต่อเชื่อมพื้นที่แชร์ที่ระบุแล้ว</translation>
 <translation id="7066944511817949584">ไม่สามารถเชื่อมต่อกับ "<ph name="DEVICE_NAME" />"</translation>
 <translation id="7067725467529581407">ไม่ต้องแสดงการแจ้งเตือนนี้อีก</translation>
+<translation id="7069811530847688087"><ph name="WEBSITE" /> อาจต้องใช้คีย์ความปลอดภัยใหม่หรือประเภทอื่น</translation>
 <translation id="7070484045139057854">ส่วนขยายนี้อ่านและเปลี่ยนข้อมูลเว็บไซต์ได้</translation>
 <translation id="7072010813301522126">ชื่อทางลัด</translation>
 <translation id="707392107419594760">เลือกแป้นพิมพ์:</translation>
@@ -3912,6 +3942,7 @@
 <translation id="7189234443051076392">ตรวจสอบว่าอุปกรณ์มีพื้นที่ว่างเพียงพอ</translation>
 <translation id="7189965711416741966">เพิ่มลายนิ้วมือแล้ว</translation>
 <translation id="7191159667348037">เครื่องพิมพ์ที่ไม่รู้จัก (USB)</translation>
+<translation id="7193051357671784796">องค์กรของคุณเป็นผู้เพิ่มแอปนี้ รีสตาร์ทแอปเพื่อติดตั้งให้เสร็จ</translation>
 <translation id="7193374945610105795">ไม่มีรหัสผ่านบันทึกไว้สำหรับ <ph name="ORIGIN" /></translation>
 <translation id="7196913789568937443">สำรองข้อมูลไปยัง Google ไดรฟ์ กู้ข้อมูลคืนหรือเปลี่ยนอุปกรณ์ได้ง่ายๆ ทุกเมื่อ ข้อมูลสำรองจะรวมถึงข้อมูลแอป ระบบจะอัปโหลดข้อมูลสำรองไปยัง Google และเข้ารหัสโดยใช้รหัสผ่านบัญชี Google ของคุณ <ph name="BEGIN_LINK1" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK1" /></translation>
 <translation id="7197190419934240522">ใช้ Google Search และฟีเจอร์เจ๋งๆ จาก Google ทุกครั้งที่ท่องเว็บ</translation>
@@ -4334,6 +4365,7 @@
     <ph name="BR" />
     <ph name="BEGIN_BOLD" />หมายเหตุ:<ph name="END_BOLD" />  ระบบจะเริ่มต้นใหม่ระหว่างการดำเนินการ</translation>
 <translation id="7829298379596169484">กำลังเข้าถึงอินพุตเสียง</translation>
+<translation id="7830594666202422257">เชื่อมต่อกับ Linux</translation>
 <translation id="7831491651892296503">เกิดข้อผิดพลาดในการกำหนดค่าเครือข่าย</translation>
 <translation id="7831754656372780761"><ph name="TAB_TITLE" /> <ph name="EMOJI_MUTING" /></translation>
 <translation id="7832084384634357321">เวลาสิ้นสุด</translation>
@@ -4363,6 +4395,7 @@
 <translation id="7877451762676714207">ข้อผิดพลาดของเซิร์ฟเวอร์ที่ไม่รู้จัก โปรดลองอีกครั้งหรือติดต่อผู้ดูแลระบบเซิร์ฟเวอร์</translation>
 <translation id="7877680364634660272">ทัวร์ชม</translation>
 <translation id="7878562273885520351">รหัสผ่านของคุณอาจถูกขโมยได้</translation>
+<translation id="7880823633812189969">เมื่อคุณรีสตาร์ท ระบบจะลบข้อมูลในเครื่อง</translation>
 <translation id="7881483672146086348">ดูบัญชี</translation>
 <translation id="7882358943899516840">ประเภทผู้ให้บริการ</translation>
 <translation id="7885253890047913815">ปลายทางล่าสุด</translation>
@@ -4458,6 +4491,7 @@
 <translation id="8008356846765065031">อินเทอร์เน็ตถูกตัด โปรดตรวจสอบการเชื่อมต่ออินเทอร์เน็ต</translation>
 <translation id="8009225694047762179">จัดการรหัสผ่าน</translation>
 <translation id="8012382203418782830">หน้านี้ได้รับการแปลแล้ว</translation>
+<translation id="8013993649590906847">หากรูปภาพไม่มีคำอธิบายที่เป็นประโยชน์ Chrome จะพยายามใส่คำอธิบายให้คุณ รูปภาพจะส่งมายัง Google เพื่อสร้างคำอธิบาย</translation>
 <translation id="8014154204619229810">โปรแกรมอัปเดตกำลังทำงาน โปรดรีเฟรชในอีก 1 นาทีเพื่อตรวจสอบอีกครั้ง</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> ไม่สามารถเปลี่ยนกลับไปเป็นเวอร์ชันที่ติดตั้งไว้ก่อนหน้านี้ได้ โปรดลองอีกครั้งเพื่อ Powerwash อุปกรณ์ของคุณ</translation>
 <translation id="8014210335923519270">ปรับปรุง <ph name="IDS_SHORT_PRODUCT_NAME" /> และความปลอดภัยด้วยการส่งข้อมูลและการใช้งานไปยัง Google</translation>
@@ -4701,6 +4735,7 @@
 <translation id="8426713856918551002">กำลังเปิดใช้</translation>
 <translation id="8427292751741042100">ฝังในโฮสต์ใดก็ได้</translation>
 <translation id="8428213095426709021">การตั้งค่า</translation>
+<translation id="8428628598981198790">คีย์ความปลอดภัยของคุณใช้กับเว็บไซต์นี้ไม่ได้</translation>
 <translation id="84297032718407999">คุณจะออกจากระบบใน <ph name="LOGOUT_TIME_LEFT" /></translation>
 <translation id="8431190899827883166">แสดงการแตะ</translation>
 <translation id="8431909052837336408">เปลี่ยน PIN ของซิม</translation>
@@ -4905,6 +4940,7 @@
 <translation id="8732212173949624846">อ่านและเปลี่ยนแปลงประวัติการเข้าชมบนอุปกรณ์ที่คุณลงชื่อเข้าใช้ทุกเครื่อง</translation>
 <translation id="8732844209475700754">การตั้งค่าเพิ่มเติมเกี่ยวกับความเป็นส่วนตัว ความปลอดภัย และการรวบรวมข้อมูล</translation>
 <translation id="8734073480934656039">การเปิดใช้การตั้งค่านี้จะทำให้แอปพลิเคชันคีออสก์เปิดขึ้นโดยอัตโนมัติเมื่อเริ่มต้นใช้งาน</translation>
+<translation id="8734671092194994316">การดำเนินการนี้จะทิ้งบันทึกการเข้าชม <ph name="WEBSITE" /> ไว้ในคีย์ความปลอดภัยของคุณ</translation>
 <translation id="873545264931343897">เมื่ออัปเดต <ph name="PLUGIN_NAME" /> เสร็จแล้ว ให้โหลดหน้าเว็บซ้ำเพื่อเปิดใช้งาน</translation>
 <translation id="8736288397686080465">มีการอัปเดตไซต์นี้ในพื้นหลัง</translation>
 <translation id="8737685506611670901">เปิดลิงก์ <ph name="PROTOCOL" /> แทน <ph name="REPLACED_HANDLER_TITLE" /></translation>
@@ -5003,6 +5039,7 @@
 <translation id="8877448029301136595">[ไดเรกทอรีหลัก]</translation>
 <translation id="8879284080359814990">แ&amp;สดงเป็นแถบ</translation>
 <translation id="8883847527783433352">ซิงค์กับอีกบัญชีหนึ่ง</translation>
+<translation id="8884570509232205463">ตอนนี้อุปกรณ์จะล็อกที่เวลา <ph name="UNLOCK_TIME" /></translation>
 <translation id="8885197664446363138">Smart Lock ไม่พร้อมใช้งาน</translation>
 <translation id="8888253246822647887">แอปจะเปิดเมื่อการอัปเกรดเสร็จสมบูรณ์ ซึ่งอาจใช้เวลาสักครู่</translation>
 <translation id="8888432776533519951">สี:</translation>
@@ -5027,7 +5064,6 @@
 <translation id="891365694296252935">ส่งข้อมูลการใช้งานและการวินิจฉัย ปัจจุบันอุปกรณ์นี้ส่งข้อมูลการวินิจฉัย อุปกรณ์ และการใช้งานแอปไปยัง Google โดยอัตโนมัติ โดยจะไม่มีการใช้ข้อมูลนี้ในการระบุชื่อบุตรหลานของคุณ และจะช่วยปรับปรุงความเสถียรของแอปและระบบ และอื่นๆ ข้อมูลที่รวบรวมมาบางส่วนจะมีประโยชน์ต่อแอปและพาร์ทเนอร์ของ Google ด้วย เช่น นักพัฒนาซอฟต์แวร์ Android เจ้าของเป็นผู้บังคับใช้การตั้งค่านี้ หากเปิดการตั้งค่ากิจกรรมเพิ่มเติมบนเว็บและแอปสำหรับบุตรหลาน ระบบอาจบันทึกข้อมูลนี้ไว้ในบัญชี Google ของบุตรหลาน <ph name="BEGIN_LINK1" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">กำลังโหลดคำแนะนำ</translation>
 <translation id="8916476537757519021">เฟรมย่อยแบบไม่ระบุตัวตน: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">ได้สิ ตกลง</translation>
 <translation id="8919275547519617350">ลงชื่อเข้าใช้และเปิดการซิงค์เพื่อรับรหัสผ่านทั้งหมดในอุปกรณ์ทุกเครื่องของคุณ</translation>
 <translation id="8921366488406707015">กำลังยืนยันคีย์ความปลอดภัย...</translation>
 <translation id="8922013791253848639">อนุญาตโฆษณาในไซต์นี้เสมอ</translation>
@@ -5096,6 +5132,7 @@
 <translation id="9026852570893462412">ขั้นตอนนี้อาจใช้เวลาสักครู่ กำลังดาวน์โหลดเครื่องเสมือน</translation>
 <translation id="9027459031423301635">เปิดลิงก์ในแ&amp;ท็บใหม่</translation>
 <translation id="9030515284705930323">องค์กรของคุณยังไม่ได้เปิดใช้ Google Play Store สำหรับบัญชีของคุณ โปรดสอบถามข้อมูลเพิ่มเติมจากผู้ดูแลระบบ</translation>
+<translation id="9030785788945687215">Gmail</translation>
 <translation id="9033857511263905942">&amp;วาง</translation>
 <translation id="9037965129289936994">แสดงหน้าเว็บเดิม</translation>
 <translation id="9038649477754266430">ใช้บริการการคาดคะเนเพื่อโหลดหน้าได้เร็วขึ้น</translation>
@@ -5125,7 +5162,6 @@
 <translation id="9065203028668620118">แก้ไข</translation>
 <translation id="9066773882585798925">ฟังข้อความที่อ่านออกเสียง</translation>
 <translation id="9066782832737749352">การอ่านออกเสียงข้อความ</translation>
-<translation id="907264006778172906">ให้สิทธิ์ Linux เข้าถึงอุปกรณ์ USB Linux จะไม่จำอุปกรณ์ USB หลังจากที่นำอุปกรณ์ดังกล่าวออก</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">บลูทูธ</translation>
 <translation id="9074836595010225693">เชื่อมต่อเมาส์ USB แล้ว</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index 1cf246f..d3544c1 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -2005,7 +2005,6 @@
 <translation id="4109135793348361820">Pencereyi <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) kullanıcısına taşı</translation>
 <translation id="4110490973560452005">İndirme işlemi tamamlandı: <ph name="FILE_NAME" />. İndirme çubuğu alanına gitmek için Üst Karakter+F6 tuşlarına basın.</translation>
 <translation id="4110895898888439383">Web'e yüksek karşıtlık modunda göz atın</translation>
-<translation id="4112221174576828331">Bir resmin işe yarar bir açıklaması yoksa, Chrome sizin için bir açıklama sağlar. Resimler Google tarafından taranır.</translation>
 <translation id="4115002065223188701">Ağ, kapsama alanı dışında</translation>
 <translation id="4115080753528843955">Bazı içerik hizmetleri, korumalı içeriğe erişimi yetkilendirmek amacıyla benzersiz tanımlayıcılar kullanır</translation>
 <translation id="4118579674665737931">Lütfen cihazı yeniden başlatın ve tekrar deneyin.</translation>
@@ -4458,6 +4457,7 @@
 <translation id="8008356846765065031">İnternet bağlantısı kesildi. Lütfen İnternet bağlantınızı kontrol edin.</translation>
 <translation id="8009225694047762179">Şifreleri Yönet</translation>
 <translation id="8012382203418782830">Bu sayfa çevrildi.</translation>
+<translation id="8013993649590906847">Bir resmin işe yarar bir açıklaması yoksa, Chrome sizin için bir açıklama sağlamaya çalışır. Açıklama oluşturmak için resimler Google'a gönderilir.</translation>
 <translation id="8014154204619229810">Güncelleyici şu anda çalışıyor. Tekrar kontrol etmek için bir dakika içinde yenileyin.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> daha önce yüklü olan sürümü geri yükleyemiyor. Lütfen cihazınıza tekrar Powerwash uygulayın.</translation>
 <translation id="8014210335923519270">Google'a sistem ve kullanım bilgilerini göndererek <ph name="IDS_SHORT_PRODUCT_NAME" /> ürününü ve güvenliğini iyileştirin</translation>
@@ -5027,7 +5027,6 @@
 <translation id="891365694296252935">Kullanım ve teşhis verilerini gönder. Bu cihaz şu anda teşhis, cihaz ve uygulama kullanımı verilerini otomatik olarak Google'a gönderiyor. Bu veriler, çocuğunuzun kimliğini tespit etmek için kullanılmaz; sistem ve uygulama kararlılığı ile diğer özellikleri iyileştirmeye yardımcı olur. Bazı birleştirilmiş veriler, Google uygulamalarına ve iş ortaklarına da (ör. Android geliştiricileri) yardımcı olur. Bu ayar, cihazın sahibi tarafından zorunlu kılınmıştır. Çocuğunuz için ek Web ve Uygulama Etkinliği açıksa bu veriler çocuğunuzun Google Hesabına kaydedilebilir. <ph name="BEGIN_LINK1" />Daha Fazla Bilgi<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Öneriler yükleniyor</translation>
 <translation id="8916476537757519021">Gizli Alt Çerçeve: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Evet, istiyorum</translation>
 <translation id="8919275547519617350">Tüm şifrelerinize tüm cihazlarınızda ulaşmak için oturum açın ve senkronizasyonu etkinleştirin.</translation>
 <translation id="8921366488406707015">Güvenlik anahtarınız doğrulanıyor...</translation>
 <translation id="8922013791253848639">Bu sitede her zaman reklamlara izin ver</translation>
@@ -5125,7 +5124,6 @@
 <translation id="9065203028668620118">Düzenle</translation>
 <translation id="9066773882585798925">Metnin sesli olarak okunmasını duyma</translation>
 <translation id="9066782832737749352">Metin-Konuşma</translation>
-<translation id="907264006778172906">Linux'a USB cihazlarına erişim izni verin. Linux, kaldırılan USB cihazları daha sonra hatırlamaz.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">USB fare bağlandı</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index 3f884f6e..46109153 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -2023,7 +2023,6 @@
 <translation id="4109135793348361820">Перемістити вікно на робочий стіл користувача <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Завантажено: <ph name="FILE_NAME" />. Натисніть Shift+F6, щоб перейти на панель завантажень.</translation>
 <translation id="4110895898888439383">Переглядати сторінки в режимі високого контрасту</translation>
-<translation id="4112221174576828331">Якщо зображення не має опису, Chrome додасть його. Google сканує зображення.</translation>
 <translation id="4115002065223188701">Мережа недосяжна</translation>
 <translation id="4115080753528843955">Деякі служби вмісту використовують унікальні ідентифікатори, щоб надавати доступ до захищеного вмісту</translation>
 <translation id="4118579674665737931">Перезапустіть пристрій і повторіть спробу.</translation>
@@ -4492,6 +4491,7 @@
 <translation id="8008356846765065031">Утрачено з’єднання з Інтернетом. Перевірте з’єднання.</translation>
 <translation id="8009225694047762179">Керувати паролями</translation>
 <translation id="8012382203418782830">Цю сторінку перекладено.</translation>
+<translation id="8013993649590906847">Якщо зображення не має корисного опису, Chrome спробує додати його. Для цього зображення надсилаються в Google.</translation>
 <translation id="8014154204619229810">Триває оновлення. Оновіть сторінку за хвилину.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> не може повернутися до попередньої встановленої версії. Виконайте Powerwash на пристрої.</translation>
 <translation id="8014210335923519270">Покращуйте <ph name="IDS_SHORT_PRODUCT_NAME" /> і функції безпеки, надсилаючи системну інформацію та дані про використання в Google</translation>
@@ -5064,7 +5064,6 @@
 <translation id="891365694296252935">Надсилати дані про використання й діагностику. Цей пристрій наразі автоматично надсилає в Google дані про діагностику та використання пристрою і додатків. Ця інформація не використовуватиметься для встановлення особи вашої дитини, а допоможе покращити стабільність системи, додатків тощо. Деякі зведені дані також корисні для додатків і партнерів Google, як-от розробників Android. Це налаштування застосовує власник. Якщо ввімкнено додаткову Історію додатків і веб-пошуку, ці дані зберігаються в обліковому записі Google дитини. <ph name="BEGIN_LINK1" />Докладніше<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Завантаження пропозиції</translation>
 <translation id="8916476537757519021">Додатковий анонімний фрейм: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Так</translation>
 <translation id="8919275547519617350">Щоб мати доступ до паролів на всіх своїх пристроях, увійдіть в обліковий запис і ввімкніть синхронізацію.</translation>
 <translation id="8921366488406707015">Підтвердження ключа безпеки…</translation>
 <translation id="8922013791253848639">Завжди дозволяти показ реклами на цьому сайті</translation>
@@ -5163,7 +5162,6 @@
 <translation id="9065203028668620118">Редагувати</translation>
 <translation id="9066773882585798925">Озвучуйте текст</translation>
 <translation id="9066782832737749352">Синтез мовлення</translation>
-<translation id="907264006778172906">Надайте Linux доступ до пристроїв USB. Linux не зберігатиме дані про пристрій USB після його вилучення.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Під’єднано мишу USB</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index eccbe22..f540e0f9 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -2005,7 +2005,6 @@
 <translation id="4109135793348361820">Di chuyển cửa sổ đến <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">Đã tải xuống xong: <ph name="FILE_NAME" />. Nhấn tổ hợp phím Shift + F6 để chuyển tới khu vực thanh Tài nguyên đã tải xuống.</translation>
 <translation id="4110895898888439383">Duyệt web trong chế độ tương phản cao</translation>
-<translation id="4112221174576828331">Chrome sẽ cố gắng mô tả cho bạn những hình ảnh không có nội dung mô tả hữu ích. Các hình ảnh đều do Google quét.</translation>
 <translation id="4115002065223188701">Mạng nằm ngoài phạm vi</translation>
 <translation id="4115080753528843955">Một số dịch vụ nội dung sử dụng số nhận dạng duy nhất nhằm mục đích cho phép truy cập vào nội dung được bảo vệ</translation>
 <translation id="4118579674665737931">Vui lòng khởi động lại thiết bị và thử lại.</translation>
@@ -4458,6 +4457,7 @@
 <translation id="8008356846765065031">Internet đã bị ngắt kết nối. Vui lòng kiểm tra kết nối Internet của bạn.</translation>
 <translation id="8009225694047762179">Quản lý mật khẩu</translation>
 <translation id="8012382203418782830">Trang này đã được dịch.</translation>
+<translation id="8013993649590906847">Chrome sẽ cố gắng mô tả cho bạn những hình ảnh không có nội dung mô tả hữu ích. Để tạo nội dung mô tả, các hình ảnh sẽ được gửi đến Google.</translation>
 <translation id="8014154204619229810">Trình cập nhật hiện đang chạy. Hãy làm mới sau một phút nữa để kiểm tra lại.</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> không thể hoàn nguyên về phiên bản được cài đặt trước. Vui lòng thử lại để Powerwash thiết bị của bạn.</translation>
 <translation id="8014210335923519270">Cải tiến <ph name="IDS_SHORT_PRODUCT_NAME" /> và tăng cường bảo mật cho sản phẩm bằng cách gửi thông tin hệ thống và việc sử dụng cho Google</translation>
@@ -5027,7 +5027,6 @@
 <translation id="891365694296252935">Gửi dữ liệu chẩn đoán và dữ liệu về mức sử dụng. Thiết bị này hiện tự động gửi dữ liệu chẩn đoán, dữ liệu về mức sử dụng ứng dụng và thiết bị cho Google. Những thông tin này sẽ không dùng để nhận dạng con bạn mà giúp tăng độ ổn định của hệ thống và ứng dụng cũng như cải thiện các mặt khác. Một số dữ liệu tổng hợp cũng sẽ hữu ích cho các ứng dụng và đối tác của Google, chẳng hạn như những nhà phát triển Android. Mục cài đặt này do chủ sở hữu thực thi. Nếu bạn bật mục cài đặt bổ sung Hoạt động web và ứng dụng cho con mình thì dữ liệu này có thể được lưu vào Tài khoản Google của trẻ. <ph name="BEGIN_LINK1" />Tìm hiểu thêm<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">Đang tải đề xuất</translation>
 <translation id="8916476537757519021">Khung ẩn danh phụ: <ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">Có, tôi đồng ý</translation>
 <translation id="8919275547519617350">Để lấy tất cả mật khẩu của bạn trên mọi thiết bị, hãy đăng nhập rồi bật tính năng đồng bộ hóa.</translation>
 <translation id="8921366488406707015">Đang xác minh khóa bảo mật...</translation>
 <translation id="8922013791253848639">Luôn cho phép quảng cáo trên trang web này</translation>
@@ -5125,7 +5124,6 @@
 <translation id="9065203028668620118">Chỉnh sửa</translation>
 <translation id="9066773882585798925">Nghe đọc to văn bản</translation>
 <translation id="9066782832737749352">Chuyển văn bản sang lời nói</translation>
-<translation id="907264006778172906">Cấp cho Linux quyền truy cập vào thiết bị USB. Linux sẽ không nhớ thiết bị USB sau khi bạn rút thiết bị ra.</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
 <translation id="9074836595010225693">Đã kết nối chuột USB</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index 29d81fd..a7d5165 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -1997,7 +1997,6 @@
 <translation id="4109135793348361820">将窗口移至<ph name="USER_NAME" />(<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">下载完成:<ph name="FILE_NAME" />。按 Shift+F6 可切换到下载内容栏区域。</translation>
 <translation id="4110895898888439383">以高反差模式浏览网页</translation>
-<translation id="4112221174576828331">如果图片缺少有用的说明,则 Chrome 会为您提供一条说明。Google 会对图片进行扫描。</translation>
 <translation id="4115002065223188701">检测不到网络</translation>
 <translation id="4115080753528843955">有些内容服务会使用独一无二的标识符来授予对受保护内容的访问权限</translation>
 <translation id="4118579674665737931">请重新启动此设备,然后重试。</translation>
@@ -3239,7 +3238,7 @@
 <translation id="6122095009389448667">继续禁止此网站查看剪贴板</translation>
 <translation id="6122875415561139701">禁止在“<ph name="DEVICE_NAME" />”上执行写入操作。</translation>
 <translation id="6124650939968185064">需先安装此扩展程序,下列扩展程序才能正常使用:</translation>
-<translation id="6124698108608891449">此网站需要更多权限。</translation>
+<translation id="6124698108608891449">该网站需要更多权限。</translation>
 <translation id="6125479973208104919">抱歉,您需要再次向此 <ph name="DEVICE_TYPE" /> 添加您的帐号。</translation>
 <translation id="6129691635767514872">系统已从 Chrome 和同步的设备中移除了您所选的数据。不过,您的 Google 帐号在 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> 上可能还有其他形式的浏览记录(例如,在其他 Google 服务中的搜索记录和活动记录)。</translation>
 <translation id="6129938384427316298">Netscape 证书评论</translation>
@@ -3419,7 +3418,7 @@
 <translation id="641081527798843608">主题匹配</translation>
 <translation id="6412931879992742813">打开新的无痕式窗口</translation>
 <translation id="6415900369006735853">通过手机连接到互联网</translation>
-<translation id="6416743254476733475">允许或禁止在您的计算机上使用 VR 头戴式设备。</translation>
+<translation id="6416743254476733475">请在您的计算机上允许或禁止。</translation>
 <translation id="6417265370957905582">Google 助理</translation>
 <translation id="6418160186546245112">正在还原到之前安装的 <ph name="IDS_SHORT_PRODUCT_NAME" /> 版本</translation>
 <translation id="6418481728190846787">永久删除对所有应用的访问权限</translation>
@@ -4448,6 +4447,7 @@
 <translation id="8008356846765065031">网络已断开,请检查您的互联网连接是否正常。</translation>
 <translation id="8009225694047762179">管理密码</translation>
 <translation id="8012382203418782830">此网页内容已经过翻译。</translation>
+<translation id="8013993649590906847">如果图片缺少有用的说明,则 Chrome 会尝试为您提供一条说明。为便于创建说明,系统会将图片发送给 Google。</translation>
 <translation id="8014154204619229810">更新程序正在运行,请稍后刷新并再次查看。</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" />无法还原到之前安装的版本。请重新尝试对您的设备执行 Powerwash 操作。</translation>
 <translation id="8014210335923519270">将系统信息和使用情况数据发送给 Google,帮助改进 <ph name="IDS_SHORT_PRODUCT_NAME" /> 并提高其安全性</translation>
@@ -5016,7 +5016,6 @@
 <translation id="891365694296252935">发送使用情况数据和诊断数据。目前,此设备会自动向 Google 发送诊断数据、设备数据和应用使用情况数据。这些数据不会被用来辨识您孩子的身份,而是会被用来帮助提高系统和应用的稳定性以及实现其他方面的改进。部分汇总数据也会对 Google 应用和合作伙伴(例如 Android 开发者)有所帮助。这项设置是由此设备的所有者强制指定的。如果您已为孩子开启“其他网络与应用活动记录”设置,这些数据可能会被保存到其 Google 帐号中。<ph name="BEGIN_LINK1" />了解详情<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">正在加载建议</translation>
 <translation id="8916476537757519021">隐身辅助框架:<ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">我同意</translation>
 <translation id="8919275547519617350">要想将您的所有密码同步到您的所有设备上,请登录您的帐号并开启同步功能。</translation>
 <translation id="8921366488406707015">正在验证您的安全密钥…</translation>
 <translation id="8922013791253848639">在此网站上始终允许显示广告</translation>
@@ -5114,7 +5113,6 @@
 <translation id="9065203028668620118">编辑</translation>
 <translation id="9066773882585798925">让系统大声朗读文字</translation>
 <translation id="9066782832737749352">文字转语音</translation>
-<translation id="907264006778172906">授权 Linux 访问 USB 设备。Linux 不会记住已被拔出的 USB 设备。</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">蓝牙</translation>
 <translation id="9074836595010225693">USB鼠标已连接</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index 18eb01c..625f639 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -2003,7 +2003,6 @@
 <translation id="4109135793348361820">將視窗傳送給 <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation>
 <translation id="4110490973560452005">下載完成:<ph name="FILE_NAME" />。按下 Shift+F6 即可回到下載內容列區域。</translation>
 <translation id="4110895898888439383">以高對比模式瀏覽網路</translation>
-<translation id="4112221174576828331">如果圖片缺少有用的說明,Chrome 會嘗試為你提供說明。Google 會對圖片進行掃描。</translation>
 <translation id="4115002065223188701">偵測不到網路</translation>
 <translation id="4115080753528843955">部分內容服務會使用唯一識別碼來授予受保護內容的存取權</translation>
 <translation id="4118579674665737931">請重新啟動裝置,然後再試一次。</translation>
@@ -4455,6 +4454,7 @@
 <translation id="8008356846765065031">網路連線中斷,請檢查你的網際網路連線。</translation>
 <translation id="8009225694047762179">管理密碼</translation>
 <translation id="8012382203418782830">這個網頁的內容已經過翻譯。</translation>
+<translation id="8013993649590906847">如果圖片缺少有用的說明,Chrome 會嘗試為你提供說明。系統會將圖片傳送給 Google,以便產生說明。</translation>
 <translation id="8014154204619229810">正在執行更新程式。請稍後片刻,重新整理之後再試一次。</translation>
 <translation id="8014206674403687691"><ph name="IDS_SHORT_PRODUCT_NAME" /> 無法還原至先前安裝的版本,請嘗試再次為你的裝置執行 Powerwash。</translation>
 <translation id="8014210335923519270">傳送系統資訊和使用情形資料給 Google,協助改善 <ph name="IDS_SHORT_PRODUCT_NAME" /> 及其安全性。</translation>
@@ -5023,7 +5023,6 @@
 <translation id="891365694296252935">傳送使用狀況與診斷資料。這個裝置目前會自動將診斷資料以及裝置和應用程式的使用狀況資料傳送給 Google。這些資料將有助於系統和應用程式提高穩定性及做出其他改善,並不會用於識別貴子女的身分。部分匯總資料還能夠為 Google 應用程式和合作夥伴 (例如 Android 開發人員) 提供幫助。這項設定是由裝置擁有者執行。如果貴子女的「其他網路和應用程式活動」設定為開啟,系統可能會將這些資料儲存到他們的 Google 帳戶。<ph name="BEGIN_LINK1" />瞭解詳情<ph name="END_LINK1" /></translation>
 <translation id="8915370057835397490">正在載入建議</translation>
 <translation id="8916476537757519021">無痕模式子頁框:<ph name="SUBFRAME_SITE" /></translation>
-<translation id="8917490105272468696">是,我同意</translation>
 <translation id="8919275547519617350">如要將密碼同步到所有裝置,請登入並開啟同步處理功能。</translation>
 <translation id="8921366488406707015">正在驗證安全金鑰...</translation>
 <translation id="8922013791253848639">一律允許在這個網站中顯示廣告</translation>
@@ -5121,7 +5120,6 @@
 <translation id="9065203028668620118">編輯</translation>
 <translation id="9066773882585798925">讓系統朗讀文字內容</translation>
 <translation id="9066782832737749352">文字轉語音</translation>
-<translation id="907264006778172906">請授權 Linux 存取 USB 裝置。移除後,Linux 將不會記住這部 USB 裝置。</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">藍牙</translation>
 <translation id="9074836595010225693">已連接 USB 滑鼠</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ar.xtb b/chrome/app/resources/google_chrome_strings_ar.xtb
index bdfd388..0ccf22a 100644
--- a/chrome/app/resources/google_chrome_strings_ar.xtb
+++ b/chrome/app/resources/google_chrome_strings_ar.xtb
@@ -172,6 +172,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">‏قد يكون ملف <ph name="FILE_NAME" /> ضارًا، لذلك فقد حظره Chrome.</translation>
 <translation id="5686916850681061684">‏تخصيص Google Chrome والتحكم فيه معلومات مهمة - انقر للحصول على التفاصيل.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{‏ستتم إعادة تشغيل Google Chrome خلال ثانية واحدة}zero{‏ستتم إعادة تشغيل Google Chrome خلال # ثانية}two{‏ستتم إعادة تشغيل Google Chrome خلال ثانيتين (#)}few{‏ستتم إعادة تشغيل Google Chrome خلال # ثوانٍ}many{‏ستتم إعادة تشغيل Google Chrome خلال # ثانيةً}other{‏ستتم إعادة تشغيل Google Chrome خلال # ثانية}}</translation>
 <translation id="573759479754913123">‏حول نظام التشغيل Chrome</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> - Google Chrome Canary</translation>
@@ -264,6 +265,7 @@
 <translation id="8286862437124483331">‏يحاول Google Chrome عرض كلمات المرور. اكتب كلمة مرور Windows للسماح بذلك.</translation>
 <translation id="8290100596633877290">‏للأسف! تعطل Google Chrome. هل تريد إعادة التشغيل الآن؟</translation>
 <translation id="8342675569599923794">‏هذا الملف ضار، لذلك فقد حظره Chrome.</translation>
+<translation id="8370517070665726704">‏حقوق الطبع والنشر لعام <ph name="YEAR" /> لشركة Google LLC. جميع الحقوق محفوظة.</translation>
 <translation id="8380166467911888159">‏لإصلاح الأخطاء الإملائية، يرسِل Chrome ما تكتبه في حقول النص إلى Google</translation>
 <translation id="840084489713044809">‏يرغب Google Chrome في تصدير كلمات المرور.</translation>
 <translation id="8406086379114794905">‏ساهم في تحسين Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bn.xtb b/chrome/app/resources/google_chrome_strings_bn.xtb
index 5aa6203..c612fc6 100644
--- a/chrome/app/resources/google_chrome_strings_bn.xtb
+++ b/chrome/app/resources/google_chrome_strings_bn.xtb
@@ -172,6 +172,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598"><ph name="FILE_NAME" /> বিপজ্জনক হতে পারে, তাই Chrome এটিকে অবরুদ্ধ করেছে।</translation>
 <translation id="5686916850681061684">Google Chrome কাস্টমাইজ ও নিয়ন্ত্রণ করুন। একটি বিষয়ে আপনার নজর দেওয়া দরকার - বিস্তারিত বিবরণের জন্য ক্লিক করুন।</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome ১ সেকেন্ডের মধ্যে রিস্টার্ট হবে}one{Google Chrome # সেকেন্ডের মধ্যে রিস্টার্ট হবে}other{Google Chrome # সেকেন্ডের মধ্যে রিস্টার্ট হবে}}</translation>
 <translation id="573759479754913123">Chrome OS সম্পর্কে </translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> - Google Chrome Canary</translation>
@@ -264,6 +265,7 @@
 <translation id="8286862437124483331">Google Chrome পাসওয়ার্ডগুলি দেখানোর চেষ্টা করছে। এটির অনুমতি দিতে আপনার Windows পাসওয়ার্ড টাইপ করুন।</translation>
 <translation id="8290100596633877290">হোয়া! Google Chrome ক্র্যাশ হয়েছে৷ এখনই পুনঃলঞ্চ করবেন?</translation>
 <translation id="8342675569599923794">এই ফাইলটি বিপজ্জনক, তাই Chrome এটিকে অবরুদ্ধ করেছে।</translation>
+<translation id="8370517070665726704">কপিরাইট <ph name="YEAR" /> Google LLC সব স্বত্ব সংরক্ষিত আছে।</translation>
 <translation id="8380166467911888159">ভুল বানানগুলি ঠিক করতে, Chrome টেক্সট ফিল্ডে আপনার লেখা টেক্সট Google-এ পাঠায়</translation>
 <translation id="840084489713044809">Google Chrome আপনার পাসওয়ার্ড এক্সপোর্ট করতে চাইছে।</translation>
 <translation id="8406086379114794905">Chrome কে সর্বোত্তম করে তুলতে সাহায্য করুন</translation>
diff --git a/chrome/app/resources/google_chrome_strings_cs.xtb b/chrome/app/resources/google_chrome_strings_cs.xtb
index 0aae321..41432fde 100644
--- a/chrome/app/resources/google_chrome_strings_cs.xtb
+++ b/chrome/app/resources/google_chrome_strings_cs.xtb
@@ -176,6 +176,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">Soubor <ph name="FILE_NAME" /> může být nebezpečný, proto jej Chrome zablokoval.</translation>
 <translation id="5686916850681061684">Přizpůsobte si Google Chrome a ovládejte jej. Něco vyžaduje vaši pozornost – podrobnosti zobrazíte kliknutím.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome se za 1 sekundu restartuje}few{Google Chrome se za # sekundy restartuje}many{Google Chrome se za # sekundy restartuje}other{Google Chrome se za # sekund restartuje}}</translation>
 <translation id="573759479754913123">O operačním systému Chrome OS</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -268,6 +269,7 @@
 <translation id="8286862437124483331">Aplikace Google Chrome se pokouší zobrazit hesla. Tato akce vyžaduje zadání hesla systému Windows.</translation>
 <translation id="8290100596633877290">Ouha! Prohlížeč Google Chrome spadl. Restartovat?</translation>
 <translation id="8342675569599923794">Tento soubor je nebezpečný, proto jej Chrome zablokoval.</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Všechna práva vyhrazena.</translation>
 <translation id="8380166467911888159">Text zadaný do textových polí odesílá Chrome kvůli opravě pravopisných chyb do Googlu</translation>
 <translation id="840084489713044809">Google Chrome chce exportovat vaše hesla.</translation>
 <translation id="8406086379114794905">Pomozte nám Chrome zlepšit</translation>
diff --git a/chrome/app/resources/google_chrome_strings_da.xtb b/chrome/app/resources/google_chrome_strings_da.xtb
index d8062260..3fadff8 100644
--- a/chrome/app/resources/google_chrome_strings_da.xtb
+++ b/chrome/app/resources/google_chrome_strings_da.xtb
@@ -168,6 +168,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598"><ph name="FILE_NAME" /> kan være skadelig, så Chrome har blokeret den.</translation>
 <translation id="5686916850681061684">Tilpas og administrer Google Chrome. Noget kræver din opmærksomhed – klik for at få oplysninger.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome genstarter om 1 sekund}one{Google Chrome genstarter om # sekund}other{Google Chrome genstarter om # sekunder}}</translation>
 <translation id="573759479754913123">Om Chrome OS</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -260,6 +261,7 @@
 <translation id="8286862437124483331">Google Chrome forsøger at vise adgangskoder. Angiv din Windows-adgangskode for at tillade dette.</translation>
 <translation id="8290100596633877290">Hovsa! Google Chrome er gået ned. Vil du genstarte nu?</translation>
 <translation id="8342675569599923794">Denne fil er farlig, så Chrome har blokeret den.</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Alle rettigheder forbeholdes.</translation>
 <translation id="8380166467911888159">Chrome sender den tekst, du skriver i tekstfelter, til Google for at rette stavefejl</translation>
 <translation id="840084489713044809">Google Chrome anmoder om at eksportere dine adgangskoder.</translation>
 <translation id="8406086379114794905">Hjælp med at forbedre Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_el.xtb b/chrome/app/resources/google_chrome_strings_el.xtb
index 9dd2d52..66372aa 100644
--- a/chrome/app/resources/google_chrome_strings_el.xtb
+++ b/chrome/app/resources/google_chrome_strings_el.xtb
@@ -172,6 +172,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">Το αρχείο <ph name="FILE_NAME" /> μπορεί να είναι επικίνδυνο, επομένως έχει αποκλειστεί από το Chrome.</translation>
 <translation id="5686916850681061684">Προσαρμογή και έλεγχος του Google Chrome. Θα πρέπει να ελέγξετε μια ειδοποίηση, κάντε κλικ για λεπτομέρειες.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Θα γίνει επανεκκίνηση του Google Chrome σε 1 δευτερόλεπτο}other{Θα γίνει επανεκκίνηση του Google Chrome σε # δευτερόλεπτα}}</translation>
 <translation id="573759479754913123">Σχετικά με το Chrome OS</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> - Google Chrome Canary</translation>
@@ -264,6 +265,7 @@
 <translation id="8286862437124483331">Το Google Chrome προσπαθεί να εμφανίσει τους κωδικούς πρόσβασης. Πληκτρολογήστε τον κωδικό πρόσβασής σας Windows για να το επιτρέψετε αυτό.</translation>
 <translation id="8290100596633877290">Πω πω! Το Google Chrome παρουσίασε σφάλμα. Επανεκκίνηση τώρα;</translation>
 <translation id="8342675569599923794">Αυτό το αρχείο είναι επικίνδυνο και έχει αποκλειστεί από το Chrome.</translation>
+<translation id="8370517070665726704">Πνευματικά δικαιώματα <ph name="YEAR" /> Google LLC. Με την επιφύλαξη παντός δικαιώματος.</translation>
 <translation id="8380166467911888159">Για τη διόρθωση ορθογραφικών λαθών, το Chrome στέλνει στην Google το κείμενο που πληκτρολογείτε σε πεδία κειμένου</translation>
 <translation id="840084489713044809">Το Google Chrome θέλει να εξαγάγει τους κωδικούς πρόσβασής σας.</translation>
 <translation id="8406086379114794905">Βοηθήστε μας να κάνουμε καλύτερο το Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_et.xtb b/chrome/app/resources/google_chrome_strings_et.xtb
index ecddee8..c1f3607 100644
--- a/chrome/app/resources/google_chrome_strings_et.xtb
+++ b/chrome/app/resources/google_chrome_strings_et.xtb
@@ -172,6 +172,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598"><ph name="FILE_NAME" /> võib olla ohtlik, mistõttu Chrome blokeeris selle.</translation>
 <translation id="5686916850681061684">Kohandage ja hallake Google Chrome'i. Miski vajab teie tähelepanu – klõpsake üksikasjade nägemiseks.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome taaskäivitub 1 sekundi pärast}other{Google Chrome taaskäivitub # sekundi pärast}}</translation>
 <translation id="573759479754913123">Teave Chrome OS-i kohta</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -264,6 +265,7 @@
 <translation id="8286862437124483331">Google Chrome proovib kuvada paroole. Selle lubamiseks sisestage Windowsi parool.</translation>
 <translation id="8290100596633877290">Tohoh! Google Chrome jooksis kokku. Kas soovite kohe taaskäivitada?</translation>
 <translation id="8342675569599923794">Chrome blokeeris faili, kuna see on ohtlik.</translation>
+<translation id="8370517070665726704">Autoriõigus <ph name="YEAR" /> Google LLC. Kõik õigused on kaitstud.</translation>
 <translation id="8380166467911888159">Õigekirjavigade parandamiseks saadab Chrome teie tekstiväljadel sisestatud teksti Google'ile</translation>
 <translation id="840084489713044809">Google Chrome soovib teie paroole eksportida.</translation>
 <translation id="8406086379114794905">Aidake Chrome'i täiustada</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fa.xtb b/chrome/app/resources/google_chrome_strings_fa.xtb
index 51fa1009..9c9a229 100644
--- a/chrome/app/resources/google_chrome_strings_fa.xtb
+++ b/chrome/app/resources/google_chrome_strings_fa.xtb
@@ -169,6 +169,7 @@
 <translation id="5566025111015594046">‏Google Chrome (ورودی mDNS)</translation>
 <translation id="565744775970812598">‏<ph name="FILE_NAME" /> ممکن است خطرناک باشد، بنابراین Chrome آن را مسدود کرده است.</translation>
 <translation id="5686916850681061684">‏Google Chrome ‫را سفارشی و کنترل کنید. چیزی نیاز به رسیدگی دارد، برای اطلاعات بیشتر کلیک کنید.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{‏Google Chrome بعد از ۱ ثانیه بازراه‌اندازی می‌شود}one{‏Google Chrome بعد از # ثانیه بازراه‌اندازی می‌شود}other{‏Google Chrome بعد از # ثانیه بازراه‌اندازی می‌شود}}</translation>
 <translation id="573759479754913123">‏درباره سیستم عامل Chrome</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> - Google Chrome Canary</translation>
@@ -261,6 +262,7 @@
 <translation id="8286862437124483331">‏Google Chrome در حال تلاش برای نشان دادن گذرواژه‌هاست. برای اجازه به این کار، گذرواژه Windows خود را تایپ کنید.</translation>
 <translation id="8290100596633877290">‏اوه! Google Chrome با اشکال مواجه شده است. دوباره راه‌اندازی شود؟</translation>
 <translation id="8342675569599923794">‏این فایل خطرناک است، بنابراین Chrome آن را مسدود کرده است.</translation>
+<translation id="8370517070665726704">‏حق نسخه‌برداری <ph name="YEAR" /> Google LLC.‎ کلیه حقوق محفوظ است.</translation>
 <translation id="8380166467911888159">‏برای رفع خطاهای املائی، Chrome نوشتاری را که در فیلد نوشتار تایپ می‌کنید، برای Google ارسال می‌کند</translation>
 <translation id="840084489713044809">‏Google Chrome می‌خواهد گذرواژه‌های شما را صادر کند.</translation>
 <translation id="8406086379114794905">‏به بهبود Chrome کمک کنید</translation>
diff --git a/chrome/app/resources/google_chrome_strings_gu.xtb b/chrome/app/resources/google_chrome_strings_gu.xtb
index 122187c..db4a300 100644
--- a/chrome/app/resources/google_chrome_strings_gu.xtb
+++ b/chrome/app/resources/google_chrome_strings_gu.xtb
@@ -176,6 +176,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598"><ph name="FILE_NAME" /> જોખમી હોઈ શકે છે, તેથી Chrome એ તેને અવરોધિત કરેલ છે.</translation>
 <translation id="5686916850681061684">Google Chromeને કસ્ટમાઇઝ કરો અને તેનું નિયંત્રણ કરો. તમારે ક્યાંક ધ્યાન આપવાની જરૂર છે - વિગતો માટે ક્લિક કરો.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome 1 સેકન્ડમાં ફરી શરૂ થશે}one{Google Chrome # સેકન્ડમાં ફરી શરૂ થશે}other{Google Chrome # સેકન્ડમાં ફરી શરૂ થશે}}</translation>
 <translation id="573759479754913123">Chrome OS વિશે</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> - Google Chrome Canary</translation>
@@ -268,6 +269,7 @@
 <translation id="8286862437124483331">Google Chrome પાસવર્ડ્સ બતાવવાનો પ્રયાસ કરી રહ્યું છે. આની મંજૂરી આપવા માટે તમારો Windows પાસવર્ડ લખો.</translation>
 <translation id="8290100596633877290">ઓહ! Google Chrome ક્રેશ થઈ ગયું. હમણાં ફરીથી લોંચ કરીએ?</translation>
 <translation id="8342675569599923794">આ ફાઇલ જોખમી છે, તેથી Chrome એ તેને અવરોધિત કરેલ છે.</translation>
+<translation id="8370517070665726704">કૉપિરાઇટ <ph name="YEAR" /> Google LLC. સર્વાધિકાર સુરક્ષિત.</translation>
 <translation id="8380166467911888159">જોડણીની ભૂલો સુધારવા માટે, Chrome તમે ટેક્સ્ટ ફીલ્ડમાં ટાઇપ કરો તે ટેક્સ્ટ Googleને મોકલે છે</translation>
 <translation id="840084489713044809">Google Chrome તમારા પાસવર્ડની નિકાસ કરવા માગે છે.</translation>
 <translation id="8406086379114794905">Chrome ને બહેતર બનાવવામાં સહાય કરો</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hi.xtb b/chrome/app/resources/google_chrome_strings_hi.xtb
index f5225b3..dc55c095 100644
--- a/chrome/app/resources/google_chrome_strings_hi.xtb
+++ b/chrome/app/resources/google_chrome_strings_hi.xtb
@@ -172,6 +172,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598"><ph name="FILE_NAME" /> खरतरनाक हो सकता है, इसलिए Chrome ने उसे अवरोधित कर दिया है.</translation>
 <translation id="5686916850681061684">Google Chrome को पसंद के मुताबिक बनाएं और नियंत्रित करें. कुछ है जिस पर आपको ध्यान देने की ज़रूरत है - विवरण के लिए क्लिक करें.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome 1 सेकंड में रीस्टार्ट होगा}one{Google Chrome # सेकंड में रीस्टार्ट होगा}other{Google Chrome # सेकंड में रीस्टार्ट होगा}}</translation>
 <translation id="573759479754913123">Chrome OS के बारे में</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> - Google Chrome कैनरी</translation>
@@ -264,6 +265,7 @@
 <translation id="8286862437124483331">Google Chrome पासवर्ड दिखाने का प्रयास कर रहा है. इसकी अनुमति देने के लिए अपना Windows पासवर्ड लिखें.</translation>
 <translation id="8290100596633877290">रुकिए! Google Chrome क्रैश हो गया है. अभी फिर से लॉन्च करें?</translation>
 <translation id="8342675569599923794">यह फ़ाइल खतरनाक है, इसलिए Chrome ने इसे अवरुद्ध कर दिया है.</translation>
+<translation id="8370517070665726704">कॉपीराइट <ph name="YEAR" /> Google LLC. सर्वाधिकार सुरक्षित.</translation>
 <translation id="8380166467911888159">स्पेलिंग की गड़बड़ियां ठीक करने के लिए, Chrome लेख फ़ील्ड में आपके लिखे गए लेख को Google को भेजता है</translation>
 <translation id="840084489713044809">Google Chrome आपके पासवर्ड निर्यात करना चाहता है.</translation>
 <translation id="8406086379114794905">Chrome को बेहतर बनाने में सहायता करें</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hr.xtb b/chrome/app/resources/google_chrome_strings_hr.xtb
index ebff454..4b3a3da5 100644
--- a/chrome/app/resources/google_chrome_strings_hr.xtb
+++ b/chrome/app/resources/google_chrome_strings_hr.xtb
@@ -168,6 +168,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">Datoteka <ph name="FILE_NAME" /> mogla bi biti opasna, pa ju je Chrome blokirao.</translation>
 <translation id="5686916850681061684">Prilagodite Google Chrome i upravljajte njime. Trebate obratiti pozornost na nešto – kliknite za pojedinosti.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome ponovo će se pokrenuti za 1 sekundu}one{Google Chrome ponovo će se pokrenuti za # sekundu}few{Google Chrome ponovo će se pokrenuti za # sekunde}other{Google Chrome ponovo će se pokrenuti za # sekundi}}</translation>
 <translation id="573759479754913123">O OS-u Chrome</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -260,6 +261,7 @@
 <translation id="8286862437124483331">Google Chrome pokušava prikazati zaporke. Upišite svoju zaporku za Windows da biste to dopustili.</translation>
 <translation id="8290100596633877290">Opa! Google Chrome je pao. Ponovo pokrenuti sada?</translation>
 <translation id="8342675569599923794">Datoteka je opasna i Chrome ju je blokirao.</translation>
+<translation id="8370517070665726704">Autorska prava <ph name="YEAR" />. Google LLC. Sva prava pridržana.</translation>
 <translation id="8380166467911888159">Chrome Googleu šalje tekst koji utipkate u tekstualna polja kako bi ispravio pravopisne pogreške</translation>
 <translation id="840084489713044809">Google Chrome želi izvesti vaše zaporke.</translation>
 <translation id="8406086379114794905">Pomozite nam da poboljšamo Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hu.xtb b/chrome/app/resources/google_chrome_strings_hu.xtb
index cded219b..2261247 100644
--- a/chrome/app/resources/google_chrome_strings_hu.xtb
+++ b/chrome/app/resources/google_chrome_strings_hu.xtb
@@ -168,6 +168,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">A(z) <ph name="FILE_NAME" /> veszélyes lehet, ezért a Chrome letiltotta.</translation>
 <translation id="5686916850681061684">A Google Chrome személyre szabása és beállításai Figyelmet kell fordítania valamire – a részletekért kattintson.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{A Google Chrome 1 másodpercen belül újraindul}other{A Google Chrome # másodpercen belül újraindul}}</translation>
 <translation id="573759479754913123">A Chrome OS névjegye</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -260,6 +261,7 @@
 <translation id="8286862437124483331">A Google Chrome megkísérli megjeleníteni a jelszavakat. Ennek engedélyezéséhez írja be Windows-jelszavát.</translation>
 <translation id="8290100596633877290">Hmm. A Google Chrome összeomlott. Újraindítja most?</translation>
 <translation id="8342675569599923794">Ez a fájl veszélyes, ezért a Chrome letiltotta.</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Minden jog fenntartva.</translation>
 <translation id="8380166467911888159">A nyelvtani hibák javítása érdekében a Chrome elküldi a szövegmezőkbe gépelt szöveget a Google-nak</translation>
 <translation id="840084489713044809">A Google Chrome exportálni szeretné a jelszavakat.</translation>
 <translation id="8406086379114794905">Segítsen a Chrome tökéletesítésében</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ja.xtb b/chrome/app/resources/google_chrome_strings_ja.xtb
index a458d2b..c6d0d97 100644
--- a/chrome/app/resources/google_chrome_strings_ja.xtb
+++ b/chrome/app/resources/google_chrome_strings_ja.xtb
@@ -168,6 +168,7 @@
 <translation id="5566025111015594046">Google Chrome(mDNS インバウンド)</translation>
 <translation id="565744775970812598"><ph name="FILE_NAME" /> は危険なファイルの可能性があるため、Chrome でブロックしました。</translation>
 <translation id="5686916850681061684">Google Chrome をカスタマイズ、制御します。確認の必要な項目があります。クリックして詳細をご覧ください。</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome は 1 秒後に再起動します}other{Google Chrome は # 秒後に再起動します}}</translation>
 <translation id="573759479754913123">Chrome OS について</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> - Google Chrome Canary</translation>
@@ -260,6 +261,7 @@
 <translation id="8286862437124483331">Google Chrome でパスワードを表示しようとしています。続行するには、Windows のパスワードを入力してください。</translation>
 <translation id="8290100596633877290">エラー: Google Chrome で問題が発生しました。今すぐ再起動しますか?</translation>
 <translation id="8342675569599923794">このファイルは危険なファイルであるため、Chrome でブロックしました。</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. All rights reserved.</translation>
 <translation id="8380166467911888159">スペルミスを修正するために、テキスト欄に入力したテキストが Chrome から Google に送信されます</translation>
 <translation id="840084489713044809">Google Chrome からパスワードをエクスポートするための許可を求められています。</translation>
 <translation id="8406086379114794905">Chrome の品質向上にご協力ください</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lv.xtb b/chrome/app/resources/google_chrome_strings_lv.xtb
index 9573fa0..3cc8f92e 100644
--- a/chrome/app/resources/google_chrome_strings_lv.xtb
+++ b/chrome/app/resources/google_chrome_strings_lv.xtb
@@ -172,6 +172,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS ienākošā datplūsma)</translation>
 <translation id="565744775970812598">Fails <ph name="FILE_NAME" /> var būt bīstams, tādēļ Chrome to bloķēja.</translation>
 <translation id="5686916850681061684">Pielāgojiet un kontrolējiet pārlūkprogrammu Google Chrome. Ir nepieciešama jūsu uzmanība. Noklikšķiniet, lai skatītu plašāku informāciju.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Pārlūks Google Chrome tiks restartēts pēc 1 sekundes.}zero{Pārlūks Google Chrome tiks restartēts pēc # sekundēm.}one{Pārlūks Google Chrome tiks restartēts pēc # sekundes.}other{Pārlūks Google Chrome tiks restartēts pēc # sekundēm.}}</translation>
 <translation id="573759479754913123">Par &amp;Chrome OS</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> — Google Chrome Canary</translation>
@@ -264,6 +265,7 @@
 <translation id="8286862437124483331">Google Chrome mēģina rādīt paroles. Lai to atļautu, ierakstiet savu Windows paroli.</translation>
 <translation id="8290100596633877290">Eh! Google Chrome ir avarējis. Vai restartēt to tūlīt?</translation>
 <translation id="8342675569599923794">Šis fails ir bīstams, tāpēc Chrome to bloķēja.</translation>
+<translation id="8370517070665726704">Autortiesības: <ph name="YEAR" /> Google LLC. Visas tiesības paturētas.</translation>
 <translation id="8380166467911888159">Lai izlabotu pareizrakstības kļūdas, Chrome nosūta teksta laukos ievadīto tekstu Google serveriem.</translation>
 <translation id="840084489713044809">Pārlūkā Google Chrome tiek mēģināts eksportēt jūsu paroles.</translation>
 <translation id="8406086379114794905">Palīdziet uzlabot Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mr.xtb b/chrome/app/resources/google_chrome_strings_mr.xtb
index 32ea4a24..f7a0483 100644
--- a/chrome/app/resources/google_chrome_strings_mr.xtb
+++ b/chrome/app/resources/google_chrome_strings_mr.xtb
@@ -33,7 +33,7 @@
 <translation id="1682634494516646069">Google Chrome त्याची डेटा निर्देशिका वाचू किंवा लिहू शकत नाही:  
 
 <ph name="USER_DATA_DIRECTORY" /></translation>
-<translation id="1698376642261615901">Google Chrome एक वेब ब्राउझर आहे जो वेब पेज आणि अॅप्लिकेशन विजेच्या गतीने चालवितो. तो जलद, स्थिर आणि वापरण्यास सोपा आहे. Google Chrome मध्ये तयार केलेल्या मालवेयर आणि फिशिंग संरक्षणासह वेब अधिक सुरक्षितपणे ब्राउझ करा.</translation>
+<translation id="1698376642261615901">Google Chrome एक वेब ब्राउझर आहे जो वेब पेज आणि ॲप्लिकेशन विजेच्या गतीने चालवितो. तो जलद, स्थिर आणि वापरण्यास सोपा आहे. Google Chrome मध्ये तयार केलेल्या मालवेयर आणि फिशिंग संरक्षणासह वेब अधिक सुरक्षितपणे ब्राउझ करा.</translation>
 <translation id="1718131156967340976"><ph name="SMALL_PRODUCT_LOGO" /> <ph name="BEGIN_BOLD" />Google Chrome<ph name="END_BOLD" /> निवडा</translation>
 <translation id="1734234790201236882">Chrome हा पासवर्ड तुमच्या Google खात्यामध्ये सेव्ह करेल. तुम्हाला लक्षात ठेवावा लागणार नाही.</translation>
 <translation id="174539241580958092">साइन इन करण्यात एरर आल्यामुळे Google Chrome तुमचा डेटा संकालित करू शकले नाही.</translation>
@@ -87,7 +87,7 @@
 <translation id="3037838751736561277">Google Chrome पार्श्वभूमी मोड मध्ये आहे.</translation>
 <translation id="3047079729301751317"><ph name="USERNAME" /> डिस्कनेक्ट केल्याने या डिव्हाइसवरील तुमचा इतिहास, बुकमार्क, सेटिंग्ज आणि अन्य Chrome डेटा साफ होईल. आपल्या Google खात्यात संचयित केलेला डेटा साफ केला जाणार नाही आणि तो <ph name="GOOGLE_DASHBOARD_LINK" />Google डॅशबोर्ड<ph name="END_GOOGLE_DASHBOARD_LINK" /> वर व्यवस्थापित केला जाऊ शकतो.</translation>
 <translation id="3065168410429928842">Chrome टॅब</translation>
-<translation id="3080151273017101988">जेव्हा Google Chrome बंद असेल तेव्हा पार्श्वभूमीत अॅप्लिकेशन चालणे सुरू ठेवा</translation>
+<translation id="3080151273017101988">जेव्हा Google Chrome बंद असेल तेव्हा पार्श्वभूमीत ॲप्लिकेशन चालणे सुरू ठेवा</translation>
 <translation id="3089968997497233615">Google Chrome ची नवीन, सुरक्षित आवृत्ती उपलब्ध आहे.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
 <translation id="3251381707915721925"><ph name="NEW_PROFILE_NAME" /> कोणत्या वेबसाइट पाहू शकतो ते सेट करण्‍यासाठी, <ph name="BEGIN_LINK_1" /><ph name="DISPLAY_LINK" /><ph name="END_LINK_1" /> वर भेट देऊन तुम्ही प्रतिबंध आणि सेटिंग्ज कॉन्फिगर करू शकता. तुम्ही डीफॉल्ट सेटिंग्ज बदलत नसल्यास, <ph name="NEW_PROFILE_NAME" /> वेबवरील प्रत्येक गोष्ट पाहू शकतो.
@@ -123,7 +123,7 @@
 <translation id="4050175100176540509">नवीनतम आवृत्तीमध्‍ये महत्त्वाच्या सुरक्षितता सुधारणा आणि नवीन वैशिष्ट्ये उपलब्‍ध आहेत.</translation>
 <translation id="4053720452172726777">Google Chrome सानुकूल करा आणि नियंत्रित करा</translation>
 <translation id="4143243756087420366">Chrome नाव आणि फोटो</translation>
-<translation id="4147555960264124640">तुम्ही एका व्यवस्थापित खात्यासह साइन इन करत आहात आणि आपल्या Google Chrome प्रोफाईलवर त्याच्या प्रशासकास नियंत्रण देत आहात. तुमचा Chrome डेटा, जसे की तुमचे अॅप्स, बुकमार्क, इतिहास, पासवर्ड आणि अन्य सेटिंग्ज <ph name="USER_NAME" /> वर कायमच्या बद्ध होतील. तुम्ही Google खाती डॅशबोर्ड द्वारे हा डेटा हटविण्यात सक्षम व्हाल, परंतु तुम्ही दुसर्‍या खात्यासह हा डेटा संबद्ध करण्यात सक्षम होणार नाही. <ph name="LEARN_MORE" /></translation>
+<translation id="4147555960264124640">तुम्ही एका व्यवस्थापित खात्यासह साइन इन करत आहात आणि आपल्या Google Chrome प्रोफाईलवर त्याच्या प्रशासकास नियंत्रण देत आहात. तुमचा Chrome डेटा, जसे की तुमचे ॲप्स, बुकमार्क, इतिहास, पासवर्ड आणि अन्य सेटिंग्ज <ph name="USER_NAME" /> वर कायमच्या बद्ध होतील. तुम्ही Google खाती डॅशबोर्ड द्वारे हा डेटा हटविण्यात सक्षम व्हाल, परंतु तुम्ही दुसर्‍या खात्यासह हा डेटा संबद्ध करण्यात सक्षम होणार नाही. <ph name="LEARN_MORE" /></translation>
 <translation id="4149882025268051530">संग्रहणाचा असंक्षिप्त करण्यास इन्स्टॉलर अयशस्वी. कृपया Google Chrome पुन्हा डाउनलोड करा.</translation>
 <translation id="424864128008805179">Chrome मधून साइन आउट करायचे?</translation>
 <translation id="4251615635259297716">या खात्यावर आपल्या Chrome डेटा चा दुवा साधायचा?</translation>
@@ -216,7 +216,7 @@
 <translation id="7098166902387133879">Google Chrome तुमचा मायक्रोफोन वापरत आहे.</translation>
 <translation id="7106741999175697885">कार्य व्यवस्थापक – Google Chrome</translation>
 <translation id="7164397146364144019">तुम्ही Google कडे संभाव्य सुरक्षितता घटनांच्या तपशीलांचा स्वयंचलितपणे अहवाल देऊन Chrome वापरणे अधिक सुरक्षित आणि सुलभ बनविण्यात मदत करू शकता.</translation>
-<translation id="7242029209006116544">तुम्ही एका व्यवस्थापित खात्यासह साइन इन करत आहात आणि आपल्या Google Chrome प्रोफाईलवर त्याच्या प्रशासकास नियंत्रण देत आहात. तुमचा Chrome डेटा, जसे की तुमचे अॅप्स, बुकमार्क, इतिहास, पासवर्ड आणि अन्य सेटिंग्ज <ph name="USER_NAME" /> वर कायमच्या बद्ध होतील. तुम्ही Google खाती डॅशबोर्डद्वारे हा डेटा हटविण्यात सक्षम व्हाल, परंतु तुम्ही दुसर्‍या खात्यासह हा डेटा संबद्ध करण्यात सक्षम होणार नाही. तुम्ही तुमचा विद्यमान Chrome डेटा विभक्त ठेवण्यासाठी एक नवीन प्रोफाईल वैकल्पिकपणे तयार करू शकता. <ph name="LEARN_MORE" /></translation>
+<translation id="7242029209006116544">तुम्ही एका व्यवस्थापित खात्यासह साइन इन करत आहात आणि आपल्या Google Chrome प्रोफाईलवर त्याच्या प्रशासकास नियंत्रण देत आहात. तुमचा Chrome डेटा, जसे की तुमचे ॲप्स, बुकमार्क, इतिहास, पासवर्ड आणि अन्य सेटिंग्ज <ph name="USER_NAME" /> वर कायमच्या बद्ध होतील. तुम्ही Google खाती डॅशबोर्डद्वारे हा डेटा हटविण्यात सक्षम व्हाल, परंतु तुम्ही दुसर्‍या खात्यासह हा डेटा संबद्ध करण्यात सक्षम होणार नाही. तुम्ही तुमचा विद्यमान Chrome डेटा विभक्त ठेवण्यासाठी एक नवीन प्रोफाईल वैकल्पिकपणे तयार करू शकता. <ph name="LEARN_MORE" /></translation>
 <translation id="7295052994004373688">ही भाषा Google Chrome UI दाखवण्यासाठी वापरली जाते</translation>
 <translation id="7296210096911315575">महत्त्वाचा वापर आणि सुरक्षा माहिती</translation>
 <translation id="7308322188646931570">फायली डाउनलोड करण्यासाठी Chrome ला स्टोरेजचा अॅक्सेस हवा आहे</translation>
@@ -224,7 +224,7 @@
 <translation id="7398801000654795464">तुम्ही <ph name="USER_EMAIL_ADDRESS" /> या रुपात Chrome मध्ये साइन इन केले होते. कृपया पुन्हा साइन इन करण्यासाठी समान खाते वापरा.</translation>
 <translation id="7408085963519505752">Chrome OS अटी</translation>
 <translation id="7419046106786626209">आपल्या डोमेनसाठी संकालन उपलब्ध नसल्यामुळे Chrome OS तुमचा डेटा संकालित करू शकले नाही.</translation>
-<translation id="7459554271817304652">तुमची पर्सनलाइझ केलेली ब्राउझर वैशिष्ट्ये सेव्ह करण्यासाठी सिंक सेट करा आणि कोणत्याही कॉंप्युटरवरील Google Chrome वरून ते अॅक्सेस करा.</translation>
+<translation id="7459554271817304652">तुमची पर्सनलाइझ केलेली ब्राउझर वैशिष्ट्ये सेव्ह करण्यासाठी सिंक सेट करा आणि कोणत्याही कॉंप्युटरवरील Google Chrome वरून ते ॲक्सेस करा.</translation>
 <translation id="7473136999113284234">Chrome स्वयंचलितपणे अपडेट होते जेणेकरून आपल्याकडे नेहमी सर्वात नवीन आवृत्ती असते.</translation>
 <translation id="7486227612705979895">अॅड्रेस बारमध्ये सूचना देण्यासाठी Chrome तुमची ड्राइव्ह अॅक्सेस करेल</translation>
 <translation id="748945194546522577">ही फाईल धोकादायक आहे, त्यामुळे Chrome ने ती ब्लॉक केली आहे. तुम्ही प्रगत संरक्षणाद्वारे संरक्षित आहात.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pl.xtb b/chrome/app/resources/google_chrome_strings_pl.xtb
index df56e96e8..520d9347 100644
--- a/chrome/app/resources/google_chrome_strings_pl.xtb
+++ b/chrome/app/resources/google_chrome_strings_pl.xtb
@@ -169,6 +169,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">Plik <ph name="FILE_NAME" /> może być niebezpieczny, dlatego został zablokowany przez Chrome.</translation>
 <translation id="5686916850681061684">Dostosuj i kontroluj Google Chrome. Pewna kwestia wymaga Twojej uwagi – kliknij, by przejść do szczegółów.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome uruchomi się ponownie za sekundę}few{Google Chrome uruchomi się ponownie za # sekundy}many{Google Chrome uruchomi się ponownie za # sekund}other{Google Chrome uruchomi się ponownie za # sekundy}}</translation>
 <translation id="573759479754913123">System operacyjny Chrome – informacje</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -261,6 +262,7 @@
 <translation id="8286862437124483331">Google Chrome próbuje pokazać hasła. Podaj swoje hasło do Windows, by na to zezwolić.</translation>
 <translation id="8290100596633877290">O kurczę! Przeglądarka Google Chrome uległa awarii. Uruchomić ją teraz ponownie?</translation>
 <translation id="8342675569599923794">Ten plik jest niebezpieczny, dlatego został zablokowany przez Chrome.</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Wszelkie prawa zastrzeżone.</translation>
 <translation id="8380166467911888159">Aby naprawić błędy pisowni, Chrome wysyła tekst wpisany w polach tekstowych do Google</translation>
 <translation id="840084489713044809">Google Chrome chce wyeksportować Twoje hasła.</translation>
 <translation id="8406086379114794905">Pomóż ulepszać Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-BR.xtb b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
index 3f1ece6..ff281176 100644
--- a/chrome/app/resources/google_chrome_strings_pt-BR.xtb
+++ b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
@@ -169,6 +169,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">O arquivo <ph name="FILE_NAME" /> pode ser perigoso. Por isso, ele foi bloqueado pelo Chrome.</translation>
 <translation id="5686916850681061684">Personalize e controle o Google Chrome. Algo precisa da sua atenção. Clique para ver mais detalhes.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{O Google Chrome será reiniciado em 1 segundo}one{O Google Chrome será reiniciado em # segundo}other{O Google Chrome será reiniciado em # segundos}}</translation>
 <translation id="573759479754913123">Sobre o Chrome OS</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" />: Google Chrome Canary</translation>
@@ -261,6 +262,7 @@
 <translation id="8286862437124483331">O Google Chrome está tentando mostrar senhas. Digite sua senha do Windows para permitir isso.</translation>
 <translation id="8290100596633877290">Nossa! Houve uma falha no Google Chrome. Reiniciar agora?</translation>
 <translation id="8342675569599923794">Esse arquivo é perigoso, por isso ele foi bloqueado pelo Chrome.</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Todos os direitos reservados.</translation>
 <translation id="8380166467911888159">Para corrigir erros de ortografia, o Chrome envia ao Google o texto que você digita nos campos de texto</translation>
 <translation id="840084489713044809">O Google Chrome quer exportar suas senhas.</translation>
 <translation id="8406086379114794905">Ajudar a melhorar o Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-PT.xtb b/chrome/app/resources/google_chrome_strings_pt-PT.xtb
index a9fd94b..a224e666 100644
--- a/chrome/app/resources/google_chrome_strings_pt-PT.xtb
+++ b/chrome/app/resources/google_chrome_strings_pt-PT.xtb
@@ -168,6 +168,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598"><ph name="FILE_NAME" /> pode ser perigoso, por isso o Chrome bloqueou-o.</translation>
 <translation id="5686916850681061684">Personalize e controle o Google Chrome. É necessária a sua atenção – clique para obter detalhes.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{O Google Chrome será reiniciado dentro de 1 segundo}other{O Google Chrome será reiniciado dentro de # segundos}}</translation>
 <translation id="573759479754913123">Acerca do Chrome OS</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -260,6 +261,7 @@
 <translation id="8286862437124483331">O Google Chrome está a tentar mostrar palavras-passe. Escreva a sua palavra-passe do Windows para permitir esta ação.</translation>
 <translation id="8290100596633877290">Ups! O Google Chrome falhou. Reiniciar agora?</translation>
 <translation id="8342675569599923794">Este ficheiro é perigoso. Como tal, o Chrome bloqueou-o.</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Todos os direitos reservados.</translation>
 <translation id="8380166467911888159">Para corrigir erros ortográficos, o Chrome envia o texto que introduzir nos campos de texto para a Google.</translation>
 <translation id="840084489713044809">O Google Chrome pretende exportar as suas palavras-passe.</translation>
 <translation id="8406086379114794905">Ajude a melhorar o Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ro.xtb b/chrome/app/resources/google_chrome_strings_ro.xtb
index 553806e..9ab8a56e 100644
--- a/chrome/app/resources/google_chrome_strings_ro.xtb
+++ b/chrome/app/resources/google_chrome_strings_ro.xtb
@@ -168,6 +168,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">Este posibil ca <ph name="FILE_NAME" /> să fie periculos, așadar Chrome l-a blocat.</translation>
 <translation id="5686916850681061684">Personalizează și controlează Google Chrome. Ceva are nevoie de atenția ta – dă clic pentru detalii.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome va reporni într-o secundă}few{Google Chrome va reporni în # secunde}other{Google Chrome va reporni în # de secunde}}</translation>
 <translation id="573759479754913123">Despre sistemul de operare Chrome</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -260,6 +261,7 @@
 <translation id="8286862437124483331">Google Chrome încearcă să afișeze parolele. Pentru a permite acest lucru, introduceți parola pentru Windows.</translation>
 <translation id="8290100596633877290">Hopa! Google Chrome s-a blocat. Repornești acum?</translation>
 <translation id="8342675569599923794">Fișierul este periculos, așadar Chrome l-a blocat.</translation>
+<translation id="8370517070665726704">Drept de autor <ph name="YEAR" /> Google LLC. Toate drepturile rezervate.</translation>
 <translation id="8380166467911888159">Pentru a corecta erorile de scriere, Chrome trimite la Google textul pe care îl introduci în câmpurile de text</translation>
 <translation id="840084489713044809">Google Chrome vrea să îți exporte parolele.</translation>
 <translation id="8406086379114794905">Contribuie la îmbunătățirea Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sk.xtb b/chrome/app/resources/google_chrome_strings_sk.xtb
index 2ea21e35..40a4db53 100644
--- a/chrome/app/resources/google_chrome_strings_sk.xtb
+++ b/chrome/app/resources/google_chrome_strings_sk.xtb
@@ -174,6 +174,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">Súbor <ph name="FILE_NAME" /> môže byť nebezpečný, a preto ho Chrome zablokoval.</translation>
 <translation id="5686916850681061684">Prispôsobte a ovládajte Google Chrome. Vyžaduje sa vaša pozornosť. Podrobnosti získate kliknutím.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome sa reštartuje o 1 sekundu}few{Google Chrome sa reštartuje o # sekundy}many{Google Chrome sa reštartuje o # sekundy}other{Google Chrome sa reštartuje o # sekúnd}}</translation>
 <translation id="573759479754913123">Informácie o systéme Chrome OS</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -266,6 +267,7 @@
 <translation id="8286862437124483331">Prehliadač Google Chrome sa pokúša zobraziť heslá. Ak to chcete povoliť, zadajte svoje heslo systému Windows.</translation>
 <translation id="8290100596633877290">Google Chrome zlyhal. Chcete ho spustiť znova?</translation>
 <translation id="8342675569599923794">Tento súbor je nebezpečný, a preto ho Chrome zablokoval.</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Všetky práva vyhradené.</translation>
 <translation id="8380166467911888159">Chrome odošle text zadaný v textových poliach Googlu s cieľom opraviť pravopisné chyby</translation>
 <translation id="840084489713044809">Google Chrome sa pokúša exportovať vaše heslá.</translation>
 <translation id="8406086379114794905">Pomôžte nám Chrome zlepšiť</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr.xtb b/chrome/app/resources/google_chrome_strings_sr.xtb
index 39473c1..6d65ef7 100644
--- a/chrome/app/resources/google_chrome_strings_sr.xtb
+++ b/chrome/app/resources/google_chrome_strings_sr.xtb
@@ -176,6 +176,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598">Датотека <ph name="FILE_NAME" /> је можда опасна, па ју је Chrome блокирао.</translation>
 <translation id="5686916850681061684">Прилагодите и контролишите Google Chrome. Треба да обратите пажњу на нешто – кликните за више детаља.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome ће се рестартовати за 1 секунду}one{Google Chrome ће се рестартовати за # секунду}few{Google Chrome ће се рестартовати за # секунде}other{Google Chrome ће се рестартовати за # секунди}}</translation>
 <translation id="573759479754913123">О Chrome ОС-у</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -268,6 +269,7 @@
 <translation id="8286862437124483331">Google Chrome покушава да прикаже лозинке. Унесите лозинку за Windows да бисте то омогућили.</translation>
 <translation id="8290100596633877290">Опа! Google Chrome је отказао. Желите ли да га одмах поново покренете?</translation>
 <translation id="8342675569599923794">Ова датотека је опасна, па ју је Chrome блокирао.</translation>
+<translation id="8370517070665726704">Ауторска права <ph name="YEAR" />. Google LLC. Сва права задржана.</translation>
 <translation id="8380166467911888159">Да би исправио правописне грешке, Chrome шаље Google-овим серверима текст који уносите у поља за текст.</translation>
 <translation id="840084489713044809">Google Chrome жели да извезе лозинке.</translation>
 <translation id="8406086379114794905">Помозите нам да побољшамо Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sv.xtb b/chrome/app/resources/google_chrome_strings_sv.xtb
index cd97797..8cca303 100644
--- a/chrome/app/resources/google_chrome_strings_sv.xtb
+++ b/chrome/app/resources/google_chrome_strings_sv.xtb
@@ -176,6 +176,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598"><ph name="FILE_NAME" /> kan vara skadlig och har blockerats av Chrome.</translation>
 <translation id="5686916850681061684">Anpassa och styr Google Chrome. Någonting behöver ses över. Klicka här för mer information.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome startas om om en sekund}other{Google Chrome startas om om # sekunder}}</translation>
 <translation id="573759479754913123">Om Chrome OS</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> – Google Chrome Canary</translation>
@@ -268,6 +269,7 @@
 <translation id="8286862437124483331">Skriv ditt Windows-lösenord om du vill tillåta att lösenord visas i Google Chrome.</translation>
 <translation id="8290100596633877290">Hoppsan! Google Chrome har kraschat. Vill du starta om nu?</translation>
 <translation id="8342675569599923794">Filen är farlig och har blockerats av Chrome.</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Med ensamrätt.</translation>
 <translation id="8380166467911888159">Chrome skickar det du skriver i textfält till Google för att kontrollera stavningen</translation>
 <translation id="840084489713044809">Lösenorden exporteras från Google Chrome.</translation>
 <translation id="8406086379114794905">Hjälp till att göra Chrome bättre</translation>
diff --git a/chrome/app/resources/google_chrome_strings_th.xtb b/chrome/app/resources/google_chrome_strings_th.xtb
index 4bf9fba2..d32cb67 100644
--- a/chrome/app/resources/google_chrome_strings_th.xtb
+++ b/chrome/app/resources/google_chrome_strings_th.xtb
@@ -169,6 +169,7 @@
 <translation id="5566025111015594046">Google Chrome (mDNS-In)</translation>
 <translation id="565744775970812598"><ph name="FILE_NAME" /> อาจเป็นอันตราย Chrome จึงบล็อกไว้</translation>
 <translation id="5686916850681061684">ปรับแต่งและควบคุม Google Chrome มีสิ่งที่คุณจำเป็นต้องทราบ โปรดคลิกเพื่อดูรายละเอียด</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5715063361988620182">{SECONDS,plural, =1{Google Chrome จะรีสตาร์ทใน 1 วินาที}other{Google Chrome จะรีสตาร์ทใน # วินาที}}</translation>
 <translation id="573759479754913123">เกี่ยวกับ Chrome OS</translation>
 <translation id="5795887333006832406"><ph name="PAGE_TITLE" /> - Google Chrome Canary</translation>
@@ -261,6 +262,7 @@
 <translation id="8286862437124483331">Google Chrome กำลังพยายามแสดงรหัสผ่าน พิมพ์รหัสผ่าน Windows ของคุณเพื่อแสดงรหัสผ่าน</translation>
 <translation id="8290100596633877290">อ๊ะ! Google Chrome ขัดข้อง เปิดใหม่ตอนนี้หรือไม่</translation>
 <translation id="8342675569599923794">ไฟล์นี้อันตราย Chrome จึงบล็อกไว้</translation>
+<translation id="8370517070665726704">ลิขสิทธิ์ <ph name="YEAR" /> Google LLC สงวนลิขสิทธิ์</translation>
 <translation id="8380166467911888159">Chrome จะส่งข้อความที่คุณพิมพ์ในช่องข้อความไปยัง Google เพื่อแก้ไขข้อผิดพลาดของการสะกดคำ</translation>
 <translation id="840084489713044809">Google Chrome ต้องการส่งออกรหัสผ่านของคุณ</translation>
 <translation id="8406086379114794905">ช่วยปรับปรุง Chrome ให้ดีขึ้น</translation>
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
index ee79f98..61a8a8f6 100644
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -504,13 +504,13 @@
       Run Linux tools, editors, and IDEs on your <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>. &lt;a target="_blank" href="<ph name="URL">$2<ex>https://google.com/</ex></ph>"&gt;Learn more&lt;/a&gt;
     </message>
     <message name="IDS_SETTINGS_CROSTINI_REMOVE" desc="Label for the row to open a dialog confirming removal of Crostini.">
-      Remove Linux Apps for <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>
+      Remove Linux for <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph>
     </message>
     <message name="IDS_SETTINGS_CROSTINI_REMOVE_BUTTON" desc="Label for the button to open a dialog confirming removal of Crostini.">
       Remove
     </message>
     <message name="IDS_SETTINGS_CROSTINI_SHARED_PATHS" desc="Label for managing shared folders in Crostini.">
-      Manage shared files &amp; folders
+      Manage shared folders
     </message>
     <message name="IDS_SETTINGS_CROSTINI_SHARED_PATHS_LIST_HEADING" desc="Label for list of shared folders.">
       Shared folders
@@ -569,6 +569,21 @@
     <message name="IDS_SETTINGS_PLUGIN_VM_PRINTER_ACCESS" desc="The text associated with the primary section setting for Plugin VM." translateable="false">
       Give access to printers
     </message>
+    <message name="IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS" desc="Label for managing shared folders in Crostini.">
+      Manage shared folders
+    </message>
+    <message name="IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS_LIST_HEADING" desc="Label for list of shared folders.">
+      Shared folders
+    </message>
+    <message name="IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS_INSTRUCTIONS_ADD" desc="Instructions for how to add shared folders in Plugin VM.">
+      To share, right-click on a folder in Files app, then select "Share with Plugin VM".
+    </message>
+    <message name="IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS_INSTRUCTIONS_REMOVE" desc="Instructions for removing shared folders in Crostini.">
+      Removing folders from here will stop sharing but will not delete files.
+    </message>
+    <message name="IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS_REMOVE_SHARING" desc="Tooltip to show when hovering on the remove icon for a crostini shared folder.">
+      Remove sharing
+    </message>
 
     <!-- Android Apps Page -->
     <message name="IDS_SETTINGS_ANDROID_APPS_TITLE" desc="The title of Google Play Store (Arc++ / Android Apps) section.">
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 360cb63..a3bebd2c 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2500,6 +2500,11 @@
      flag_descriptions::kOmniboxSuggestionTransparencyOptionsDescription,
      kOsAll,
      FEATURE_VALUE_TYPE(omnibox::kOmniboxSuggestionTransparencyOptions)},
+    {"omnibox-ui-cues-for-search-history-matches",
+     flag_descriptions::kOmniboxUICuesForSearchHistoryMatchesName,
+     flag_descriptions::kOmniboxUICuesForSearchHistoryMatchesDescription,
+     kOsAll,
+     FEATURE_VALUE_TYPE(omnibox::kOmniboxUICuesForSearchHistoryMatches)},
     {"omnibox-drive-suggestions",
      flag_descriptions::kOmniboxDriveSuggestionsName,
      flag_descriptions::kOmniboxDriveSuggestionsDescriptions, kOsDesktop,
@@ -2713,12 +2718,6 @@
      flag_descriptions::kUseNewAcceptLanguageHeaderDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kUseNewAcceptLanguageHeader)},
 
-#if !defined(OS_ANDROID)
-    {"use-google-local-ntp", flag_descriptions::kUseGoogleLocalNtpName,
-     flag_descriptions::kUseGoogleLocalNtpDescription, kOsDesktop,
-     FEATURE_VALUE_TYPE(features::kUseGoogleLocalNtp)},
-#endif  // !defined(OS_ANDROID)
-
 #if defined(OS_CHROMEOS)
     {"handwriting-gesture", flag_descriptions::kHandwritingGestureName,
      flag_descriptions::kHandwritingGestureDescription, kOsCrOS,
@@ -2817,19 +2816,6 @@
 #endif  // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
 
 #if !defined(OS_ANDROID)
-    {"doodles-on-local-ntp", flag_descriptions::kDoodlesOnLocalNtpName,
-     flag_descriptions::kDoodlesOnLocalNtpDescription, kOsDesktop,
-     FEATURE_VALUE_TYPE(features::kDoodlesOnLocalNtp)},
-
-    {"search-suggestions-on-local-ntp",
-     flag_descriptions::kSearchSuggestionsOnLocalNtpName,
-     flag_descriptions::kSearchSuggestionsOnLocalNtpDescription, kOsDesktop,
-     FEATURE_VALUE_TYPE(features::kSearchSuggestionsOnLocalNtp)},
-
-    {"promos-on-local-ntp", flag_descriptions::kPromosOnLocalNtpName,
-     flag_descriptions::kPromosOnLocalNtpDescription, kOsDesktop,
-     FEATURE_VALUE_TYPE(features::kPromosOnLocalNtp)},
-
     {"remove-ntp-fakebox", flag_descriptions::kRemoveNtpFakeboxName,
      flag_descriptions::kRemoveNtpFakeboxDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kRemoveNtpFakebox)},
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index 6430b06..abb712a 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -1827,6 +1827,8 @@
     "printing/printer_info.h",
     "printing/printer_metrics_provider.cc",
     "printing/printer_metrics_provider.h",
+    "printing/printers_map.cc",
+    "printing/printers_map.h",
     "printing/printers_sync_bridge.cc",
     "printing/printers_sync_bridge.h",
     "printing/specifics_translation.cc",
@@ -2534,6 +2536,7 @@
     "printing/ppd_resolution_tracker_unittest.cc",
     "printing/printer_detector_test_util.h",
     "printing/printer_event_tracker_unittest.cc",
+    "printing/printers_map_unittest.cc",
     "printing/printers_sync_bridge_unittest.cc",
     "printing/specifics_translation_unittest.cc",
     "printing/synced_printers_manager_unittest.cc",
diff --git a/chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.cc b/chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.cc
index 6a45ddb..5d6b731b 100644
--- a/chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.cc
+++ b/chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.cc
@@ -16,6 +16,7 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/sessions/session_restore.h"
 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
+#include "chromeos/constants/chromeos_switches.h"
 #include "chromeos/cryptohome/cryptohome_parameters.h"
 #include "chromeos/dbus/dbus_thread_manager.h"
 #include "chromeos/dbus/session_manager/session_manager_client.h"
@@ -236,6 +237,13 @@
 }
 
 void ArcBootPhaseMonitorBridge::MaybeDisableCpuRestriction() {
+  // Unthrottle ARC instance if the instance is being tested, indicated by the
+  // disable cpu restriction switch.
+  if (chromeos::switches::IsArcCpuRestrictionDisabled() && delegate_) {
+    delegate_->DisableCpuRestriction();
+    return;
+  }
+
   if (throttle_)
     return;
   if (!extensions_ready_ || !enabled_by_policy_)
diff --git a/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.cc b/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.cc
index 035a64f9..8b9b91a 100644
--- a/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.cc
+++ b/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.cc
@@ -111,7 +111,17 @@
   auto_enrollment_state_ = new_auto_enrollment_state;
 
   // Make sure gears are in motion in the background.
-  auto_enrollment_controller_->Start();
+  // Note that if a previous auto-enrollment check ended with a failure,
+  // IsCompleted() would still return false, and Show would not report result
+  // early. In that case auto-enrollment check should be retried.
+  if (auto_enrollment_controller_->state() ==
+          policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR ||
+      auto_enrollment_controller_->state() ==
+          policy::AUTO_ENROLLMENT_STATE_SERVER_ERROR) {
+    auto_enrollment_controller_->Retry();
+  } else {
+    auto_enrollment_controller_->Start();
+  }
   network_portal_detector::GetInstance()->StartPortalDetection(
       false /* force */);
 }
diff --git a/chrome/browser/chromeos/login/login_manager_test.cc b/chrome/browser/chromeos/login/login_manager_test.cc
index f147a5c..46bb1d3 100644
--- a/chrome/browser/chromeos/login/login_manager_test.cc
+++ b/chrome/browser/chromeos/login/login_manager_test.cc
@@ -10,8 +10,6 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/command_line.h"
-#include "base/files/file_path.h"
-#include "base/path_service.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/chromeos/login/existing_user_controller.h"
@@ -19,7 +17,6 @@
 #include "chrome/browser/chromeos/login/session/user_session_manager_test_api.h"
 #include "chrome/browser/chromeos/login/test/fake_gaia_mixin.h"
 #include "chrome/browser/chromeos/login/ui/login_display_host_webui.h"
-#include "chrome/common/chrome_paths.h"
 #include "chromeos/constants/chromeos_switches.h"
 #include "chromeos/login/auth/key.h"
 #include "chromeos/login/auth/user_context.h"
@@ -60,24 +57,6 @@
 
 LoginManagerTest::~LoginManagerTest() {}
 
-void LoginManagerTest::SetUp() {
-  base::FilePath test_data_dir;
-  base::PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir);
-  embedded_test_server()->ServeFilesFromDirectory(test_data_dir);
-
-  // Don't spin up the IO thread yet since no threads are allowed while
-  // spawning sandbox host process. See crbug.com/322732.
-  ASSERT_TRUE(embedded_test_server()->InitializeAndListen());
-
-  MixinBasedInProcessBrowserTest::SetUp();
-}
-
-void LoginManagerTest::TearDownOnMainThread() {
-  MixinBasedInProcessBrowserTest::TearDownOnMainThread();
-
-  EXPECT_TRUE(embedded_test_server()->ShutdownAndWaitUntilComplete());
-}
-
 void LoginManagerTest::SetUpCommandLine(base::CommandLine* command_line) {
   if (force_webui_login_) {
     command_line->AppendSwitch(ash::switches::kShowWebUiLogin);
@@ -91,10 +70,7 @@
 void LoginManagerTest::SetUpOnMainThread() {
   LoginDisplayHostWebUI::DisableRestrictiveProxyCheckForTest();
 
-  // Start the accept thread as the sandbox host process has already been
-  // spawned.
   host_resolver()->AddRule("*", "127.0.0.1");
-  embedded_test_server()->StartAcceptingConnections();
 
   if (should_initialize_webui_) {
     content::WindowedNotificationObserver(
diff --git a/chrome/browser/chromeos/login/login_manager_test.h b/chrome/browser/chromeos/login/login_manager_test.h
index 6fdc115..233ec38 100644
--- a/chrome/browser/chromeos/login/login_manager_test.h
+++ b/chrome/browser/chromeos/login/login_manager_test.h
@@ -9,6 +9,7 @@
 
 #include "base/macros.h"
 #include "chrome/browser/chromeos/login/mixin_based_in_process_browser_test.h"
+#include "chrome/browser/chromeos/login/test/embedded_test_server_mixin.h"
 
 class AccountId;
 
@@ -28,11 +29,8 @@
                    bool should_initialize_webui);
   ~LoginManagerTest() override;
 
-  // InProcessBrowserTest:
-  void TearDownOnMainThread() override;
   void SetUpCommandLine(base::CommandLine* command_line) override;
   void SetUpOnMainThread() override;
-  void SetUp() override;
 
   // Registers the user with the given |user_id| on the device.
   // This method should be called in PRE_* test.
@@ -66,6 +64,8 @@
   bool force_webui_login_ = true;
   const bool should_launch_browser_;
   const bool should_initialize_webui_;
+  EmbeddedTestServerSetupMixin embedded_test_server_{&mixin_host_,
+                                                     embedded_test_server()};
 
   DISALLOW_COPY_AND_ASSIGN(LoginManagerTest);
 };
diff --git a/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc b/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc
new file mode 100644
index 0000000..93da9c71
--- /dev/null
+++ b/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc
@@ -0,0 +1,1131 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/login/screens/assistant_optin_flow_screen.h"
+
+#include <memory>
+#include <set>
+
+#include "base/bind.h"
+#include "base/files/file_path.h"
+#include "base/path_service.h"
+#include "base/run_loop.h"
+#include "base/strings/string_piece.h"
+#include "base/test/scoped_feature_list.h"
+#include "chrome/browser/chromeos/arc/voice_interaction/voice_interaction_controller_client.h"
+#include "chrome/browser/chromeos/login/login_wizard.h"
+#include "chrome/browser/chromeos/login/mixin_based_in_process_browser_test.h"
+#include "chrome/browser/chromeos/login/oobe_screen.h"
+#include "chrome/browser/chromeos/login/test/js_checker.h"
+#include "chrome/browser/chromeos/login/test/login_manager_mixin.h"
+#include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h"
+#include "chrome/browser/chromeos/login/ui/login_display_host.h"
+#include "chrome/browser/chromeos/login/wizard_controller.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/ui/ash/assistant/assistant_pref_util.h"
+#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
+#include "chrome/common/chrome_paths.h"
+#include "chromeos/constants/chromeos_switches.h"
+#include "chromeos/services/assistant/public/features.h"
+#include "chromeos/services/assistant/public/mojom/constants.mojom.h"
+#include "chromeos/services/assistant/public/mojom/settings.mojom.h"
+#include "chromeos/services/assistant/public/proto/settings_ui.pb.h"
+#include "components/arc/arc_prefs.h"
+#include "components/prefs/pref_service.h"
+#include "mojo/public/cpp/bindings/binding_set.h"
+#include "net/dns/mock_host_resolver.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 "services/service_manager/public/cpp/connector.h"
+#include "services/service_manager/public/cpp/service_filter.h"
+
+using net::test_server::BasicHttpResponse;
+using net::test_server::HttpRequest;
+using net::test_server::HttpResponse;
+
+namespace chromeos {
+
+namespace {
+
+constexpr char kTestUser[] = "test-user1@gmail.com";
+
+constexpr char kAssistantConsentToken[] = "consent_token";
+constexpr char kAssistantUiAuditKey[] = "ui_audit_key";
+
+chromeos::OobeUI* GetOobeUI() {
+  auto* host = chromeos::LoginDisplayHost::default_host();
+  return host ? host->GetOobeUI() : nullptr;
+}
+
+class FakeAssistantSettings
+    : public chromeos::assistant::mojom::AssistantSettingsManager {
+ public:
+  // Flags to configure GetSettings response.
+  static constexpr int CONSENT_UI_FLAGS_NONE = 0;
+  static constexpr int CONSENT_UI_FLAG_SKIP_ACTIVITY_CONTROL = 1;
+  static constexpr int CONSENT_UI_FLAG_SKIP_THIRD_PARTY_DISCLOSURE = 1 << 1;
+  static constexpr int CONSENT_UI_FLAG_ASK_EMAIL_OPT_IN = 1 << 2;
+
+  enum class SpeakerIdEnrollmentMode {
+    // On speaker enrollment request, the client will be notified that the
+    // enrollment is done immediately.
+    IMMEDIATE,
+    // Speaker enrollment requests will not respond immediately, test will have
+    // to run through enrollment responses by calling
+    // AdvanceSpeakerIdEnrollment().
+    STEP_BY_STEP
+  };
+
+  enum class OptIn {
+    ACTIVITY_CONTROL,
+    EMAIL,
+  };
+
+  FakeAssistantSettings() {
+    service_manager::Connector* connector =
+        content::BrowserContext::GetConnectorFor(
+            ProfileManager::GetActiveUserProfile());
+    connector->OverrideBinderForTesting(
+        service_manager::ServiceFilter::ByName(
+            chromeos::assistant::mojom::kServiceName),
+        chromeos::assistant::mojom::AssistantSettingsManager::Name_,
+        base::BindRepeating(&FakeAssistantSettings::Bind,
+                            base::Unretained(this)));
+  }
+  ~FakeAssistantSettings() override {
+    service_manager::Connector* connector =
+        content::BrowserContext::GetConnectorFor(
+            ProfileManager::GetActiveUserProfile());
+    connector->ClearBinderOverrideForTesting(
+        service_manager::ServiceFilter::ByName(
+            chromeos::assistant::mojom::kServiceName),
+        chromeos::assistant::mojom::AssistantSettingsManager::Name_);
+  }
+
+  void set_consent_ui_flags(int flags) { consent_ui_flags_ = flags; }
+
+  void set_speaker_id_enrollment_mode(SpeakerIdEnrollmentMode mode) {
+    speaker_id_enrollment_mode_ = mode;
+  }
+
+  const std::set<OptIn>& collected_optins() const { return collected_optins_; }
+
+  // Advances speaker ID enrollment to the next state.
+  // Returns whether the speaker ID enrollment state changed, which amounts to
+  // whether the speaker ID enrollment is currently in progress.
+  bool AdvanceSpeakerIdEnrollmentState() {
+    switch (speaker_id_enrollment_state_) {
+      case SpeakerIdEnrollmentState::IDLE:
+        return false;
+      case SpeakerIdEnrollmentState::REQUESTED:
+        speaker_id_enrollment_state_ = SpeakerIdEnrollmentState::LISTENING;
+        speaker_id_enrollment_client_->OnListeningHotword();
+        return true;
+      case SpeakerIdEnrollmentState::LISTENING:
+        speaker_id_enrollment_state_ = SpeakerIdEnrollmentState::PROCESSING;
+        speaker_id_enrollment_client_->OnProcessingHotword();
+        return true;
+      case SpeakerIdEnrollmentState::PROCESSING:
+        ++processed_hotwords_;
+        if (processed_hotwords_ == 4) {
+          speaker_id_enrollment_state_ = SpeakerIdEnrollmentState::IDLE;
+          speaker_id_enrollment_client_->OnSpeakerIdEnrollmentDone();
+        } else {
+          speaker_id_enrollment_state_ = SpeakerIdEnrollmentState::LISTENING;
+          speaker_id_enrollment_client_->OnListeningHotword();
+        }
+        return true;
+    }
+    return false;
+  }
+
+  bool IsSpeakerIdEnrollmentActive() const {
+    return speaker_id_enrollment_state_ != SpeakerIdEnrollmentState::IDLE;
+  }
+
+  void FailSpeakerIdEnrollment() {
+    ASSERT_NE(speaker_id_enrollment_state_, SpeakerIdEnrollmentState::IDLE);
+    std::move(speaker_id_enrollment_client_)->OnSpeakerIdEnrollmentFailure();
+    processed_hotwords_ = 0;
+    speaker_id_enrollment_state_ = SpeakerIdEnrollmentState::IDLE;
+  }
+
+  void Flush() { bindings_.FlushForTesting(); }
+
+  void Bind(mojo::ScopedMessagePipeHandle handle) {
+    bindings_.AddBinding(
+        this, chromeos::assistant::mojom::AssistantSettingsManagerRequest(
+                  std::move(handle)));
+  }
+
+  // chromeos::assistant::mojom::AssistantSettingsManager:
+  void GetSettings(const std::string& selector,
+                   GetSettingsCallback callback) override {
+    chromeos::assistant::SettingsUiSelector selector_proto;
+    ASSERT_TRUE(selector_proto.ParseFromString(selector));
+    EXPECT_FALSE(selector_proto.about_me_settings());
+    EXPECT_TRUE(selector_proto.has_consent_flow_ui_selector());
+    EXPECT_EQ(assistant::ActivityControlSettingsUiSelector::
+                  ASSISTANT_SUW_ONBOARDING_ON_CHROME_OS,
+              selector_proto.consent_flow_ui_selector().flow_id());
+
+    chromeos::assistant::SettingsUi settings_ui;
+    auto* consent_flow_ui = settings_ui.mutable_consent_flow_ui();
+    consent_flow_ui->set_consent_status(
+        chromeos::assistant::ConsentFlowUi_ConsentStatus_ASK_FOR_CONSENT);
+    consent_flow_ui->mutable_consent_ui()->set_accept_button_text("OK");
+    consent_flow_ui->mutable_consent_ui()->set_reject_button_text(
+        "No, thank you");
+
+    if (!(consent_ui_flags_ & CONSENT_UI_FLAG_SKIP_ACTIVITY_CONTROL)) {
+      auto* activity_control_ui =
+          consent_flow_ui->mutable_consent_ui()->mutable_activity_control_ui();
+      activity_control_ui->set_consent_token(kAssistantConsentToken);
+      activity_control_ui->set_ui_audit_key(kAssistantUiAuditKey);
+      activity_control_ui->set_title("Title");
+      activity_control_ui->set_identity(kTestUser);
+      activity_control_ui->add_intro_text_paragraph();
+      activity_control_ui->set_intro_text_paragraph(0, "Here's an intro");
+      activity_control_ui->add_footer_paragraph();
+      activity_control_ui->set_footer_paragraph(0, "A footer");
+      auto* setting = activity_control_ui->add_setting_zippy();
+      setting->set_title("Cool feature");
+      setting->add_description_paragraph();
+      setting->set_description_paragraph(0, "But needs consent");
+      setting->add_additional_info_paragraph();
+      setting->set_additional_info_paragraph(0, "And it's really cool");
+      setting->set_icon_uri("assistant_icon");
+    }
+
+    if (!(consent_ui_flags_ & CONSENT_UI_FLAG_SKIP_THIRD_PARTY_DISCLOSURE)) {
+      auto* third_party_disclosure = consent_flow_ui->mutable_consent_ui()
+                                         ->mutable_third_party_disclosure_ui();
+      third_party_disclosure->set_title("Third parties");
+      third_party_disclosure->set_button_continue("Continue");
+      auto* disclosure = third_party_disclosure->add_disclosures();
+      disclosure->set_title("Third party org");
+      disclosure->add_description_paragraph();
+      disclosure->set_description_paragraph(0, "They are not us");
+      disclosure->add_additional_info_paragraph();
+      disclosure->set_additional_info_paragraph(0, "But work with us");
+      disclosure->set_icon_uri("disclosure_icon");
+    }
+
+    if (selector_proto.email_opt_in() &&
+        (consent_ui_flags_ & CONSENT_UI_FLAG_ASK_EMAIL_OPT_IN)) {
+      auto* email_opt_in = settings_ui.mutable_email_opt_in_ui();
+      email_opt_in->set_title("Receive email upfates");
+      email_opt_in->set_description("It might be useful");
+      email_opt_in->set_legal_text("And you can opt out");
+      email_opt_in->set_default_enabled(false);
+      email_opt_in->set_icon_uri("fake icon url");
+      email_opt_in->set_accept_button_text("I'm in");
+    }
+
+    std::string message;
+    EXPECT_TRUE(settings_ui.SerializeToString(&message));
+    std::move(callback).Run(message);
+  }
+
+  void UpdateSettings(const std::string& update,
+                      UpdateSettingsCallback callback) override {
+    chromeos::assistant::SettingsUiUpdate update_proto;
+    ASSERT_TRUE(update_proto.ParseFromString(update));
+    EXPECT_FALSE(update_proto.has_about_me_settings_update());
+    EXPECT_FALSE(update_proto.has_assistant_device_settings_update());
+
+    chromeos::assistant::SettingsUiUpdateResult update_result;
+    if (update_proto.has_consent_flow_ui_update()) {
+      EXPECT_EQ(kAssistantConsentToken,
+                update_proto.consent_flow_ui_update().consent_token());
+      EXPECT_FALSE(
+          update_proto.consent_flow_ui_update().saw_third_party_disclosure());
+      EXPECT_EQ(assistant::ActivityControlSettingsUiSelector::
+                    ASSISTANT_SUW_ONBOARDING_ON_CHROME_OS,
+                update_proto.consent_flow_ui_update().flow_id());
+      collected_optins_.insert(OptIn::ACTIVITY_CONTROL);
+      update_result.mutable_consent_flow_update_result()->set_update_status(
+          assistant::ConsentFlowUiUpdateResult::SUCCESS);
+    }
+    if (update_proto.has_email_opt_in_update()) {
+      if (update_proto.email_opt_in_update().email_opt_in_update_state() ==
+          assistant::EmailOptInUpdate::OPT_IN) {
+        collected_optins_.insert(OptIn::EMAIL);
+      }
+
+      update_result.mutable_email_opt_in_update_result()->set_update_status(
+          assistant::EmailOptInUpdateResult::SUCCESS);
+    }
+
+    std::string message;
+    EXPECT_TRUE(update_result.SerializeToString(&message));
+    std::move(callback).Run(message);
+  }
+
+  void StartSpeakerIdEnrollment(
+      bool skip_cloud_enrollment,
+      chromeos::assistant::mojom::SpeakerIdEnrollmentClientPtr client)
+      override {
+    if (speaker_id_enrollment_mode_ == SpeakerIdEnrollmentMode::IMMEDIATE) {
+      client->OnSpeakerIdEnrollmentDone();
+      return;
+    }
+    ASSERT_FALSE(speaker_id_enrollment_client_);
+    processed_hotwords_ = 0;
+    speaker_id_enrollment_client_ = std::move(client);
+    speaker_id_enrollment_state_ = SpeakerIdEnrollmentState::REQUESTED;
+  }
+
+  void StopSpeakerIdEnrollment(
+      StopSpeakerIdEnrollmentCallback callback) override {
+    processed_hotwords_ = 0;
+    speaker_id_enrollment_state_ = SpeakerIdEnrollmentState::IDLE;
+    speaker_id_enrollment_client_.reset();
+    std::move(callback).Run();
+  }
+
+  void SyncSpeakerIdEnrollmentStatus() override {}
+
+ private:
+  enum class SpeakerIdEnrollmentState {
+    IDLE,
+    REQUESTED,
+    LISTENING,
+    PROCESSING
+  };
+
+  mojo::BindingSet<chromeos::assistant::mojom::AssistantSettingsManager>
+      bindings_;
+
+  // The service test config:
+  int consent_ui_flags_ = CONSENT_UI_FLAGS_NONE;
+  SpeakerIdEnrollmentMode speaker_id_enrollment_mode_ =
+      SpeakerIdEnrollmentMode::IMMEDIATE;
+
+  // Speaker ID enrollment state:
+  SpeakerIdEnrollmentState speaker_id_enrollment_state_ =
+      SpeakerIdEnrollmentState::IDLE;
+  assistant::mojom::SpeakerIdEnrollmentClientPtr speaker_id_enrollment_client_;
+  int processed_hotwords_ = 0;
+
+  // Set of opt ins given by the user.
+  std::set<OptIn> collected_optins_;
+
+  DISALLOW_COPY_AND_ASSIGN(FakeAssistantSettings);
+};
+
+}  // namespace
+
+class AssistantOptInFlowTest : public MixinBasedInProcessBrowserTest {
+ public:
+  AssistantOptInFlowTest() = default;
+  ~AssistantOptInFlowTest() override = default;
+
+  virtual void InitializeFeatureList() {
+    feature_list_.InitAndEnableFeature(switches::kAssistantFeature);
+  }
+
+  void SetUp() override {
+    InitializeFeatureList();
+
+    base::FilePath test_data_dir;
+    base::PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir);
+    https_server_.ServeFilesFromDirectory(test_data_dir);
+
+    https_server_.RegisterRequestHandler(base::BindRepeating(
+        &AssistantOptInFlowTest::HandleRequest, base::Unretained(this)));
+
+    // Don't spin up the IO thread yet since no threads are allowed while
+    // spawning sandbox host process. See crbug.com/322732.
+    ASSERT_TRUE(https_server_.InitializeAndListen());
+
+    MixinBasedInProcessBrowserTest::SetUp();
+  }
+
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    chromeos::MixinBasedInProcessBrowserTest::SetUpCommandLine(command_line);
+    // This prevents assistant setup flow dialog popping up immediately on user
+    // start - the test will show a different dialog once the setup is done.
+    command_line->AppendSwitch(switches::kOobeSkipPostLogin);
+  }
+  void SetUpOnMainThread() override {
+    https_server_.StartAcceptingConnections();
+
+    login_manager_.LoginAndWaitForSessionStart(
+        LoginManagerMixin::CreateDefaultUserContext(test_account_id_));
+
+    assistant_settings_ = std::make_unique<FakeAssistantSettings>();
+
+    ShowLoginWizard(OobeScreen::SCREEN_TEST_NO_WINDOW);
+
+    WizardController::default_controller()
+        ->screen_manager()
+        ->DeleteScreenForTesting(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+    auto assistant_optin_flow_screen =
+        std::make_unique<AssistantOptInFlowScreen>(
+            GetOobeUI()->GetAssistantOptInFlowScreenView(),
+            base::BindRepeating(&AssistantOptInFlowTest::HandleScreenExit,
+                                base::Unretained(this)));
+    assistant_optin_flow_screen_ = assistant_optin_flow_screen.get();
+    WizardController::default_controller()
+        ->screen_manager()
+        ->SetScreenForTesting(std::move(assistant_optin_flow_screen));
+
+    MixinBasedInProcessBrowserTest::SetUpOnMainThread();
+  }
+
+  void TearDownOnMainThread() override {
+    EXPECT_TRUE(https_server_.ShutdownAndWaitUntilComplete());
+    assistant_settings_.reset();
+    MixinBasedInProcessBrowserTest::TearDownOnMainThread();
+  }
+
+  // Waits for the OOBE UI to complete initialization, and overrides:
+  // *   the assistant value prop webview URL with the one provided by embedded
+  //     https proxy.
+  // *   the timeout delay for sending done user action from voice match screen.
+  void SetUpAssistantScreensForTest() {
+    base::RunLoop oobe_ready_waiter;
+    if (!GetOobeUI()->IsJSReady(oobe_ready_waiter.QuitClosure())) {
+      oobe_ready_waiter.Run();
+    }
+
+    std::string url_template =
+        https_server_.GetURL("/test_assistant/$/value_prop.html").spec();
+    test::OobeJS().Evaluate(
+        test::GetOobeElementPath({"assistant-optin-flow-card", "value-prop"}) +
+        ".setUrlTemplateForTesting('" + url_template + "')");
+    test::OobeJS().Evaluate(
+        test::GetOobeElementPath({"assistant-optin-flow-card", "voice-match"}) +
+        ".setDoneActionDelayForTesting(0)");
+  }
+
+  // Waits for the button specified by IDs in |button_path| to become enabled,
+  // and then taps it.
+  void TapWhenEnabled(std::initializer_list<base::StringPiece> button_path) {
+    test::OobeJS().CreateEnabledWaiter(true, button_path)->Wait();
+    test::OobeJS().TapOnPath(button_path);
+  }
+
+  void WaitForAssistantScreen(const std::string& screen) {
+    test::OobeJS()
+        .CreateVisibilityWaiter(true, {"assistant-optin-flow-card", screen})
+        ->Wait();
+  }
+
+  bool ElementHasAttribute(std::initializer_list<base::StringPiece> element,
+                           const std::string& attribute) {
+    return test::OobeJS().GetBool(test::GetOobeElementPath(element) +
+                                  ".getAttribute('" + attribute + "')");
+  }
+
+  void WaitForElementAttribute(std::initializer_list<base::StringPiece> element,
+                               const std::string& attribute) {
+    test::OobeJS()
+        .CreateWaiter(test::GetOobeElementPath(element) + ".getAttribute('" +
+                      attribute + "')")
+        ->Wait();
+  }
+
+  void ExpectCollectedOptIns(
+      const std::set<FakeAssistantSettings::OptIn>& opt_ins) {
+    assistant_settings_->Flush();
+    EXPECT_EQ(opt_ins, assistant_settings_->collected_optins());
+  }
+
+  void WaitForScreenExit() {
+    if (screen_exited_)
+      return;
+
+    base::RunLoop run_loop;
+    screen_exit_callback_ = run_loop.QuitClosure();
+    run_loop.Run();
+  }
+
+  AssistantOptInFlowScreen* assistant_optin_flow_screen_;
+
+  std::unique_ptr<FakeAssistantSettings> assistant_settings_;
+
+  // If set, HandleRequest will return errors for value prop URLs.
+  bool fail_value_prop_url_requests_ = false;
+
+  base::test::ScopedFeatureList feature_list_;
+
+ private:
+  std::unique_ptr<HttpResponse> HandleRequest(const HttpRequest& request) {
+    auto response = std::make_unique<BasicHttpResponse>();
+    if (request.relative_url != "/test_assistant/en_us/value_prop.html" ||
+        fail_value_prop_url_requests_) {
+      response->set_code(net::HTTP_NOT_FOUND);
+    } else {
+      response->set_code(net::HTTP_OK);
+      response->set_content("Test content");
+      response->set_content_type("text/plain");
+    }
+    return std::move(response);
+  }
+
+  void HandleScreenExit() {
+    ASSERT_FALSE(screen_exited_);
+    screen_exited_ = true;
+    if (screen_exit_callback_)
+      std::move(screen_exit_callback_).Run();
+  }
+
+  bool screen_exited_ = false;
+  base::OnceClosure screen_exit_callback_;
+
+  net::EmbeddedTestServer https_server_{net::EmbeddedTestServer::TYPE_HTTPS};
+
+  const AccountId test_account_id_ =
+      AccountId::FromUserEmailGaiaId(kTestUser, kTestUser);
+  LoginManagerMixin login_manager_{&mixin_host_, {test_account_id_}};
+};
+
+class AssistantOptInFlowTestWithDisabledAssistant
+    : public AssistantOptInFlowTest {
+ public:
+  AssistantOptInFlowTestWithDisabledAssistant() = default;
+  ~AssistantOptInFlowTestWithDisabledAssistant() override = default;
+
+  void InitializeFeatureList() override {
+    feature_list_.InitAndDisableFeature(switches::kAssistantFeature);
+  }
+};
+
+class AssistantOptInFlowTestWithVoiceMatchDisabled
+    : public AssistantOptInFlowTest {
+ public:
+  AssistantOptInFlowTestWithVoiceMatchDisabled() = default;
+  ~AssistantOptInFlowTestWithVoiceMatchDisabled() override = default;
+
+  void InitializeFeatureList() override {
+    feature_list_.InitWithFeatures({switches::kAssistantFeature},
+                                   {assistant::features::kAssistantVoiceMatch});
+  }
+};
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTestWithDisabledAssistant,
+                       ExitImmediately) {
+  assistant_optin_flow_screen_->Show();
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kUnknown,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTestWithVoiceMatchDisabled,
+                       EnableDuringSetup) {
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  SetUpAssistantScreensForTest();
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("value-prop");
+  TapWhenEnabled({"assistant-optin-flow-card", "value-prop", "next-button"});
+
+  WaitForAssistantScreen("third-party");
+  TapWhenEnabled({"assistant-optin-flow-card", "third-party", "next-button"});
+
+  WaitForAssistantScreen("get-more");
+
+  std::initializer_list<base::StringPiece> hotword_toggle = {
+      "assistant-optin-flow-card", "get-more", "toggle-hotword"};
+  test::OobeJS().ExpectVisiblePath(hotword_toggle);
+  EXPECT_TRUE(test::OobeJS().GetBool(test::GetOobeElementPath(hotword_toggle) +
+                                     ".checked"));
+
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({FakeAssistantSettings::OptIn::ACTIVITY_CONTROL});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTestWithVoiceMatchDisabled,
+                       KeepDisabled) {
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  SetUpAssistantScreensForTest();
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("value-prop");
+  TapWhenEnabled({"assistant-optin-flow-card", "value-prop", "next-button"});
+
+  WaitForAssistantScreen("third-party");
+  TapWhenEnabled({"assistant-optin-flow-card", "third-party", "next-button"});
+
+  WaitForAssistantScreen("get-more");
+
+  std::initializer_list<base::StringPiece> hotword_toggle = {
+      "assistant-optin-flow-card", "get-more", "toggle-hotword"};
+  test::OobeJS().ExpectVisiblePath(hotword_toggle);
+  EXPECT_TRUE(test::OobeJS().GetBool(test::GetOobeElementPath(hotword_toggle) +
+                                     ".checked"));
+  test::OobeJS().Evaluate(test::GetOobeElementPath(hotword_toggle) +
+                          ".click()");
+
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({FakeAssistantSettings::OptIn::ACTIVITY_CONTROL});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, Basic) {
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  SetUpAssistantScreensForTest();
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("value-prop");
+  TapWhenEnabled({"assistant-optin-flow-card", "value-prop", "next-button"});
+
+  WaitForAssistantScreen("third-party");
+  TapWhenEnabled({"assistant-optin-flow-card", "third-party", "next-button"});
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  WaitForAssistantScreen("get-more");
+  test::OobeJS().ExpectVisiblePath(
+      {"assistant-optin-flow-card", "get-more", "toggle-context"});
+
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({FakeAssistantSettings::OptIn::ACTIVITY_CONTROL});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, DisableScreenContext) {
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  SetUpAssistantScreensForTest();
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("value-prop");
+  TapWhenEnabled({"assistant-optin-flow-card", "value-prop", "next-button"});
+
+  WaitForAssistantScreen("third-party");
+  TapWhenEnabled({"assistant-optin-flow-card", "third-party", "next-button"});
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  WaitForAssistantScreen("get-more");
+
+  std::initializer_list<base::StringPiece> context_toggle = {
+      "assistant-optin-flow-card", "get-more", "toggle-context"};
+  test::OobeJS().ExpectVisiblePath(context_toggle);
+  test::OobeJS().Evaluate(test::GetOobeElementPath(context_toggle) +
+                          ".click()");
+
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({FakeAssistantSettings::OptIn::ACTIVITY_CONTROL});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest,
+                       VoiceInteractionStateUpdateAfterShow) {
+  SetUpAssistantScreensForTest();
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  // Value prop screen will not be sohwn  until it receives assistant settings
+  // config, which is blocked on voice interaction controller
+  // client getting out of NOT_READY state.
+  test::OobeJS().ExpectHiddenPath({"assistant-optin-flow-card", "value-prop"});
+  test::OobeJS().ExpectVisiblePath({"assistant-optin-flow-card", "loading"});
+
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  WaitForAssistantScreen("value-prop");
+  TapWhenEnabled({"assistant-optin-flow-card", "value-prop", "next-button"});
+
+  WaitForAssistantScreen("third-party");
+  TapWhenEnabled({"assistant-optin-flow-card", "third-party", "next-button"});
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  WaitForAssistantScreen("get-more");
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({FakeAssistantSettings::OptIn::ACTIVITY_CONTROL});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, RetryOnWebviewLoadFail) {
+  SetUpAssistantScreensForTest();
+  fail_value_prop_url_requests_ = true;
+
+  assistant_optin_flow_screen_->Show();
+
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  // Value prop webview requests are set to fail - loading screen should display
+  // an error and an option to retry the request.
+  WaitForAssistantScreen("loading");
+  fail_value_prop_url_requests_ = false;
+  TapWhenEnabled({"assistant-optin-flow-card", "loading", "retry-button"});
+
+  WaitForAssistantScreen("value-prop");
+  TapWhenEnabled({"assistant-optin-flow-card", "value-prop", "next-button"});
+
+  WaitForAssistantScreen("third-party");
+  TapWhenEnabled({"assistant-optin-flow-card", "third-party", "next-button"});
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  WaitForAssistantScreen("get-more");
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({FakeAssistantSettings::OptIn::ACTIVITY_CONTROL});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, RejectValueProp) {
+  SetUpAssistantScreensForTest();
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("value-prop");
+  TapWhenEnabled({"assistant-optin-flow-card", "value-prop", "skip-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kUnknown,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, AskEmailOptIn_NotChecked) {
+  assistant_settings_->set_consent_ui_flags(
+      FakeAssistantSettings::CONSENT_UI_FLAG_ASK_EMAIL_OPT_IN);
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  SetUpAssistantScreensForTest();
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("value-prop");
+  TapWhenEnabled({"assistant-optin-flow-card", "value-prop", "next-button"});
+
+  WaitForAssistantScreen("third-party");
+  TapWhenEnabled({"assistant-optin-flow-card", "third-party", "next-button"});
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  WaitForAssistantScreen("get-more");
+  test::OobeJS().ExpectVisiblePath(
+      {"assistant-optin-flow-card", "get-more", "toggle-email"});
+  test::OobeJS().ExpectEnabledPath(
+      {"assistant-optin-flow-card", "get-more", "toggle-email"});
+
+  // Complete flow without checking the email opt-in toggle.
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({FakeAssistantSettings::OptIn::ACTIVITY_CONTROL});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, AskEmailOptIn_Accepted) {
+  assistant_settings_->set_consent_ui_flags(
+      FakeAssistantSettings::CONSENT_UI_FLAG_ASK_EMAIL_OPT_IN);
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  SetUpAssistantScreensForTest();
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("value-prop");
+  TapWhenEnabled({"assistant-optin-flow-card", "value-prop", "next-button"});
+
+  WaitForAssistantScreen("third-party");
+  TapWhenEnabled({"assistant-optin-flow-card", "third-party", "next-button"});
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  WaitForAssistantScreen("get-more");
+  test::OobeJS().ExpectVisiblePath(
+      {"assistant-optin-flow-card", "get-more", "toggle-email"});
+
+  std::initializer_list<base::StringPiece> email_toggle = {
+      "assistant-optin-flow-card", "get-more", "toggle-email"};
+  test::OobeJS().ExpectVisiblePath(email_toggle);
+  test::OobeJS().Evaluate(test::GetOobeElementPath(email_toggle) + ".click()");
+
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({FakeAssistantSettings::OptIn::ACTIVITY_CONTROL,
+                         FakeAssistantSettings::OptIn::EMAIL});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, SkipShowingValueProp) {
+  assistant_settings_->set_consent_ui_flags(
+      FakeAssistantSettings::CONSENT_UI_FLAG_SKIP_ACTIVITY_CONTROL);
+
+  SetUpAssistantScreensForTest();
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("third-party");
+  TapWhenEnabled({"assistant-optin-flow-card", "third-party", "next-button"});
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  WaitForAssistantScreen("get-more");
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest,
+                       SkipShowingValuePropAndThirdPartyDisclosure) {
+  assistant_settings_->set_consent_ui_flags(
+      FakeAssistantSettings::CONSENT_UI_FLAG_SKIP_ACTIVITY_CONTROL |
+      FakeAssistantSettings::CONSENT_UI_FLAG_SKIP_THIRD_PARTY_DISCLOSURE);
+
+  SetUpAssistantScreensForTest();
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  WaitForAssistantScreen("get-more");
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, SpeakerIdEnrollment) {
+  assistant_settings_->set_consent_ui_flags(
+      FakeAssistantSettings::CONSENT_UI_FLAG_SKIP_ACTIVITY_CONTROL |
+      FakeAssistantSettings::CONSENT_UI_FLAG_SKIP_THIRD_PARTY_DISCLOSURE);
+  assistant_settings_->set_speaker_id_enrollment_mode(
+      FakeAssistantSettings::SpeakerIdEnrollmentMode::STEP_BY_STEP);
+
+  SetUpAssistantScreensForTest();
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-0"}, "active");
+  test::OobeJS().ExpectVisiblePath(
+      {"assistant-optin-flow-card", "voice-match", "later-button"});
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-0"},
+      "completed");
+  test::OobeJS().ExpectVisiblePath(
+      {"assistant-optin-flow-card", "voice-match", "later-button"});
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-1"}, "active");
+  test::OobeJS().ExpectVisiblePath(
+      {"assistant-optin-flow-card", "voice-match", "later-button"});
+
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-1"},
+      "completed");
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-2"}, "active");
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-2"},
+      "completed");
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-3"}, "active");
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-3"},
+      "completed");
+  test::OobeJS().ExpectHiddenPath(
+      {"assistant-optin-flow-card", "voice-match", "later-button"});
+
+  // This should finish the enrollment, and move the UI to get-more screen.
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  EXPECT_FALSE(assistant_settings_->IsSpeakerIdEnrollmentActive());
+
+  WaitForAssistantScreen("get-more");
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest,
+                       BailOutDuringSpeakerIdEnrollment) {
+  assistant_settings_->set_consent_ui_flags(
+      FakeAssistantSettings::CONSENT_UI_FLAG_SKIP_ACTIVITY_CONTROL |
+      FakeAssistantSettings::CONSENT_UI_FLAG_SKIP_THIRD_PARTY_DISCLOSURE);
+  assistant_settings_->set_speaker_id_enrollment_mode(
+      FakeAssistantSettings::SpeakerIdEnrollmentMode::STEP_BY_STEP);
+
+  SetUpAssistantScreensForTest();
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-0"}, "active");
+  test::OobeJS().ExpectVisiblePath(
+      {"assistant-optin-flow-card", "voice-match", "later-button"});
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-0"},
+      "completed");
+
+  test::OobeJS().TapOnPath(
+      {"assistant-optin-flow-card", "voice-match", "later-button"});
+  assistant_settings_->Flush();
+  EXPECT_FALSE(assistant_settings_->IsSpeakerIdEnrollmentActive());
+
+  WaitForAssistantScreen("get-more");
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_FALSE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest,
+                       SpeakerIdEnrollmentFailureAndRetry) {
+  assistant_settings_->set_consent_ui_flags(
+      FakeAssistantSettings::CONSENT_UI_FLAG_SKIP_ACTIVITY_CONTROL |
+      FakeAssistantSettings::CONSENT_UI_FLAG_SKIP_THIRD_PARTY_DISCLOSURE);
+  assistant_settings_->set_speaker_id_enrollment_mode(
+      FakeAssistantSettings::SpeakerIdEnrollmentMode::STEP_BY_STEP);
+
+  SetUpAssistantScreensForTest();
+  arc::VoiceInteractionControllerClient::Get()->NotifyStatusChanged(
+      ash::mojom::VoiceInteractionState::STOPPED);
+
+  assistant_optin_flow_screen_->Show();
+
+  OobeScreenWaiter screen_waiter(OobeScreen::SCREEN_ASSISTANT_OPTIN_FLOW);
+  screen_waiter.set_assert_next_screen();
+  screen_waiter.Wait();
+
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  assistant_settings_->Flush();
+  ASSERT_TRUE(assistant_settings_->AdvanceSpeakerIdEnrollmentState());
+  WaitForElementAttribute(
+      {"assistant-optin-flow-card", "voice-match", "voice-entry-0"}, "active");
+  test::OobeJS().ExpectVisiblePath(
+      {"assistant-optin-flow-card", "voice-match", "later-button"});
+
+  assistant_settings_->Flush();
+  assistant_settings_->FailSpeakerIdEnrollment();
+
+  // Failure should cause an error screen to be shown, with retry button
+  // available.
+  WaitForAssistantScreen("loading");
+
+  // Make enrollment succeed immediately next time.
+  assistant_settings_->set_speaker_id_enrollment_mode(
+      FakeAssistantSettings::SpeakerIdEnrollmentMode::IMMEDIATE);
+
+  TapWhenEnabled({"assistant-optin-flow-card", "loading", "retry-button"});
+
+  WaitForAssistantScreen("voice-match");
+  TapWhenEnabled({"assistant-optin-flow-card", "voice-match", "agree-button"});
+
+  WaitForAssistantScreen("get-more");
+  TapWhenEnabled({"assistant-optin-flow-card", "get-more", "next-button"});
+
+  WaitForScreenExit();
+
+  ExpectCollectedOptIns({});
+  PrefService* const prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
+  EXPECT_EQ(ash::mojom::ConsentStatus::kActivityControlAccepted,
+            ::assistant::prefs::GetConsentStatus(prefs));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled));
+  EXPECT_TRUE(prefs->GetBoolean(arc::prefs::kVoiceInteractionContextEnabled));
+}
+
+}  // namespace chromeos
diff --git a/chrome/browser/chromeos/login/test/embedded_test_server_mixin.cc b/chrome/browser/chromeos/login/test/embedded_test_server_mixin.cc
new file mode 100644
index 0000000..38514840
--- /dev/null
+++ b/chrome/browser/chromeos/login/test/embedded_test_server_mixin.cc
@@ -0,0 +1,37 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/login/test/embedded_test_server_mixin.h"
+
+#include "base/files/file_path.h"
+#include "base/path_service.h"
+#include "chrome/common/chrome_paths.h"
+
+namespace chromeos {
+
+EmbeddedTestServerSetupMixin::EmbeddedTestServerSetupMixin(
+    InProcessBrowserTestMixinHost* host,
+    net::EmbeddedTestServer* server)
+    : InProcessBrowserTestMixin(host), embedded_test_server_(server) {}
+
+EmbeddedTestServerSetupMixin::~EmbeddedTestServerSetupMixin() = default;
+
+void EmbeddedTestServerSetupMixin::SetUp() {
+  base::PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_);
+  embedded_test_server_->ServeFilesFromDirectory(test_data_dir_);
+  // Don't spin up the IO thread yet since no threads are allowed while
+  // spawning sandbox host process. See crbug.com/322732.
+  ASSERT_TRUE(embedded_test_server_->InitializeAndListen());
+}
+
+void EmbeddedTestServerSetupMixin::SetUpOnMainThread() {
+  embedded_test_server_->StartAcceptingConnections();
+}
+
+void EmbeddedTestServerSetupMixin::TearDownOnMainThread() {
+  // Embedded test server should always be shutdown after any https forwarders.
+  EXPECT_TRUE(embedded_test_server_->ShutdownAndWaitUntilComplete());
+}
+
+}  // namespace chromeos
diff --git a/chrome/browser/chromeos/login/test/embedded_test_server_mixin.h b/chrome/browser/chromeos/login/test/embedded_test_server_mixin.h
new file mode 100644
index 0000000..59f007e
--- /dev/null
+++ b/chrome/browser/chromeos/login/test/embedded_test_server_mixin.h
@@ -0,0 +1,38 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_TEST_EMBEDDED_TEST_SERVER_MIXIN_H_
+#define CHROME_BROWSER_CHROMEOS_LOGIN_TEST_EMBEDDED_TEST_SERVER_MIXIN_H_
+
+#include "chrome/browser/chromeos/login/mixin_based_in_process_browser_test.h"
+#include "net/test/embedded_test_server/embedded_test_server.h"
+
+namespace chromeos {
+
+// An InProcessBrowserTestMixin that sets up an embedded test server
+// to serve data from test data directory.
+class EmbeddedTestServerSetupMixin : public InProcessBrowserTestMixin {
+ public:
+  EmbeddedTestServerSetupMixin(InProcessBrowserTestMixinHost* host,
+                               net::EmbeddedTestServer* server);
+  ~EmbeddedTestServerSetupMixin() override;
+
+  // InProcessBrowserTestMixin:
+  void SetUp() override;
+  void TearDownOnMainThread() override;
+  void SetUpOnMainThread() override;
+
+ private:
+  // Path to directory served by embedded test server.
+  base::FilePath test_data_dir_;
+
+  // Embedded test server owned by test that uses this mixin.
+  net::EmbeddedTestServer* embedded_test_server_;
+
+  DISALLOW_COPY_AND_ASSIGN(EmbeddedTestServerSetupMixin);
+};
+
+}  // namespace chromeos
+
+#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_TEST_EMBEDDED_TEST_SERVER_MIXIN_H_
diff --git a/chrome/browser/chromeos/login/test/login_manager_mixin.cc b/chrome/browser/chromeos/login/test/login_manager_mixin.cc
index 4c8b8a652..8f581b4bb 100644
--- a/chrome/browser/chromeos/login/test/login_manager_mixin.cc
+++ b/chrome/browser/chromeos/login/test/login_manager_mixin.cc
@@ -6,17 +6,25 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "base/command_line.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/chrome_browser_main.h"
 #include "chrome/browser/chrome_browser_main_extra_parts.h"
+#include "chrome/browser/chromeos/login/existing_user_controller.h"
 #include "chrome/browser/chromeos/login/session/user_session_manager.h"
 #include "chrome/browser/chromeos/login/session/user_session_manager_test_api.h"
+#include "chrome/browser/chromeos/login/signin_specifics.h"
 #include "chrome/browser/chromeos/login/startup_utils.h"
 #include "chromeos/constants/chromeos_switches.h"
+#include "chromeos/login/auth/key.h"
+#include "chromeos/login/auth/stub_authenticator_builder.h"
+#include "chromeos/login/auth/user_context.h"
 #include "components/prefs/pref_service.h"
 #include "components/prefs/scoped_user_pref_update.h"
+#include "components/session_manager/core/session_manager.h"
+#include "components/session_manager/core/session_manager_observer.h"
 #include "components/user_manager/fake_user_manager.h"
 #include "components/user_manager/known_user.h"
 #include "components/user_manager/scoped_user_manager.h"
@@ -66,8 +74,56 @@
   DISALLOW_COPY_AND_ASSIGN(TestUserRegistrationMainExtra);
 };
 
+// Used to wait for session manager to get into a specific session state.
+class SessionStateWaiter : public session_manager::SessionManagerObserver {
+ public:
+  explicit SessionStateWaiter(session_manager::SessionState target_state)
+      : target_state_(target_state) {}
+  ~SessionStateWaiter() override = default;
+
+  void Wait() {
+    if (session_manager::SessionManager::Get()->session_state() ==
+        target_state_) {
+      return;
+    }
+    session_observer_.Add(session_manager::SessionManager::Get());
+
+    base::RunLoop run_loop;
+    session_state_callback_ = run_loop.QuitClosure();
+    run_loop.Run();
+
+    session_observer_.RemoveAll();
+  }
+
+  // session_manager::SessionManagerObserver:
+  void OnSessionStateChanged() override {
+    if (session_manager::SessionManager::Get()->session_state() ==
+            target_state_ &&
+        session_state_callback_) {
+      std::move(session_state_callback_).Run();
+    }
+  }
+
+ private:
+  session_manager::SessionState target_state_;
+  base::OnceClosure session_state_callback_;
+  ScopedObserver<session_manager::SessionManager, SessionStateWaiter>
+      session_observer_{this};
+
+  DISALLOW_COPY_AND_ASSIGN(SessionStateWaiter);
+};
+
 }  // namespace
 
+// static
+UserContext LoginManagerMixin::CreateDefaultUserContext(
+    const AccountId& account_id) {
+  UserContext user_context(user_manager::UserType::USER_TYPE_REGULAR,
+                           account_id);
+  user_context.SetKey(Key("password"));
+  return user_context;
+}
+
 LoginManagerMixin::LoginManagerMixin(
     InProcessBrowserTestMixinHost* host,
     const std::vector<AccountId>& initial_users)
@@ -94,4 +150,19 @@
   session_manager_test_api.SetShouldObtainTokenHandleInTests(false);
 }
 
+bool LoginManagerMixin::LoginAndWaitForSessionStart(
+    const UserContext& user_context) {
+  test::UserSessionManagerTestApi(UserSessionManager::GetInstance())
+      .InjectAuthenticatorBuilder(
+          std::make_unique<StubAuthenticatorBuilder>(user_context));
+
+  ExistingUserController::current_controller()->Login(user_context,
+                                                      SigninSpecifics());
+  SessionStateWaiter(session_manager::SessionState::ACTIVE).Wait();
+  user_manager::User* active_user =
+      user_manager::UserManager::Get()->GetActiveUser();
+  return active_user &&
+         active_user->GetAccountId() == user_context.GetAccountId();
+}
+
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/login/test/login_manager_mixin.h b/chrome/browser/chromeos/login/test/login_manager_mixin.h
index 35c50b8..58d9972 100644
--- a/chrome/browser/chromeos/login/test/login_manager_mixin.h
+++ b/chrome/browser/chromeos/login/test/login_manager_mixin.h
@@ -13,6 +13,8 @@
 
 namespace chromeos {
 
+class UserContext;
+
 // Mixin browser tests can use for setting up test login manager environment.
 // It sets up command line so test starts on the login screen UI, and
 // initializes user manager with a list of pre-registered users.
@@ -20,6 +22,10 @@
 // suitable for OOBE tests.
 class LoginManagerMixin : public InProcessBrowserTestMixin {
  public:
+  // Convenience method for creating default UserContext for an account ID. The
+  // result can be used with Login* methods below.
+  static UserContext CreateDefaultUserContext(const AccountId& account_id);
+
   LoginManagerMixin(InProcessBrowserTestMixinHost* host,
                     const std::vector<AccountId>& initial_users);
   ~LoginManagerMixin() override;
@@ -30,6 +36,11 @@
       content::BrowserMainParts* browser_main_parts) override;
   void SetUpOnMainThread() override;
 
+  // Logs in a user and waits for the session to become active.
+  // Currently works for the primary user only.
+  // Returns whether the newly logged in user is active when the method exits.
+  bool LoginAndWaitForSessionStart(const UserContext& user_context);
+
  private:
   const std::vector<AccountId> initial_users_;
 
diff --git a/chrome/browser/chromeos/login/test/oobe_base_test.cc b/chrome/browser/chromeos/login/test/oobe_base_test.cc
index 74d4484..5cca82d 100644
--- a/chrome/browser/chromeos/login/test/oobe_base_test.cc
+++ b/chrome/browser/chromeos/login/test/oobe_base_test.cc
@@ -8,7 +8,6 @@
 #include "base/bind.h"
 #include "base/command_line.h"
 #include "base/location.h"
-#include "base/path_service.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
@@ -23,7 +22,6 @@
 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
 #include "chrome/browser/ui/webui/signin/signin_utils.h"
-#include "chrome/common/chrome_paths.h"
 #include "chrome/common/chrome_switches.h"
 #include "chromeos/constants/chromeos_switches.h"
 #include "chromeos/dbus/shill/fake_shill_manager_client.h"
@@ -50,17 +48,7 @@
 void OobeBaseTest::RegisterAdditionalRequestHandlers() {}
 
 void OobeBaseTest::SetUp() {
-  base::FilePath test_data_dir;
-  base::PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir);
-  embedded_test_server()->ServeFilesFromDirectory(test_data_dir);
-
   RegisterAdditionalRequestHandlers();
-
-
-  // Don't spin up the IO thread yet since no threads are allowed while
-  // spawning sandbox host process. See crbug.com/322732.
-  ASSERT_TRUE(embedded_test_server()->InitializeAndListen());
-
   MixinBasedInProcessBrowserTest::SetUp();
 }
 
@@ -77,10 +65,7 @@
 }
 
 void OobeBaseTest::SetUpOnMainThread() {
-  // Start the accept thread as the sandbox host process has already been
-  // spawned.
   host_resolver()->AddRule("*", "127.0.0.1");
-  embedded_test_server()->StartAcceptingConnections();
 
   login_screen_load_observer_.reset(new content::WindowedNotificationObserver(
       chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
@@ -95,16 +80,9 @@
   if (ShouldWaitForOobeUI()) {
     WaitForOobeUI();
   }
-
   MixinBasedInProcessBrowserTest::SetUpOnMainThread();
 }
 
-void OobeBaseTest::TearDownOnMainThread() {
-  MixinBasedInProcessBrowserTest::TearDownOnMainThread();
-  // Embedded test server should always be shutdown after any https forwarders.
-  EXPECT_TRUE(embedded_test_server()->ShutdownAndWaitUntilComplete());
-}
-
 bool OobeBaseTest::ShouldForceWebUiLogin() {
   return true;
 }
diff --git a/chrome/browser/chromeos/login/test/oobe_base_test.h b/chrome/browser/chromeos/login/test/oobe_base_test.h
index 76c126a3..566d898 100644
--- a/chrome/browser/chromeos/login/test/oobe_base_test.h
+++ b/chrome/browser/chromeos/login/test/oobe_base_test.h
@@ -9,6 +9,7 @@
 
 #include "base/macros.h"
 #include "chrome/browser/chromeos/login/mixin_based_in_process_browser_test.h"
+#include "chrome/browser/chromeos/login/test/embedded_test_server_mixin.h"
 #include "chrome/browser/chromeos/login/test/js_checker.h"
 
 namespace content {
@@ -33,7 +34,6 @@
   void SetUp() override;
   void SetUpCommandLine(base::CommandLine* command_line) override;
   void SetUpOnMainThread() override;
-  void TearDownOnMainThread() override;
 
   // If this returns true (default), the |ash::switches::kShowWebUiLogin|
   // command-line switch is passed to force the Web Ui Login.
@@ -66,6 +66,8 @@
       login_screen_load_observer_;
   std::string gaia_frame_parent_ = "signin-frame";
   std::string authenticator_id_ = "$('gaia-signin').gaiaAuthHost_";
+  EmbeddedTestServerSetupMixin embedded_test_server_{&mixin_host_,
+                                                     embedded_test_server()};
 
   DISALLOW_COPY_AND_ASSIGN(OobeBaseTest);
 };
diff --git a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc
index 7c8e0de7..52b57cd 100644
--- a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc
+++ b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc
@@ -2629,9 +2629,8 @@
   DISALLOW_COPY_AND_ASSIGN(WizardControllerDemoSetupDeviceDisabledTest);
 };
 
-// Flaky https://crbug.com/894384.
 IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupDeviceDisabledTest,
-                       DISABLED_OnlineDemoSetup) {
+                       OnlineDemoSetup) {
   CheckCurrentScreen(OobeScreen::SCREEN_OOBE_WELCOME);
   EXPECT_FALSE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
   WaitUntilJSIsReady();
@@ -2698,8 +2697,9 @@
   WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR);
 
   // The error screen shows up if device state could not be retrieved.
-  EXPECT_EQ(GetErrorScreen(),
-            WizardController::default_controller()->current_screen());
+  CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
+  EXPECT_EQ(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK,
+            GetErrorScreen()->GetParentScreen());
   base::DictionaryValue device_state;
   device_state.SetString(policy::kDeviceStateMode,
                          policy::kDeviceStateRestoreModeDisabled);
@@ -2710,6 +2710,8 @@
   EXPECT_CALL(*device_disabled_screen_view_, Show()).Times(1);
   mock_auto_enrollment_check_screen_->ExitScreen();
 
+  base::RunLoop().RunUntilIdle();
+
   ResetAutoEnrollmentCheckScreen();
   CheckCurrentScreen(OobeScreen::SCREEN_DEVICE_DISABLED);
 
diff --git a/chrome/browser/chromeos/printing/printers_map.cc b/chrome/browser/chromeos/printing/printers_map.cc
new file mode 100644
index 0000000..e33de55
--- /dev/null
+++ b/chrome/browser/chromeos/printing/printers_map.cc
@@ -0,0 +1,131 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/printing/printers_map.h"
+
+#include "base/stl_util.h"
+
+namespace chromeos {
+namespace {
+
+bool IsProtocolSecure(const Printer& printer) {
+  return !printer.HasNetworkProtocol() ||
+         printer.GetProtocol() == Printer::kIpps;
+}
+
+}  // namespace
+
+PrintersMap::PrintersMap() = default;
+PrintersMap::~PrintersMap() = default;
+
+base::Optional<Printer> PrintersMap::Get(const std::string& printer_id) const {
+  for (const auto& kv : printers_) {
+    const PrinterClass& printer_class = kv.first;
+    const auto& printer_list = kv.second;
+    if (IsPrinterInClass(printer_class, printer_id)) {
+      return printer_list.at(printer_id);
+    }
+  }
+  return base::nullopt;
+}
+
+base::Optional<Printer> PrintersMap::Get(PrinterClass printer_class,
+                                         const std::string& printer_id) const {
+  if (!IsPrinterInClass(printer_class, printer_id)) {
+    return base::nullopt;
+  }
+
+  return printers_.at(printer_class).at(printer_id);
+}
+
+std::vector<Printer> PrintersMap::Get(PrinterClass printer_class) const {
+  if (!HasPrintersInClass(printer_class)) {
+    return std::vector<Printer>();
+  }
+
+  std::vector<Printer> result;
+  result.reserve(printers_.at(printer_class).size());
+  for (const auto& kv : printers_.at(printer_class)) {
+    const Printer& printer = kv.second;
+    result.push_back(printer);
+  }
+
+  return result;
+}
+
+std::vector<Printer> PrintersMap::Get() const {
+  std::vector<Printer> result;
+  for (const auto& outer_map_entry : printers_) {
+    const auto& printer_class = outer_map_entry.second;
+    for (const auto& inner_map_entry : printer_class) {
+      const Printer& printer = inner_map_entry.second;
+      result.push_back(printer);
+    }
+  }
+  return result;
+}
+
+void PrintersMap::Insert(PrinterClass printer_class, const Printer& printer) {
+  DCHECK(!IsExistingPrinter(printer.id()));
+
+  printers_[printer_class][printer.id()] = printer;
+}
+
+void PrintersMap::Clear(PrinterClass printer_class) {
+  printers_[printer_class].clear();
+}
+
+void PrintersMap::ReplacePrintersInClass(PrinterClass printer_class,
+                                         const std::vector<Printer>& printers) {
+  Clear(printer_class);
+  for (const auto& printer : printers) {
+    Insert(printer_class, printer);
+  }
+}
+
+std::vector<Printer> PrintersMap::GetSecurePrinters() const {
+  std::vector<Printer> result;
+  for (const auto& kv : printers_) {
+    const PrinterClass& printer_class = kv.first;
+    auto printers = GetSecurePrinters(printer_class);
+    result.insert(result.end(), std::make_move_iterator(printers.begin()),
+                  std::make_move_iterator(printers.end()));
+  }
+
+  return result;
+}
+
+std::vector<Printer> PrintersMap::GetSecurePrinters(
+    PrinterClass printer_class) const {
+  if (!HasPrintersInClass(printer_class)) {
+    return std::vector<Printer>();
+  }
+
+  std::vector<Printer> result;
+  result.reserve(printers_.at(printer_class).size());
+  for (const auto& kv : printers_.at(printer_class)) {
+    const Printer& printer = kv.second;
+    if (IsProtocolSecure(printer)) {
+      result.push_back(printer);
+    }
+  }
+
+  return result;
+}
+
+bool PrintersMap::HasPrintersInClass(PrinterClass printer_class) const {
+  return base::ContainsKey(printers_, printer_class);
+}
+
+bool PrintersMap::IsPrinterInClass(PrinterClass printer_class,
+                                   const std::string& printer_id) const {
+  return HasPrintersInClass(printer_class) &&
+         base::ContainsKey(printers_.at(printer_class), printer_id);
+}
+
+bool PrintersMap::IsExistingPrinter(const std::string& printer_id) const {
+  return Get(printer_id).has_value();
+}
+
+}  // namespace chromeos
diff --git a/chrome/browser/chromeos/printing/printers_map.h b/chrome/browser/chromeos/printing/printers_map.h
new file mode 100644
index 0000000..c89d764
--- /dev/null
+++ b/chrome/browser/chromeos/printing/printers_map.h
@@ -0,0 +1,88 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_CHROMEOS_PRINTING_PRINTERS_MAP_H_
+#define CHROME_BROWSER_CHROMEOS_PRINTING_PRINTERS_MAP_H_
+
+#include <string>
+#include <unordered_map>
+#include <vector>
+
+#include "base/macros.h"
+#include "base/optional.h"
+#include "chrome/browser/chromeos/printing/cups_printers_manager.h"
+#include "chromeos/printing/printer_configuration.h"
+
+namespace chromeos {
+
+// Classes of printers tracked.  See doc/cups_printer_management.md for
+// details on what these mean.
+// TODO(baileyberro): Put this somewhere common once PrintersMap is used by
+// CupsPrintersManager.
+enum class PrinterClass {
+  kEnterprise,
+  kAutomatic,
+  kDiscovered,
+  kSaved,
+  kNumPrinterClasses
+};
+
+// PrintersMap stores printers, categorized by class.
+class PrintersMap {
+ public:
+  PrintersMap();
+  ~PrintersMap();
+
+  // Returns printer matching |printer_id| if found in any PrinterClass.
+  base::Optional<Printer> Get(const std::string& printer_id) const;
+
+  // Returns printer matching |printer_id| in |printer_class|.
+  base::Optional<Printer> Get(PrinterClass printer_class,
+                              const std::string& printer_id) const;
+
+  // Returns all printers across all classes.
+  std::vector<Printer> Get() const;
+
+  // Returns all printers in |printer_class|.
+  std::vector<Printer> Get(PrinterClass printer_class) const;
+
+  // Returns all printers in |printer_class| that have a secure protocol
+  // (non-network or IPPS).
+  std::vector<Printer> GetSecurePrinters(PrinterClass printer_class) const;
+
+  // Returns all printers that have a secure protocol (non-network or IPPS).
+  std::vector<Printer> GetSecurePrinters() const;
+
+  // Adds |printer| to |printer_class|.
+  void Insert(PrinterClass printer_class, const Printer& printer);
+
+  // Removes all printers in |printer_class|.
+  void Clear(PrinterClass printer_class);
+
+  // Replaces the printers in |printer_class| with |printers|.
+  void ReplacePrintersInClass(PrinterClass printer_class,
+                              const std::vector<Printer>& printers);
+
+ private:
+  // Returns true if |printer_class| exists and contains at least 1 printer.
+  bool HasPrintersInClass(PrinterClass printer_class) const;
+
+  // Returns true if the printer |printer_id| exists in |printer_class|.
+  bool IsPrinterInClass(PrinterClass printer_class,
+                        const std::string& printer_id) const;
+
+  // Returns true if |printer_id| exists in any class. Used only for DCHECKs.
+  bool IsExistingPrinter(const std::string& printer_id) const;
+
+  // Categorized printers. Outer map keyed on PrinterClass, inner map keyed on
+  // PrinterId.
+  std::unordered_map<PrinterClass, std::unordered_map<std::string, Printer>>
+      printers_;
+
+  DISALLOW_COPY_AND_ASSIGN(PrintersMap);
+};
+
+}  // namespace chromeos
+
+#endif  // CHROME_BROWSER_CHROMEOS_PRINTING_PRINTERS_MAP_H_
diff --git a/chrome/browser/chromeos/printing/printers_map_unittest.cc b/chrome/browser/chromeos/printing/printers_map_unittest.cc
new file mode 100644
index 0000000..f26c5ba
--- /dev/null
+++ b/chrome/browser/chromeos/printing/printers_map_unittest.cc
@@ -0,0 +1,293 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/printing/printers_map.h"
+
+#include "base/macros.h"
+#include "base/stl_util.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace chromeos {
+namespace {
+
+bool IsPrinterInPrinters(const std::vector<Printer>& printers,
+                         const Printer& printer) {
+  for (const auto& p : printers) {
+    if (p.id() == printer.id()) {
+      return true;
+    }
+  }
+  return false;
+}
+
+}  // namespace
+
+class PrintersMapTest : public testing::Test {
+ public:
+  PrintersMapTest() = default;
+  ~PrintersMapTest() override = default;
+
+  DISALLOW_COPY_AND_ASSIGN(PrintersMapTest);
+};
+
+TEST_F(PrintersMapTest, GetAllReturnsEmptyVector) {
+  PrintersMap printers_map;
+
+  std::vector<Printer> printers = printers_map.Get();
+
+  EXPECT_EQ(0u, printers.size());
+}
+
+TEST_F(PrintersMapTest, GetAllReturnsPrintersFromAllClasses) {
+  PrintersMap printers_map;
+
+  Printer discovered_printer = Printer("discovered_id");
+  Printer enterprise_printer = Printer("enterprise_id");
+
+  printers_map.Insert(PrinterClass::kEnterprise, enterprise_printer);
+  printers_map.Insert(PrinterClass::kDiscovered, discovered_printer);
+
+  auto printers = printers_map.Get();
+
+  EXPECT_EQ(2u, printers.size());
+  EXPECT_TRUE(IsPrinterInPrinters(printers, discovered_printer));
+  EXPECT_TRUE(IsPrinterInPrinters(printers, enterprise_printer));
+}
+
+TEST_F(PrintersMapTest, GetByIdReturnsEmptyOptionalWhenNonExistant) {
+  PrintersMap printers_map;
+
+  base::Optional<Printer> printer = printers_map.Get("non_existant_id");
+
+  EXPECT_FALSE(printer);
+}
+
+TEST_F(PrintersMapTest, GetByIdReturnsPrinterWhenExistant) {
+  PrintersMap printers_map;
+
+  Printer expected_printer = Printer("printer_id");
+  expected_printer.set_display_name("123");
+
+  printers_map.Insert(PrinterClass::kEnterprise, expected_printer);
+
+  base::Optional<Printer> actual_printer =
+      printers_map.Get(expected_printer.id());
+
+  EXPECT_TRUE(actual_printer);
+  EXPECT_EQ(expected_printer.id(), actual_printer->id());
+  EXPECT_EQ(expected_printer.display_name(), actual_printer->display_name());
+}
+
+TEST_F(PrintersMapTest, GetByClassReturnsEmptyVectorWhenNonExistant) {
+  PrintersMap printers_map;
+
+  auto printers = printers_map.Get(PrinterClass::kDiscovered);
+
+  EXPECT_EQ(0u, printers.size());
+}
+
+TEST_F(PrintersMapTest, GetByClassReturnsPrinters) {
+  PrintersMap printers_map;
+
+  Printer discovered_printer = Printer("discovered_id");
+  Printer enterprise_printer = Printer("enterprise_id");
+
+  printers_map.Insert(PrinterClass::kEnterprise, enterprise_printer);
+  printers_map.Insert(PrinterClass::kDiscovered, discovered_printer);
+
+  auto discovered_printers = printers_map.Get(PrinterClass::kDiscovered);
+
+  EXPECT_EQ(1u, discovered_printers.size());
+  EXPECT_EQ(discovered_printer.id(), discovered_printers[0].id());
+
+  auto enterprise_printers = printers_map.Get(PrinterClass::kEnterprise);
+
+  EXPECT_EQ(1u, enterprise_printers.size());
+  EXPECT_EQ(enterprise_printer.id(), enterprise_printers[0].id());
+}
+
+TEST_F(PrintersMapTest,
+       GetByClassAndIdOnlyReturnsEmptyOptionalWhenNonExistant) {
+  PrintersMap printers_map;
+
+  base::Optional<Printer> found_printer =
+      printers_map.Get(PrinterClass::kDiscovered, "printer_id");
+
+  EXPECT_FALSE(found_printer);
+}
+
+TEST_F(PrintersMapTest, GetByClassAndIdOnlyReturnsFromCorrectClass) {
+  PrintersMap printers_map;
+
+  const std::string printer1_id = "1";
+  Printer printer1 = Printer(printer1_id);
+  Printer printer2 = Printer("2");
+
+  printers_map.Insert(PrinterClass::kEnterprise, printer1);
+  printers_map.Insert(PrinterClass::kDiscovered, printer2);
+
+  // No printer is found because |printer1| *is not* in kDiscovered.
+  base::Optional<Printer> found_printer =
+      printers_map.Get(PrinterClass::kDiscovered, printer1_id);
+
+  EXPECT_FALSE(found_printer);
+
+  // Printer found because |printer1| *is* in kEnterprise.
+  found_printer = printers_map.Get(PrinterClass::kEnterprise, printer1_id);
+
+  EXPECT_TRUE(found_printer);
+  EXPECT_EQ(printer1_id, found_printer->id());
+}
+
+TEST_F(PrintersMapTest, InsertAddsPrinterToCorrectClass) {
+  PrintersMap printers_map;
+
+  Printer expected_printer = Printer("printer_id");
+  expected_printer.set_display_name("123");
+
+  EXPECT_EQ(0u, printers_map.Get(PrinterClass::kAutomatic).size());
+
+  printers_map.Insert(PrinterClass::kAutomatic, expected_printer);
+
+  EXPECT_EQ(1u, printers_map.Get(PrinterClass::kAutomatic).size());
+}
+
+TEST_F(PrintersMapTest, GetSecurePrintersReturnsEmptyVectorOnNonExistantClass) {
+  PrintersMap printers_map;
+
+  auto printers = printers_map.GetSecurePrinters();
+
+  EXPECT_EQ(0u, printers.size());
+}
+
+TEST_F(PrintersMapTest, GetSecurePrintersOnlyReturnsSecurePrinters) {
+  PrintersMap printers_map;
+
+  Printer ipp_printer = Printer("ipp");
+  ipp_printer.set_uri("ipp:printer");
+  printers_map.Insert(PrinterClass::kSaved, ipp_printer);
+
+  Printer ipps_printer = Printer("ipps");
+  ipps_printer.set_uri("ipps:printer");
+  printers_map.Insert(PrinterClass::kAutomatic, ipps_printer);
+
+  Printer usb_printer = Printer("usb");
+  usb_printer.set_uri("usb:printer");
+  printers_map.Insert(PrinterClass::kDiscovered, usb_printer);
+
+  Printer ippusb_printer = Printer("ippusb");
+  ippusb_printer.set_uri("ippusb:printer");
+  printers_map.Insert(PrinterClass::kEnterprise, ippusb_printer);
+
+  Printer http_printer = Printer("http");
+  http_printer.set_uri("http:printer");
+  printers_map.Insert(PrinterClass::kDiscovered, http_printer);
+
+  // Only IPPS, IPPUSB, and USB printers are returned.
+  auto printers = printers_map.GetSecurePrinters();
+
+  EXPECT_EQ(3u, printers.size());
+
+  EXPECT_TRUE(IsPrinterInPrinters(printers, ipps_printer));
+  EXPECT_TRUE(IsPrinterInPrinters(printers, usb_printer));
+  EXPECT_TRUE(IsPrinterInPrinters(printers, ippusb_printer));
+
+  EXPECT_FALSE(IsPrinterInPrinters(printers, ipp_printer));
+  EXPECT_FALSE(IsPrinterInPrinters(printers, http_printer));
+}
+
+TEST_F(PrintersMapTest,
+       GetSecurePrintersInClassReturnsEmptyVectorOnNonExistantClass) {
+  PrintersMap printers_map;
+
+  auto printers = printers_map.GetSecurePrinters(PrinterClass::kAutomatic);
+
+  EXPECT_EQ(0u, printers.size());
+}
+
+TEST_F(PrintersMapTest, GetSecurePrintersInClassOnlyReturnsSecurePrinters) {
+  PrintersMap printers_map;
+
+  Printer ipp_printer = Printer("ipp");
+  ipp_printer.set_uri("ipp:printer");
+  printers_map.Insert(PrinterClass::kSaved, ipp_printer);
+
+  Printer ipps_printer = Printer("ipps");
+  ipps_printer.set_uri("ipps:printer");
+  printers_map.Insert(PrinterClass::kSaved, ipps_printer);
+
+  Printer usb_printer = Printer("usb");
+  usb_printer.set_uri("usb:printer");
+  printers_map.Insert(PrinterClass::kSaved, usb_printer);
+
+  Printer ippusb_printer = Printer("ippusb");
+  ippusb_printer.set_uri("ippusb:printer");
+  printers_map.Insert(PrinterClass::kSaved, ippusb_printer);
+
+  Printer http_printer = Printer("http");
+  http_printer.set_uri("http:printer");
+  printers_map.Insert(PrinterClass::kSaved, http_printer);
+
+  // Only IPPS, IPPUSB, and USB printers are returned.
+  auto printers = printers_map.GetSecurePrinters(PrinterClass::kSaved);
+
+  EXPECT_EQ(3u, printers.size());
+
+  EXPECT_TRUE(IsPrinterInPrinters(printers, ipps_printer));
+  EXPECT_TRUE(IsPrinterInPrinters(printers, usb_printer));
+  EXPECT_TRUE(IsPrinterInPrinters(printers, ippusb_printer));
+
+  EXPECT_FALSE(IsPrinterInPrinters(printers, ipp_printer));
+  EXPECT_FALSE(IsPrinterInPrinters(printers, http_printer));
+}
+
+TEST_F(PrintersMapTest, ClearResetsClass) {
+  PrintersMap printers_map;
+
+  Printer printer1 = Printer("id1");
+  Printer printer2 = Printer("id2");
+
+  printers_map.Insert(PrinterClass::kEnterprise, printer1);
+  printers_map.Insert(PrinterClass::kEnterprise, printer2);
+
+  auto enterprise_printers = printers_map.Get(PrinterClass::kEnterprise);
+  EXPECT_EQ(2u, enterprise_printers.size());
+
+  // Calling clear erases the contents of the class.
+  printers_map.Clear(PrinterClass::kEnterprise);
+
+  auto empty_printers = printers_map.Get(PrinterClass::kEnterprise);
+  EXPECT_EQ(0u, empty_printers.size());
+}
+
+TEST_F(PrintersMapTest, ReplacePrintersInClassOverwritesPrinters) {
+  PrintersMap printers_map;
+
+  Printer printer1 = Printer("id1");
+  Printer printer2 = Printer("id2");
+
+  printers_map.Insert(PrinterClass::kEnterprise, printer1);
+  printers_map.Insert(PrinterClass::kEnterprise, printer2);
+
+  auto enterprise_printers = printers_map.Get(PrinterClass::kEnterprise);
+  EXPECT_EQ(2u, enterprise_printers.size());
+
+  // Overwriting the printer class with an empty vector should clear the
+  // printers.
+  printers_map.ReplacePrintersInClass(PrinterClass::kEnterprise,
+                                      std::vector<Printer>());
+
+  auto empty_printers = printers_map.Get(PrinterClass::kEnterprise);
+  EXPECT_EQ(0u, empty_printers.size());
+
+  // Replacing the printer class with the original enterprise printers restores
+  // them.
+  printers_map.ReplacePrintersInClass(PrinterClass::kEnterprise,
+                                      enterprise_printers);
+
+  auto restored_printers = printers_map.Get(PrinterClass::kEnterprise);
+  EXPECT_EQ(2u, restored_printers.size());
+}
+
+}  // namespace chromeos
diff --git a/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc b/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
index e6196cd3..f6da479 100644
--- a/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
+++ b/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
@@ -31,8 +31,6 @@
 constexpr char kNotAvailable[] = "<not available>";
 constexpr char kRoutesKeyName[] = "routes";
 constexpr char kNetworkStatusKeyName[] = "network-status";
-constexpr char kModemStatusKeyName[] = "modem-status";
-constexpr char kWiMaxStatusKeyName[] = "wimax-status";
 
 // List of user log files that Chrome reads directly as these logs are generated
 // by Chrome itself.
@@ -98,16 +96,6 @@
                                           kNetworkStatusKeyName));
   ++num_pending_requests_;
 
-  client->GetModemStatus(base::BindOnce(&DebugDaemonLogSource::OnGetOneLog,
-                                        weak_ptr_factory_.GetWeakPtr(),
-                                        kModemStatusKeyName));
-  ++num_pending_requests_;
-
-  client->GetWiMaxStatus(base::BindOnce(&DebugDaemonLogSource::OnGetOneLog,
-                                        weak_ptr_factory_.GetWeakPtr(),
-                                        kWiMaxStatusKeyName));
-  ++num_pending_requests_;
-
   if (scrub_) {
     client->GetScrubbedBigLogs(base::BindOnce(&DebugDaemonLogSource::OnGetLogs,
                                               weak_ptr_factory_.GetWeakPtr()));
diff --git a/chrome/browser/download/download_service_factory.cc b/chrome/browser/download/download_service_factory.cc
index 83053f8..f89e2a30 100644
--- a/chrome/browser/download/download_service_factory.cc
+++ b/chrome/browser/download/download_service_factory.cc
@@ -27,6 +27,7 @@
 #include "components/download/public/background_service/clients.h"
 #include "components/download/public/background_service/download_service.h"
 #include "components/download/public/background_service/features.h"
+#include "components/download/public/common/simple_download_manager_coordinator.h"
 #include "components/download/public/task/task_scheduler.h"
 #include "components/keyed_service/content/browser_context_dependency_manager.h"
 #include "components/leveldb_proto/content/proto_database_provider_factory.h"
@@ -34,6 +35,7 @@
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/download_manager.h"
 #include "content/public/browser/network_service_instance.h"
 #include "content/public/browser/storage_partition.h"
 
@@ -129,12 +131,14 @@
 #else
     task_scheduler = std::make_unique<DownloadTaskSchedulerImpl>(context);
 #endif
-
-    return download::BuildDownloadService(
-        context, profile->GetProfileKey(), profile->GetPrefs(),
-        std::move(clients), content::GetNetworkConnectionTracker(), storage_dir,
+    download::SimpleDownloadManagerCoordinator* coordinator =
         SimpleDownloadManagerCoordinatorFactory::GetForKey(
-            profile->GetProfileKey()),
+            profile->GetProfileKey());
+    coordinator->SetSimpleDownloadManager(
+        content::BrowserContext::GetDownloadManager(context), true);
+    return download::BuildDownloadService(
+        profile->GetProfileKey(), profile->GetPrefs(), std::move(clients),
+        content::GetNetworkConnectionTracker(), storage_dir, coordinator,
         background_task_runner, std::move(task_scheduler));
   }
 }
diff --git a/chrome/browser/extensions/api/web_request/web_request_apitest.cc b/chrome/browser/extensions/api/web_request/web_request_apitest.cc
index 4373dff..63fa2ee 100644
--- a/chrome/browser/extensions/api/web_request/web_request_apitest.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_apitest.cc
@@ -7,7 +7,6 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/feature_list.h"
 #include "base/macros.h"
 #include "base/memory/ptr_util.h"
 #include "base/optional.h"
@@ -39,7 +38,6 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_destroyer.h"
 #include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/browser/search/ntp_features.h"
 #include "chrome/browser/search/one_google_bar/one_google_bar_loader.h"
 #include "chrome/browser/search/one_google_bar/one_google_bar_service.h"
 #include "chrome/browser/search/one_google_bar/one_google_bar_service_factory.h"
@@ -1999,7 +1997,6 @@
         base::Unretained(this)));
     ASSERT_TRUE(https_test_server_.InitializeAndListen());
     ExtensionApiTest::SetUp();
-    feature_list_.InitWithFeatures({::features::kUseGoogleLocalNtp}, {});
   }
   void SetUpCommandLine(base::CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
@@ -2051,7 +2048,6 @@
   }
 
   net::EmbeddedTestServer https_test_server_;
-  base::test::ScopedFeatureList feature_list_;
   std::unique_ptr<base::RunLoop> runloop_;
 
   // Initialized on the UI thread in SetUpOnMainThread. Read on UI and Embedded
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index b81ff4f..32d91c0 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -593,7 +593,7 @@
   },
   {
     "name": "disallow-doc-written-script-loads",
-    // "owners": [ "your-team" ],
+    "owners": [ "//components/data_reduction_proxy/OWNERS" ],
     "expiry_milestone": 76
   },
   {
@@ -622,11 +622,6 @@
     "expiry_milestone": 76
   },
   {
-    "name": "doodles-on-local-ntp",
-    "owners": [ "kmilka", "ramyan" ],
-    "expiry_milestone": 74
-  },
-  {
     "name": "double-tap-to-zoom-in-tablet-mode",
     "owners": [ "afakhry" ],
     "expiry_milestone": 80
@@ -2469,6 +2464,11 @@
     "expiry_milestone": 80
   },
   {
+    "name": "omnibox-ui-cues-for-search-history-matches",
+    "owners": [ "tommycli", "chrome-omnibox-team@google.com" ],
+    "expiry_milestone": 80
+  },
+  {
     "name": "omnibox-tab-switch-suggestions",
     "owners": [ "krb", "chrome-omnibox-team@google.com" ],
     "expiry_milestone": 76
@@ -2671,11 +2671,6 @@
     "expiry_milestone": 76
   },
   {
-    "name": "promos-on-local-ntp",
-    "owners": [ "kmilka", "ramyan" ],
-    "expiry_milestone": 74
-  },
-  {
     "name": "pull-to-refresh",
     // "owners": [ "your-team" ],
     "expiry_milestone": 76
@@ -2741,11 +2736,6 @@
     "expiry_milestone": 76
   },
   {
-    "name": "search-suggestions-on-local-ntp",
-    "owners": [ "kmilka", "ramyan" ],
-    "expiry_milestone": 74
-  },
-  {
     "name": "session-restore-prioritizes-background-use-cases",
     "owners": [ "chrisha" ],
     "expiry_milestone": 76
@@ -2994,11 +2984,6 @@
     "expiry_milestone": -1
   },
   {
-    "name": "use-google-local-ntp",
-    "owners": [ "ramyan" ],
-    "expiry_milestone": 75
-  },
-  {
     "name": "use-multilogin-endpoint",
     "owners": [ "droger", "msarda" ],
     "expiry_milestone": 78
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 4b1cadaf..cadbf0dc 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1409,6 +1409,13 @@
 const char kOmniboxUIBoldUserTextOnSearchSuggestionsDescription[] =
     "Bolds the user text instead of autocomplete text for search suggestions.";
 
+const char kOmniboxUICuesForSearchHistoryMatchesName[] =
+    "Omnibox UI Cues to Differentiate Search History Matches";
+const char kOmniboxUICuesForSearchHistoryMatchesDescription[] =
+    "Shows UI cues in the omnibox to differentiate Search History matches from "
+    "other search suggestions provided by the default search provider. This "
+    "feature is a narrow subset of Omnibox Suggestion Transparency Options.";
+
 const char kOmniboxUIHideSteadyStateUrlSchemeName[] =
     "Omnibox UI Hide Steady-State URL Scheme";
 const char kOmniboxUIHideSteadyStateUrlSchemeDescription[] =
@@ -2648,22 +2655,6 @@
 const char kAppManagementDescription[] =
     "Shows the new app management page at chrome://apps.";
 
-const char kDoodlesOnLocalNtpName[] = "Enable doodles on the local NTP";
-const char kDoodlesOnLocalNtpDescription[] =
-    "Show doodles on the local New Tab page if Google is the default search "
-    "engine.";
-
-const char kSearchSuggestionsOnLocalNtpName[] =
-    "Enable search suggestions on the local NTP";
-const char kSearchSuggestionsOnLocalNtpDescription[] =
-    "Show search suggestions on the local New Tab page if Google is the "
-    "default search engine.";
-
-const char kPromosOnLocalNtpName[] = "Enable promos on the local NTP";
-const char kPromosOnLocalNtpDescription[] =
-    "Show promos on the local New Tab page if Google is the "
-    "default search engine.";
-
 const char kRemoveNtpFakeboxName[] = "Remove fakebox from the NTP";
 const char kRemoveNtpFakeboxDescription[] =
     "Do not show the fakebox on the New Tab page.";
@@ -2761,10 +2752,6 @@
     "Enabled/disable showing enterprise users a 'Managed by your organization' "
     "message in the app menu and on some chrome:// pages.";
 
-const char kUseGoogleLocalNtpName[] = "Enable using the Google local NTP";
-const char kUseGoogleLocalNtpDescription[] =
-    "Use the local New Tab page if Google is the default search engine.";
-
 #if defined(GOOGLE_CHROME_BUILD)
 
 const char kGoogleBrandedContextMenuName[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 32d9acb..2b4caf4a6 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -861,6 +861,9 @@
 extern const char kOmniboxUIBoldUserTextOnSearchSuggestionsName[];
 extern const char kOmniboxUIBoldUserTextOnSearchSuggestionsDescription[];
 
+extern const char kOmniboxUICuesForSearchHistoryMatchesName[];
+extern const char kOmniboxUICuesForSearchHistoryMatchesDescription[];
+
 extern const char kOmniboxUIHideSteadyStateUrlSchemeName[];
 extern const char kOmniboxUIHideSteadyStateUrlSchemeDescription[];
 
@@ -1581,15 +1584,6 @@
 extern const char kAutofillDropdownLayoutName[];
 extern const char kAutofillDropdownLayoutDescription[];
 
-extern const char kDoodlesOnLocalNtpName[];
-extern const char kDoodlesOnLocalNtpDescription[];
-
-extern const char kSearchSuggestionsOnLocalNtpName[];
-extern const char kSearchSuggestionsOnLocalNtpDescription[];
-
-extern const char kPromosOnLocalNtpName[];
-extern const char kPromosOnLocalNtpDescription[];
-
 extern const char kRemoveNtpFakeboxName[];
 extern const char kRemoveNtpFakeboxDescription[];
 
@@ -1644,9 +1638,6 @@
 extern const char kShowManagedUiName[];
 extern const char kShowManagedUiDescription[];
 
-extern const char kUseGoogleLocalNtpName[];
-extern const char kUseGoogleLocalNtpDescription[];
-
 #if defined(GOOGLE_CHROME_BUILD)
 
 extern const char kGoogleBrandedContextMenuName[];
diff --git a/chrome/browser/media/router/BUILD.gn b/chrome/browser/media/router/BUILD.gn
index 0eb17770..478221f 100644
--- a/chrome/browser/media/router/BUILD.gn
+++ b/chrome/browser/media/router/BUILD.gn
@@ -93,6 +93,8 @@
       "presentation/presentation_navigation_policy.h",
       "providers/cast/cast_activity_manager.cc",
       "providers/cast/cast_activity_manager.h",
+      "providers/cast/cast_activity_record.cc",
+      "providers/cast/cast_activity_record.h",
       "providers/cast/cast_app_availability_tracker.cc",
       "providers/cast/cast_app_availability_tracker.h",
       "providers/cast/cast_app_discovery_service.cc",
@@ -103,6 +105,8 @@
       "providers/cast/cast_media_route_provider.h",
       "providers/cast/cast_media_route_provider_metrics.cc",
       "providers/cast/cast_media_route_provider_metrics.h",
+      "providers/cast/cast_session_client.cc",
+      "providers/cast/cast_session_client.h",
       "providers/cast/cast_session_tracker.cc",
       "providers/cast/cast_session_tracker.h",
       "providers/cast/chrome_cast_message_handler.cc",
diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc
index 62da1f0..9fbf2b1 100644
--- a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc
+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc
@@ -8,404 +8,30 @@
 #include <vector>
 
 #include "base/bind.h"
+#include "base/optional.h"
+#include "base/values.h"
 #include "chrome/browser/media/router/data_decoder_util.h"
+#include "chrome/browser/media/router/providers/cast/cast_activity_record.h"
+#include "chrome/browser/media/router/providers/cast/cast_session_client.h"
+#include "chrome/browser/media/router/providers/cast/cast_session_tracker.h"
+#include "chrome/common/media_router/discovery/media_sink_internal.h"
 #include "chrome/common/media_router/discovery/media_sink_service_base.h"
+#include "chrome/common/media_router/media_route.h"
 #include "chrome/common/media_router/media_source_helper.h"
+#include "chrome/common/media_router/mojo/media_router.mojom.h"
 #include "chrome/common/media_router/providers/cast/cast_media_source.h"
+#include "chrome/common/media_router/route_request_result.h"
+#include "components/cast_channel/cast_message_handler.h"
+#include "components/cast_channel/cast_message_util.h"
+#include "mojo/public/cpp/bindings/binding.h"
+#include "third_party/blink/public/mojom/presentation/presentation.mojom.h"
+#include "url/origin.h"
 
 using blink::mojom::PresentationConnectionCloseReason;
-using blink::mojom::PresentationConnectionMessagePtr;
-using blink::mojom::PresentationConnectionPtrInfo;
 using blink::mojom::PresentationConnectionState;
 
 namespace media_router {
 
-namespace {
-
-void ReportClientMessageParseError(const MediaRoute::Id& route_id,
-                                   const std::string& error) {
-  // TODO(crbug.com/808720): Record UMA metric for parse result.
-  DVLOG(2) << "Failed to parse Cast client message for " << route_id << ": "
-           << error;
-}
-
-}  // namespace
-
-CastSessionClient::CastSessionClient(const std::string& client_id,
-                                     const url::Origin& origin,
-                                     int tab_id,
-                                     AutoJoinPolicy auto_join_policy,
-                                     DataDecoder* data_decoder,
-                                     CastActivityRecord* activity)
-    : client_id_(client_id),
-      origin_(origin),
-      tab_id_(tab_id),
-      auto_join_policy_(auto_join_policy),
-      data_decoder_(data_decoder),
-      activity_(activity),
-      connection_binding_(this),
-      weak_ptr_factory_(this) {}
-
-CastSessionClient::~CastSessionClient() = default;
-
-mojom::RoutePresentationConnectionPtr CastSessionClient::Init() {
-  PresentationConnectionPtrInfo renderer_connection;
-  connection_binding_.Bind(mojo::MakeRequest(&renderer_connection));
-  auto connection_request = mojo::MakeRequest(&connection_);
-  connection_->DidChangeState(PresentationConnectionState::CONNECTED);
-  return mojom::RoutePresentationConnection::New(std::move(renderer_connection),
-                                                 std::move(connection_request));
-}
-
-void CastSessionClient::SendMessageToClient(
-    PresentationConnectionMessagePtr message) {
-  connection_->OnMessage(std::move(message));
-}
-
-void CastSessionClient::SendMediaStatusToClient(
-    const base::Value& media_status,
-    base::Optional<int> request_id) {
-  // Look up if there is a pending request from this client associated with this
-  // message. If so, send the media status message as a response by setting the
-  // sequence number.
-  base::Optional<int> sequence_number;
-  if (request_id) {
-    auto it = pending_media_requests_.find(*request_id);
-    if (it != pending_media_requests_.end()) {
-      DVLOG(2) << "Found matching request id: " << *request_id << " -> "
-               << it->second;
-      sequence_number = it->second;
-      pending_media_requests_.erase(it);
-    }
-  }
-
-  SendMessageToClient(
-      CreateV2Message(client_id_, media_status, sequence_number));
-}
-
-void CastSessionClient::OnMessage(PresentationConnectionMessagePtr message) {
-  if (!message->is_message())
-    return;
-
-  data_decoder_->ParseJson(
-      message->get_message(),
-      base::BindRepeating(&CastSessionClient::HandleParsedClientMessage,
-                          weak_ptr_factory_.GetWeakPtr()),
-      base::BindRepeating(&ReportClientMessageParseError,
-                          activity_->route().media_route_id()));
-}
-
-void CastSessionClient::DidClose(PresentationConnectionCloseReason reason) {
-  // TODO(https://crbug.com/809249): Implement close connection with this
-  // method once we make sure Blink calls this on navigation and on
-  // PresentationConnection::close().
-  DVLOG(2)
-      << "CastSessionClient::DidClose not implemented; called with reason = "
-      << reason;
-}
-
-bool CastSessionClient::MatchesAutoJoinPolicy(url::Origin origin,
-                                              int tab_id) const {
-  return IsAutoJoinAllowed(auto_join_policy_, origin, tab_id, origin_, tab_id_);
-}
-
-void CastSessionClient::HandleParsedClientMessage(
-    std::unique_ptr<base::Value> message) {
-  std::unique_ptr<CastInternalMessage> cast_message =
-      CastInternalMessage::From(std::move(*message));
-  if (!cast_message) {
-    ReportClientMessageParseError(activity_->route().media_route_id(),
-                                  "Not a Cast message");
-    DLOG(ERROR) << "Received non-Cast message from client";
-    return;
-  }
-
-  if (cast_message->client_id != client_id_) {
-    DLOG(ERROR) << "Client ID mismatch: expected: " << client_id_
-                << ", got: " << cast_message->client_id;
-    return;
-  }
-
-  if (cast_message->has_session_id() &&
-      cast_message->session_id() != activity_->session_id()) {
-    DLOG(ERROR) << "Session ID mismatch: expected: "
-                << activity_->session_id().value_or("<missing>")
-                << ", got: " << cast_message->session_id();
-    return;
-  }
-
-  switch (cast_message->type) {
-    case CastInternalMessage::Type::kAppMessage:
-      // Send an ACK message back to SDK client to indicate it is handled.
-      if (activity_->SendAppMessageToReceiver(*cast_message) ==
-          cast_channel::Result::kOk) {
-        DCHECK(cast_message->sequence_number);
-        SendMessageToClient(CreateAppMessageAck(
-            cast_message->client_id, *cast_message->sequence_number));
-      }
-      break;
-
-    case CastInternalMessage::Type::kV2Message:
-      HandleV2ProtocolMessage(*cast_message);
-      break;
-
-    case CastInternalMessage::Type::kLeaveSession:
-      SendMessageToClient(CreateLeaveSessionAckMessage(
-          client_id_, cast_message->sequence_number));
-      activity_->HandleLeaveSession(client_id_);
-      break;
-
-    default:
-      DLOG(ERROR) << "Unhandled message type: "
-                  << static_cast<int>(cast_message->type);
-  }
-}
-
-void CastSessionClient::HandleV2ProtocolMessage(
-    const CastInternalMessage& cast_message) {
-  const std::string& type_str = cast_message.v2_message_type();
-  cast_channel::V2MessageType type =
-      cast_channel::V2MessageTypeFromString(type_str);
-  if (cast_channel::IsMediaRequestMessageType(type)) {
-    DVLOG(2) << "Got media command from client: " << type_str;
-    base::Optional<int> request_id =
-        activity_->SendMediaRequestToReceiver(cast_message);
-    if (request_id) {
-      DCHECK(cast_message.sequence_number);
-      if (pending_media_requests_.size() >= kMaxPendingMediaRequests) {
-        // Delete old pending requests.  Request IDs are generated sequentially,
-        // so this should always delete the oldest requests.  Deleting requests
-        // is O(n) in the size of the table, so we delete half the outstanding
-        // requests at once so the amortized deletion cost is O(1).
-        pending_media_requests_.erase(pending_media_requests_.begin(),
-                                      pending_media_requests_.begin() +
-                                          pending_media_requests_.size() / 2);
-      }
-      pending_media_requests_.emplace(*request_id,
-                                      *cast_message.sequence_number);
-    }
-  } else if (type == cast_channel::V2MessageType::kSetVolume) {
-    DVLOG(2) << "Got volume command from client";
-    DCHECK(cast_message.sequence_number);
-    activity_->SendSetVolumeRequestToReceiver(
-        cast_message, base::BindOnce(&CastSessionClient::SendResultResponse,
-                                     weak_ptr_factory_.GetWeakPtr(),
-                                     *cast_message.sequence_number));
-  } else if (type == cast_channel::V2MessageType::kStop) {
-    // TODO(jrw): implement STOP_SESSION.
-    DVLOG(2) << "Ignoring stop-session (" << type_str << ") message";
-  } else {
-    DLOG(ERROR) << "Unknown v2 message type: " << type_str;
-  }
-}
-
-void CastSessionClient::SendResultResponse(int sequence_number,
-                                           cast_channel::Result result) {
-  // TODO(jrw): Send error message on failure.
-  if (result == cast_channel::Result::kOk) {
-    // Send an empty message to let the client know the request succeeded.
-    SendMessageToClient(
-        CreateV2Message(client_id_, base::Value(), sequence_number));
-  }
-}
-
-void CastSessionClient::CloseConnection(
-    PresentationConnectionCloseReason close_reason) {
-  if (connection_)
-    connection_->DidClose(close_reason);
-
-  TearDownPresentationConnection();
-}
-
-void CastSessionClient::TerminateConnection() {
-  if (connection_) {
-    connection_->DidChangeState(PresentationConnectionState::TERMINATED);
-  }
-
-  TearDownPresentationConnection();
-}
-
-void CastSessionClient::TearDownPresentationConnection() {
-  connection_.reset();
-  connection_binding_.Close();
-}
-
-CastActivityRecord::~CastActivityRecord() {}
-
-mojom::RoutePresentationConnectionPtr CastActivityRecord::AddClient(
-    const CastMediaSource& source,
-    const url::Origin& origin,
-    int tab_id) {
-  const std::string& client_id = source.client_id();
-  DCHECK(!base::ContainsKey(connected_clients_, client_id));
-  auto client = std::make_unique<CastSessionClient>(client_id, origin, tab_id,
-                                                    source.auto_join_policy(),
-                                                    data_decoder_, this);
-  auto presentation_connection = client->Init();
-  connected_clients_.emplace(client_id, std::move(client));
-
-  // Route is now local due to connected client.
-  route_.set_local(true);
-  return presentation_connection;
-}
-
-void CastActivityRecord::RemoveClient(const std::string& client_id) {
-  // Don't erase by key here as the |client_id| may be referring to the client
-  // being deleted.
-  auto it = connected_clients_.find(client_id);
-  if (it != connected_clients_.end())
-    connected_clients_.erase(it);
-}
-
-void CastActivityRecord::SetOrUpdateSession(const CastSession& session,
-                                            const MediaSinkInternal& sink,
-                                            const std::string& hash_token) {
-  DVLOG(2) << "CastActivityRecord::SetOrUpdateSession old session_id = "
-           << session_id_.value_or("<missing>")
-           << ", new session_id = " << session.session_id();
-  if (!session_id_) {
-    session_id_ = session.session_id();
-  } else {
-    DCHECK_EQ(*session_id_, session.session_id());
-    for (auto& client : connected_clients_)
-      client.second->SendMessageToClient(
-          CreateUpdateSessionMessage(session, client.first, sink, hash_token));
-  }
-  route_.set_description(session.GetRouteDescription());
-}
-
-cast_channel::Result CastActivityRecord::SendAppMessageToReceiver(
-    const CastInternalMessage& cast_message) {
-  const CastSession* session = GetSession();
-  if (!session)
-    return cast_channel::Result::kFailed;  // TODO(jrw): Send error code back to
-                                           // SDK client.
-  const std::string& message_namespace = cast_message.app_message_namespace();
-  if (!base::ContainsKey(session->message_namespaces(), message_namespace)) {
-    DLOG(ERROR) << "Disallowed message namespace: " << message_namespace;
-    // TODO(jrw): Send error code back to SDK client.
-    return cast_channel::Result::kFailed;
-  }
-  return message_handler_->SendAppMessage(
-      GetCastChannelId(),
-      cast_channel::CreateCastMessage(
-          message_namespace, cast_message.app_message_body(),
-          cast_message.client_id, session->transport_id()));
-}
-
-base::Optional<int> CastActivityRecord::SendMediaRequestToReceiver(
-    const CastInternalMessage& cast_message) {
-  CastSession* session = GetSession();
-  if (!session)
-    return base::nullopt;
-  return message_handler_->SendMediaRequest(
-      GetCastChannelId(), cast_message.v2_message_body(),
-      cast_message.client_id, session->transport_id());
-}
-
-void CastActivityRecord::SendSetVolumeRequestToReceiver(
-    const CastInternalMessage& cast_message,
-    cast_channel::ResultCallback callback) {
-  message_handler_->SendSetVolumeRequest(
-      GetCastChannelId(), cast_message.v2_message_body(),
-      cast_message.client_id, std::move(callback));
-}
-
-void CastActivityRecord::SendStopSessionMessageToReceiver(
-    const base::Optional<std::string>& client_id,
-    mojom::MediaRouteProvider::TerminateRouteCallback callback) {
-  const std::string& sink_id = route_.media_sink_id();
-  const MediaSinkInternal* sink = media_sink_service_->GetSinkById(sink_id);
-  DCHECK(sink);
-  DCHECK(session_id_);
-
-  message_handler_->StopSession(
-      sink->cast_data().cast_channel_id, *session_id_, client_id,
-      base::BindOnce(&CastActivityManager::HandleStopSessionResponse,
-                     activity_manager_->GetWeakPtr(), route_.media_route_id(),
-                     std::move(callback)));
-}
-
-void CastActivityRecord::HandleLeaveSession(const std::string& client_id) {
-  auto client_it = connected_clients_.find(client_id);
-  CHECK(client_it != connected_clients_.end());
-  CastSessionClient& client = *client_it->second;
-  std::vector<std::string> leaving_client_ids;
-  for (const auto& pair : connected_clients_) {
-    if (pair.second->MatchesAutoJoinPolicy(client.origin(), client.tab_id()))
-      leaving_client_ids.push_back(pair.first);
-  }
-
-  for (const auto& client_id : leaving_client_ids) {
-    auto leaving_client_it = connected_clients_.find(client_id);
-    CHECK(leaving_client_it != connected_clients_.end());
-    leaving_client_it->second->CloseConnection(
-        PresentationConnectionCloseReason::CLOSED);
-    connected_clients_.erase(leaving_client_it);
-  }
-}
-
-void CastActivityRecord::SendMessageToClient(
-    const std::string& client_id,
-    PresentationConnectionMessagePtr message) {
-  auto it = connected_clients_.find(client_id);
-  if (it == connected_clients_.end()) {
-    DLOG(ERROR) << "Attempting to send message to nonexistent client: "
-                << client_id;
-    return;
-  }
-  it->second->SendMessageToClient(std::move(message));
-}
-
-void CastActivityRecord::ClosePresentationConnections(
-    PresentationConnectionCloseReason close_reason) {
-  for (auto& client : connected_clients_)
-    client.second->CloseConnection(close_reason);
-}
-
-void CastActivityRecord::TerminatePresentationConnections() {
-  for (auto& client : connected_clients_)
-    client.second->TerminateConnection();
-}
-
-CastActivityRecord::CastActivityRecord(
-    const MediaRoute& route,
-    const std::string& app_id,
-    MediaSinkServiceBase* media_sink_service,
-    cast_channel::CastMessageHandler* message_handler,
-    CastSessionTracker* session_tracker,
-    DataDecoder* data_decoder,
-    CastActivityManager* owner)
-    : route_(route),
-      app_id_(app_id),
-      media_sink_service_(media_sink_service),
-      message_handler_(message_handler),
-      session_tracker_(session_tracker),
-      data_decoder_(data_decoder),
-      activity_manager_(owner) {}
-
-CastSession* CastActivityRecord::GetSession() {
-  DCHECK(session_id_);
-  CastSession* session = session_tracker_->GetSessionById(*session_id_);
-  if (!session) {
-    // TODO(crbug.com/905002): Add UMA metrics for this and other error
-    // conditions.
-    LOG(ERROR) << "Session not found: " << session_id_.value_or("<missing>");
-  }
-  return session;
-}
-
-int CastActivityRecord::GetCastChannelId() {
-  const MediaSinkInternal* sink = media_sink_service_->GetSinkByRoute(route_);
-  if (!sink) {
-    // TODO(crbug.com/905002): Add UMA metrics for this and other error
-    // conditions.
-    LOG(ERROR) << "Sink not found for route: " << route_;
-    return -1;
-  }
-  return sink->cast_data().cast_channel_id;
-}
-
 CastActivityManager::CastActivityManager(
     MediaSinkServiceBase* media_sink_service,
     CastSessionTracker* session_tracker,
diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.h b/chrome/browser/media/router/providers/cast/cast_activity_manager.h
index dab2cf04..20c9c23 100644
--- a/chrome/browser/media/router/providers/cast/cast_activity_manager.h
+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.h
@@ -5,7 +5,9 @@
 #ifndef CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_ACTIVITY_MANAGER_H_
 #define CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_ACTIVITY_MANAGER_H_
 
+#include <memory>
 #include <string>
+#include <vector>
 
 #include "base/containers/flat_map.h"
 #include "base/containers/flat_set.h"
@@ -13,251 +15,27 @@
 #include "base/memory/weak_ptr.h"
 #include "base/optional.h"
 #include "base/sequence_checker.h"
-#include "chrome/browser/media/router/providers/cast/cast_internal_message_util.h"
+#include "base/values.h"
 #include "chrome/browser/media/router/providers/cast/cast_session_tracker.h"
-#include "chrome/common/media_router/discovery/media_sink_internal.h"
-#include "chrome/common/media_router/discovery/media_sink_service_base.h"
-#include "chrome/common/media_router/media_route.h"
 #include "chrome/common/media_router/mojo/media_router.mojom.h"
 #include "chrome/common/media_router/providers/cast/cast_media_source.h"
+#include "chrome/common/media_router/route_request_result.h"
 #include "components/cast_channel/cast_message_handler.h"
 #include "components/cast_channel/cast_message_util.h"
 #include "mojo/public/cpp/bindings/binding.h"
 #include "third_party/blink/public/mojom/presentation/presentation.mojom.h"
+#include "url/origin.h"
+
+namespace cast_channel {
+class CastMessage;
+}
 
 namespace media_router {
 
-class CastActivityManager;
 class CastActivityRecord;
-class CastMediaSource;
+class CastSession;
 class DataDecoder;
-
-// Represents a Cast SDK client connection to a Cast session. This class
-// contains PresentationConnection Mojo pipes to send and receive messages
-// from/to the corresponding SDK client hosted in a presentation controlling
-// frame in Blink.
-class CastSessionClient : public blink::mojom::PresentationConnection {
- public:
-  CastSessionClient(const std::string& client_id,
-                    const url::Origin& origin,
-                    int tab_id,
-                    AutoJoinPolicy auto_join_policy,
-                    DataDecoder* data_decoder,
-                    CastActivityRecord* activity);
-  ~CastSessionClient() override;
-
-  const std::string& client_id() const { return client_id_; }
-  const base::Optional<std::string>& session_id() const { return session_id_; }
-  const url::Origin& origin() const { return origin_; }
-  int tab_id() { return tab_id_; }
-
-  // Initializes the PresentationConnection Mojo message pipes and returns the
-  // handles of the two pipes to be held by Blink. Also transitions the
-  // connection state to CONNECTED. This method can only be called once, and
-  // must be called before |SendMessageToClient()|.
-  mojom::RoutePresentationConnectionPtr Init();
-
-  // Sends |message| to the Cast SDK client in Blink.
-  void SendMessageToClient(
-      blink::mojom::PresentationConnectionMessagePtr message);
-
-  // Sends a media status message to the client.  If |request_id| is given, it
-  // is used to look up the sequence number of a previous request, which is
-  // included in the outgoing message.
-  void SendMediaStatusToClient(const base::Value& media_status,
-                               base::Optional<int> request_id);
-
-  // Changes the PresentationConnection state to CLOSED/TERMINATED and resets
-  // PresentationConnection message pipes.
-  void CloseConnection(
-      blink::mojom::PresentationConnectionCloseReason close_reason);
-  void TerminateConnection();
-
-  // blink::mojom::PresentationConnection implementation
-  void OnMessage(
-      blink::mojom::PresentationConnectionMessagePtr message) override;
-  // Blink does not initiate state change or close using PresentationConnection.
-  // Instead, |PresentationService::Close/TerminateConnection| is used.
-  void DidChangeState(
-      blink::mojom::PresentationConnectionState state) override {}
-  void DidClose(
-      blink::mojom::PresentationConnectionCloseReason reason) override;
-
-  // Tests whether the specified origin and tab ID match this session's origin
-  // and tab ID to the extent required by this sesssion's auto-join policy.
-  // Depending on the value of |auto_join_policy_|, |origin|, |tab_id|, or both
-  // may be ignored.
-  //
-  // TODO(jrw): It appears the real purpose of this method is to detect whether
-  // this session was created by an auto-join request, but auto-joining isn't
-  // implemented yet.  This comment should probably be updated once auto-join is
-  // implemented and I've verified this method does what I think it does.
-  // Alternatively, it might make more sense to record at session creation time
-  // whether a particular session was created by an auto-join request, in which
-  // case I believe this method would no longer be needed.
-  bool MatchesAutoJoinPolicy(url::Origin origin, int tab_id) const;
-
- private:
-  void HandleParsedClientMessage(std::unique_ptr<base::Value> message);
-  void HandleV2ProtocolMessage(const CastInternalMessage& cast_message);
-
-  // Resets the PresentationConnection Mojo message pipes.
-  void TearDownPresentationConnection();
-
-  // Sends a response to the client indicating that a particular request
-  // succeeded or failed.
-  void SendResultResponse(int sequence_number, cast_channel::Result result);
-
-  std::string client_id_;
-  base::Optional<std::string> session_id_;
-
-  // The origin and tab ID parameters originally passed to the CreateRoute
-  // method of the MediaRouteProvider Mojo interface.
-  url::Origin origin_;
-  int tab_id_;
-
-  const AutoJoinPolicy auto_join_policy_;
-
-  DataDecoder* const data_decoder_;
-  CastActivityRecord* const activity_;
-
-  // The maximum number of pending media requests, used to prevent memory leaks.
-  // Normally the number of pending requests should be fairly small, but each
-  // entry only consumes 2*sizeof(int) bytes, so the upper limit is set fairly
-  // high.
-  static constexpr std::size_t kMaxPendingMediaRequests = 1024;
-
-  // Maps internal, locally-generated request IDs to sequence numbers from cast
-  // messages received from the client.  Used to set an appropriate
-  // sequenceNumber field in outgoing messages so a client can associate a media
-  // status message with a previous request.
-  //
-  // TODO(jrw): Investigate whether this mapping is really necessary, or if
-  // sequence numbers can be used directly without generating request IDs.
-  base::flat_map<int, int> pending_media_requests_;
-
-  // Binding for the PresentationConnection in Blink to receive incoming
-  // messages and respond to state changes.
-  mojo::Binding<blink::mojom::PresentationConnection> connection_binding_;
-
-  // Mojo message pipe to PresentationConnection in Blink to send messages and
-  // initiate state changes.
-  blink::mojom::PresentationConnectionPtr connection_;
-
-  base::WeakPtrFactory<CastSessionClient> weak_ptr_factory_;
-  DISALLOW_COPY_AND_ASSIGN(CastSessionClient);
-};
-
-// Represents an ongoing or launching Cast application on a Cast receiver.
-// It keeps track of the set of Cast SDK clients connected to the application.
-// Note that we do not keep track of 1-UA mode presentations here. Instead, they
-// are handled by LocalPresentationManager.
-//
-// Instances of this class are associated with a specific session and app.
-class CastActivityRecord {
- public:
-  ~CastActivityRecord();
-
-  const MediaRoute& route() const { return route_; }
-  const std::string& app_id() const { return app_id_; }
-  const base::flat_map<std::string, std::unique_ptr<CastSessionClient>>&
-  connected_clients() const {
-    return connected_clients_;
-  }
-  const base::Optional<std::string>& session_id() const { return session_id_; }
-
-  // Sends app message |cast_message|, which came from the SDK client, to the
-  // receiver hosting this session. Returns true if the message is sent
-  // successfully.
-  cast_channel::Result SendAppMessageToReceiver(
-      const CastInternalMessage& cast_message);
-
-  // Sends media command |cast_message|, which came from the SDK client, to the
-  // receiver hosting this session. Returns the locally-assigned request ID of
-  // the message sent to the receiver.
-  base::Optional<int> SendMediaRequestToReceiver(
-      const CastInternalMessage& cast_message);
-
-  // Sends a SET_VOLUME request to the receiver and calls |callback| when a
-  // response indicating whether the request succeeded is received.
-  void SendSetVolumeRequestToReceiver(const CastInternalMessage& cast_message,
-                                      cast_channel::ResultCallback callback);
-
-  void SendStopSessionMessageToReceiver(
-      const base::Optional<std::string>& client_id,
-      mojom::MediaRouteProvider::TerminateRouteCallback callback);
-
-  // Called when the client given by |client_id| requests to leave the session.
-  // This will also cause all clients within the session with matching origin
-  // and/or tab ID to leave (i.e., their presentation connections will be
-  // closed).
-  void HandleLeaveSession(const std::string& client_id);
-
-  // Adds a new client specified by |source| to this session and returns the
-  // handles of the two pipes to be held by Blink.  It is invalid to call this
-  // method if the client already exists.
-  mojom::RoutePresentationConnectionPtr AddClient(const CastMediaSource& source,
-                                                  const url::Origin& origin,
-                                                  int tab_id);
-  void RemoveClient(const std::string& client_id);
-
-  // On the first call, saves the ID of |session|.  On subsequent calls,
-  // notifies all connected clients that the session has been updated.  In both
-  // cases, the stored route description is updated to match the session
-  // description.
-  //
-  // The |hash_token| parameter is used for hashing receiver IDs in messages
-  // sent to the Cast SDK, and |sink| is the sink associated with |session|.
-  void SetOrUpdateSession(const CastSession& session,
-                          const MediaSinkInternal& sink,
-                          const std::string& hash_token);
-
-  // Sends |message| to the client given by |client_id|.
-  void SendMessageToClient(
-      const std::string& client_id,
-      blink::mojom::PresentationConnectionMessagePtr message);
-
-  // Closes / Terminates the PresentationConnections of all clients connected
-  // to this activity.
-  void ClosePresentationConnections(
-      blink::mojom::PresentationConnectionCloseReason close_reason);
-  void TerminatePresentationConnections();
-
- private:
-  friend class CastSessionClient;
-  friend class CastActivityManager;
-
-  // Creates a new record owned by |owner|.
-  CastActivityRecord(const MediaRoute& route,
-                     const std::string& app_id,
-                     MediaSinkServiceBase* media_sink_service,
-                     cast_channel::CastMessageHandler* message_handler,
-                     CastSessionTracker* session_tracker,
-                     DataDecoder* data_decoder,
-                     CastActivityManager* owner);
-
-  CastSession* GetSession();
-  int GetCastChannelId();
-
-  MediaRoute route_;
-  const std::string app_id_;
-  base::flat_map<std::string, std::unique_ptr<CastSessionClient>>
-      connected_clients_;
-
-  // Set by CastActivityManager after the session is launched successfully.
-  base::Optional<std::string> session_id_;
-
-  MediaSinkServiceBase* const media_sink_service_;
-  // TODO(https://crbug.com/809249): Consider wrapping CastMessageHandler with
-  // known parameters (sink, client ID, session transport ID) and passing them
-  // to objects that need to send messges to the receiver.
-  cast_channel::CastMessageHandler* const message_handler_;
-  CastSessionTracker* const session_tracker_;
-  DataDecoder* const data_decoder_;
-  CastActivityManager* const activity_manager_;
-
-  DISALLOW_COPY_AND_ASSIGN(CastActivityRecord);
-};
+class MediaSinkServiceBase;
 
 // Handles launching and terminating Cast application on a Cast receiver, and
 // acts as the source of truth for Cast activities and MediaRoutes.
diff --git a/chrome/browser/media/router/providers/cast/cast_activity_record.cc b/chrome/browser/media/router/providers/cast/cast_activity_record.cc
new file mode 100644
index 0000000..d7373df
--- /dev/null
+++ b/chrome/browser/media/router/providers/cast/cast_activity_record.cc
@@ -0,0 +1,196 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/media/router/providers/cast/cast_activity_record.h"
+
+#include <memory>
+#include <vector>
+
+#include "base/bind.h"
+#include "base/optional.h"
+#include "chrome/browser/media/router/providers/cast/cast_activity_manager.h"
+#include "chrome/browser/media/router/providers/cast/cast_session_client.h"
+#include "url/origin.h"
+
+using blink::mojom::PresentationConnectionCloseReason;
+using blink::mojom::PresentationConnectionMessagePtr;
+
+namespace media_router {
+
+CastActivityRecord::~CastActivityRecord() {}
+
+mojom::RoutePresentationConnectionPtr CastActivityRecord::AddClient(
+    const CastMediaSource& source,
+    const url::Origin& origin,
+    int tab_id) {
+  const std::string& client_id = source.client_id();
+  auto client = std::make_unique<CastSessionClient>(client_id, origin, tab_id,
+                                                    source.auto_join_policy(),
+                                                    data_decoder_, this);
+  auto presentation_connection = client->Init();
+  connected_clients_.emplace(client_id, std::move(client));
+
+  // Route is now local due to connected client.
+  route_.set_local(true);
+  return presentation_connection;
+}
+
+void CastActivityRecord::RemoveClient(const std::string& client_id) {
+  // Don't erase by key here as the |client_id| may be referring to the
+  // client being deleted.
+  auto it = connected_clients_.find(client_id);
+  if (it != connected_clients_.end())
+    connected_clients_.erase(it);
+}
+
+void CastActivityRecord::SetOrUpdateSession(const CastSession& session,
+                                            const MediaSinkInternal& sink,
+                                            const std::string& hash_token) {
+  DVLOG(2) << "CastActivityRecord::SetOrUpdateSession old session_id = "
+           << session_id_.value_or("<missing>")
+           << ", new session_id = " << session.session_id();
+  if (!session_id_) {
+    session_id_ = session.session_id();
+  } else {
+    DCHECK_EQ(*session_id_, session.session_id());
+    for (auto& client : connected_clients_)
+      client.second->SendMessageToClient(
+          CreateUpdateSessionMessage(session, client.first, sink, hash_token));
+  }
+  route_.set_description(session.GetRouteDescription());
+}
+
+cast_channel::Result CastActivityRecord::SendAppMessageToReceiver(
+    const CastInternalMessage& cast_message) {
+  const CastSession* session = GetSession();
+  if (!session)
+    return cast_channel::Result::kFailed;  // TODO(jrw): Send error code
+                                           // back to SDK client.
+  const std::string& message_namespace = cast_message.app_message_namespace();
+  if (!base::ContainsKey(session->message_namespaces(), message_namespace)) {
+    DLOG(ERROR) << "Disallowed message namespace: " << message_namespace;
+    // TODO(jrw): Send error code back to SDK client.
+    return cast_channel::Result::kFailed;
+  }
+  return message_handler_->SendAppMessage(
+      GetCastChannelId(),
+      cast_channel::CreateCastMessage(
+          message_namespace, cast_message.app_message_body(),
+          cast_message.client_id, session->transport_id()));
+}
+
+base::Optional<int> CastActivityRecord::SendMediaRequestToReceiver(
+    const CastInternalMessage& cast_message) {
+  CastSession* session = GetSession();
+  if (!session)
+    return base::nullopt;
+  return message_handler_->SendMediaRequest(
+      GetCastChannelId(), cast_message.v2_message_body(),
+      cast_message.client_id, session->transport_id());
+}
+
+void CastActivityRecord::SendSetVolumeRequestToReceiver(
+    const CastInternalMessage& cast_message,
+    cast_channel::ResultCallback callback) {
+  message_handler_->SendSetVolumeRequest(
+      GetCastChannelId(), cast_message.v2_message_body(),
+      cast_message.client_id, std::move(callback));
+}
+
+void CastActivityRecord::SendStopSessionMessageToReceiver(
+    const base::Optional<std::string>& client_id,
+    mojom::MediaRouteProvider::TerminateRouteCallback callback) {
+  const std::string& sink_id = route_.media_sink_id();
+  const MediaSinkInternal* sink = media_sink_service_->GetSinkById(sink_id);
+  DCHECK(sink);
+  DCHECK(session_id_);
+
+  message_handler_->StopSession(
+      sink->cast_data().cast_channel_id, *session_id_, client_id,
+      base::BindOnce(&CastActivityManager::HandleStopSessionResponse,
+                     activity_manager_->GetWeakPtr(), route_.media_route_id(),
+                     std::move(callback)));
+}
+
+void CastActivityRecord::HandleLeaveSession(const std::string& client_id) {
+  auto client_it = connected_clients_.find(client_id);
+  CHECK(client_it != connected_clients_.end());
+  CastSessionClient& client = *client_it->second;
+  std::vector<std::string> leaving_client_ids;
+  for (const auto& pair : connected_clients_) {
+    if (pair.second->MatchesAutoJoinPolicy(client.origin(), client.tab_id()))
+      leaving_client_ids.push_back(pair.first);
+  }
+
+  for (const auto& client_id : leaving_client_ids) {
+    auto leaving_client_it = connected_clients_.find(client_id);
+    CHECK(leaving_client_it != connected_clients_.end());
+    leaving_client_it->second->CloseConnection(
+        PresentationConnectionCloseReason::CLOSED);
+    connected_clients_.erase(leaving_client_it);
+  }
+}
+
+void CastActivityRecord::SendMessageToClient(
+    const std::string& client_id,
+    PresentationConnectionMessagePtr message) {
+  auto it = connected_clients_.find(client_id);
+  if (it == connected_clients_.end()) {
+    DLOG(ERROR) << "Attempting to send message to nonexistent client: "
+                << client_id;
+    return;
+  }
+  it->second->SendMessageToClient(std::move(message));
+}
+
+void CastActivityRecord::ClosePresentationConnections(
+    PresentationConnectionCloseReason close_reason) {
+  for (auto& client : connected_clients_)
+    client.second->CloseConnection(close_reason);
+}
+
+void CastActivityRecord::TerminatePresentationConnections() {
+  for (auto& client : connected_clients_)
+    client.second->TerminateConnection();
+}
+
+CastActivityRecord::CastActivityRecord(
+    const MediaRoute& route,
+    const std::string& app_id,
+    MediaSinkServiceBase* media_sink_service,
+    cast_channel::CastMessageHandler* message_handler,
+    CastSessionTracker* session_tracker,
+    DataDecoder* data_decoder,
+    CastActivityManager* owner)
+    : route_(route),
+      app_id_(app_id),
+      media_sink_service_(media_sink_service),
+      message_handler_(message_handler),
+      session_tracker_(session_tracker),
+      data_decoder_(data_decoder),
+      activity_manager_(owner) {}
+
+CastSession* CastActivityRecord::GetSession() {
+  DCHECK(session_id_);
+  CastSession* session = session_tracker_->GetSessionById(*session_id_);
+  if (!session) {
+    // TODO(crbug.com/905002): Add UMA metrics for this and other error
+    // conditions.
+    LOG(ERROR) << "Session not found: " << session_id_.value_or("<missing>");
+  }
+  return session;
+}
+
+int CastActivityRecord::GetCastChannelId() {
+  const MediaSinkInternal* sink = media_sink_service_->GetSinkByRoute(route_);
+  if (!sink) {
+    // TODO(crbug.com/905002): Add UMA metrics for this and other error
+    // conditions.
+    LOG(ERROR) << "Sink not found for route: " << route_;
+    return -1;
+  }
+  return sink->cast_data().cast_channel_id;
+}
+
+}  // namespace media_router
diff --git a/chrome/browser/media/router/providers/cast/cast_activity_record.h b/chrome/browser/media/router/providers/cast/cast_activity_record.h
new file mode 100644
index 0000000..7e6e7a4
--- /dev/null
+++ b/chrome/browser/media/router/providers/cast/cast_activity_record.h
@@ -0,0 +1,142 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_ACTIVITY_RECORD_H_
+#define CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_ACTIVITY_RECORD_H_
+
+#include <memory>
+#include <string>
+
+#include "base/containers/flat_map.h"
+#include "base/macros.h"
+#include "base/optional.h"
+#include "chrome/common/media_router/mojo/media_router.mojom.h"
+#include "chrome/common/media_router/providers/cast/cast_media_source.h"
+#include "components/cast_channel/cast_message_handler.h"
+#include "url/origin.h"
+
+namespace media_router {
+
+class CastActivityManager;
+struct CastInternalMessage;
+class CastSession;
+class CastSessionClient;
+class CastSessionTracker;
+class DataDecoder;
+class MediaSinkServiceBase;
+
+// Represents an ongoing or launching Cast application on a Cast receiver.
+// It keeps track of the set of Cast SDK clients connected to the application.
+// Note that we do not keep track of 1-UA mode presentations here. Instead, they
+// are handled by LocalPresentationManager.
+//
+// Instances of this class are associated with a specific session and app.
+class CastActivityRecord {
+ public:
+  ~CastActivityRecord();
+
+  const MediaRoute& route() const { return route_; }
+  const std::string& app_id() const { return app_id_; }
+  const base::flat_map<std::string, std::unique_ptr<CastSessionClient>>&
+  connected_clients() const {
+    return connected_clients_;
+  }
+  const base::Optional<std::string>& session_id() const { return session_id_; }
+
+  // Sends app message |cast_message|, which came from the SDK client, to the
+  // receiver hosting this session. Returns true if the message is sent
+  // successfully.
+  cast_channel::Result SendAppMessageToReceiver(
+      const CastInternalMessage& cast_message);
+
+  // Sends media command |cast_message|, which came from the SDK client, to the
+  // receiver hosting this session. Returns the locally-assigned request ID of
+  // the message sent to the receiver.
+  base::Optional<int> SendMediaRequestToReceiver(
+      const CastInternalMessage& cast_message);
+
+  // Sends a SET_VOLUME request to the receiver and calls |callback| when a
+  // response indicating whether the request succeeded is received.
+  void SendSetVolumeRequestToReceiver(const CastInternalMessage& cast_message,
+                                      cast_channel::ResultCallback callback);
+
+  void SendStopSessionMessageToReceiver(
+      const base::Optional<std::string>& client_id,
+      mojom::MediaRouteProvider::TerminateRouteCallback callback);
+
+  // Called when the client given by |client_id| requests to leave the session.
+  // This will also cause all clients within the session with matching origin
+  // and/or tab ID to leave (i.e., their presentation connections will be
+  // closed).
+  void HandleLeaveSession(const std::string& client_id);
+
+  // Adds a new client specified by |source| to this session and returns the
+  // handles of the two pipes to be held by Blink.  It is invalid to call this
+  // method if the client already exists.
+  mojom::RoutePresentationConnectionPtr AddClient(const CastMediaSource& source,
+                                                  const url::Origin& origin,
+                                                  int tab_id);
+  void RemoveClient(const std::string& client_id);
+
+  // On the first call, saves the ID of |session|.  On subsequent calls,
+  // notifies all connected clients that the session has been updated.  In both
+  // cases, the stored route description is updated to match the session
+  // description.
+  //
+  // The |hash_token| parameter is used for hashing receiver IDs in messages
+  // sent to the Cast SDK, and |sink| is the sink associated with |session|.
+  void SetOrUpdateSession(const CastSession& session,
+                          const MediaSinkInternal& sink,
+                          const std::string& hash_token);
+
+  // Sends |message| to the client given by |client_id|.
+  void SendMessageToClient(
+      const std::string& client_id,
+      blink::mojom::PresentationConnectionMessagePtr message);
+
+  // Closes / Terminates the PresentationConnections of all clients connected
+  // to this activity.
+  void ClosePresentationConnections(
+      blink::mojom::PresentationConnectionCloseReason close_reason);
+  void TerminatePresentationConnections();
+
+ private:
+  friend class CastSessionClient;
+  friend class CastActivityManager;
+
+  // Creates a new record owned by |owner|.
+  CastActivityRecord(const MediaRoute& route,
+                     const std::string& app_id,
+                     MediaSinkServiceBase* media_sink_service,
+                     cast_channel::CastMessageHandler* message_handler,
+                     CastSessionTracker* session_tracker,
+                     DataDecoder* data_decoder,
+                     CastActivityManager* owner);
+
+  CastSession* GetSession();
+  int GetCastChannelId();
+
+  MediaRoute route_;
+  const std::string app_id_;
+  base::flat_map<std::string, std::unique_ptr<CastSessionClient>>
+      connected_clients_;
+
+  // Set by CastActivityManager after the session is launched successfully.
+  base::Optional<std::string> session_id_;
+
+  MediaSinkServiceBase* const media_sink_service_;
+  // TODO(https://crbug.com/809249): Consider wrapping CastMessageHandler with
+  // known parameters (sink, client ID, session transport ID) and passing them
+  // to objects that need to send messages to the receiver.
+  cast_channel::CastMessageHandler* const message_handler_;
+  CastSessionTracker* const session_tracker_;
+  DataDecoder* const data_decoder_;
+  CastActivityManager* const activity_manager_;
+
+  DISALLOW_COPY_AND_ASSIGN(CastActivityRecord);
+};
+
+}  // namespace media_router
+
+#endif  // CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_ACTIVITY_RECORD_H_
diff --git a/chrome/browser/media/router/providers/cast/cast_session_client.cc b/chrome/browser/media/router/providers/cast/cast_session_client.cc
new file mode 100644
index 0000000..a8b7a71
--- /dev/null
+++ b/chrome/browser/media/router/providers/cast/cast_session_client.cc
@@ -0,0 +1,231 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/media/router/providers/cast/cast_session_client.h"
+
+#include "base/bind.h"
+#include "chrome/browser/media/router/data_decoder_util.h"
+#include "chrome/browser/media/router/providers/cast/cast_activity_record.h"
+
+using blink::mojom::PresentationConnectionCloseReason;
+using blink::mojom::PresentationConnectionMessagePtr;
+using blink::mojom::PresentationConnectionPtrInfo;
+using blink::mojom::PresentationConnectionState;
+
+namespace media_router {
+
+namespace {
+
+void ReportClientMessageParseError(const MediaRoute::Id& route_id,
+                                   const std::string& error) {
+  // TODO(crbug.com/808720): Record UMA metric for parse result.
+  DVLOG(2) << "Failed to parse Cast client message for " << route_id << ": "
+           << error;
+}
+
+}  // namespace
+
+CastSessionClient::CastSessionClient(const std::string& client_id,
+                                     const url::Origin& origin,
+                                     int tab_id,
+                                     AutoJoinPolicy auto_join_policy,
+                                     DataDecoder* data_decoder,
+                                     CastActivityRecord* activity)
+    : client_id_(client_id),
+      origin_(origin),
+      tab_id_(tab_id),
+      auto_join_policy_(auto_join_policy),
+      data_decoder_(data_decoder),
+      activity_(activity),
+      connection_binding_(this),
+      weak_ptr_factory_(this) {}
+
+CastSessionClient::~CastSessionClient() = default;
+
+mojom::RoutePresentationConnectionPtr CastSessionClient::Init() {
+  PresentationConnectionPtrInfo renderer_connection;
+  connection_binding_.Bind(mojo::MakeRequest(&renderer_connection));
+  auto connection_request = mojo::MakeRequest(&connection_);
+  connection_->DidChangeState(PresentationConnectionState::CONNECTED);
+  return mojom::RoutePresentationConnection::New(std::move(renderer_connection),
+                                                 std::move(connection_request));
+}
+
+void CastSessionClient::SendMessageToClient(
+    PresentationConnectionMessagePtr message) {
+  connection_->OnMessage(std::move(message));
+}
+
+void CastSessionClient::SendMediaStatusToClient(
+    const base::Value& media_status,
+    base::Optional<int> request_id) {
+  // Look up if there is a pending request from this client associated with this
+  // message. If so, send the media status message as a response by setting the
+  // sequence number.
+  base::Optional<int> sequence_number;
+  if (request_id) {
+    auto it = pending_media_requests_.find(*request_id);
+    if (it != pending_media_requests_.end()) {
+      DVLOG(2) << "Found matching request id: " << *request_id << " -> "
+               << it->second;
+      sequence_number = it->second;
+      pending_media_requests_.erase(it);
+    }
+  }
+
+  SendMessageToClient(
+      CreateV2Message(client_id_, media_status, sequence_number));
+}
+
+void CastSessionClient::OnMessage(PresentationConnectionMessagePtr message) {
+  if (!message->is_message())
+    return;
+
+  data_decoder_->ParseJson(
+      message->get_message(),
+      base::BindRepeating(&CastSessionClient::HandleParsedClientMessage,
+                          weak_ptr_factory_.GetWeakPtr()),
+      base::BindRepeating(&ReportClientMessageParseError,
+                          activity_->route().media_route_id()));
+}
+
+void CastSessionClient::DidClose(PresentationConnectionCloseReason reason) {
+  // TODO(https://crbug.com/809249): Implement close connection with this
+  // method once we make sure Blink calls this on navigation and on
+  // PresentationConnection::close().
+}
+bool CastSessionClient::MatchesAutoJoinPolicy(url::Origin origin,
+                                              int tab_id) const {
+  switch (auto_join_policy_) {
+    case AutoJoinPolicy::kTabAndOriginScoped:
+      return origin == origin_ && tab_id == tab_id_;
+    case AutoJoinPolicy::kOriginScoped:
+      return origin == origin_;
+    default:
+      return false;
+  }
+}
+
+void CastSessionClient::HandleParsedClientMessage(
+    std::unique_ptr<base::Value> message) {
+  std::unique_ptr<CastInternalMessage> cast_message =
+      CastInternalMessage::From(std::move(*message));
+  if (!cast_message) {
+    ReportClientMessageParseError(activity_->route().media_route_id(),
+                                  "Not a Cast message");
+    DLOG(ERROR) << "Received non-Cast message from client";
+    return;
+  }
+
+  if (cast_message->client_id != client_id_) {
+    DLOG(ERROR) << "Client ID mismatch: expected: " << client_id_
+                << ", got: " << cast_message->client_id;
+    return;
+  }
+
+  if (cast_message->has_session_id() &&
+      cast_message->session_id() != activity_->session_id()) {
+    DLOG(ERROR) << "Session ID mismatch: expected: "
+                << activity_->session_id().value_or("<missing>")
+                << ", got: " << cast_message->session_id();
+    return;
+  }
+
+  switch (cast_message->type) {
+    case CastInternalMessage::Type::kAppMessage:
+      // Send an ACK message back to SDK client to indicate it is handled.
+      if (activity_->SendAppMessageToReceiver(*cast_message) ==
+          cast_channel::Result::kOk) {
+        DCHECK(cast_message->sequence_number);
+        SendMessageToClient(CreateAppMessageAck(
+            cast_message->client_id, *cast_message->sequence_number));
+      }
+      break;
+
+    case CastInternalMessage::Type::kV2Message:
+      HandleV2ProtocolMessage(*cast_message);
+      break;
+
+    case CastInternalMessage::Type::kLeaveSession:
+      SendMessageToClient(CreateLeaveSessionAckMessage(
+          client_id_, cast_message->sequence_number));
+      activity_->HandleLeaveSession(client_id_);
+      break;
+
+    default:
+      DLOG(ERROR) << "Unhandled message type: "
+                  << static_cast<int>(cast_message->type);
+  }
+}
+
+void CastSessionClient::HandleV2ProtocolMessage(
+    const CastInternalMessage& cast_message) {
+  const std::string& type_str = cast_message.v2_message_type();
+  cast_channel::V2MessageType type =
+      cast_channel::V2MessageTypeFromString(type_str);
+  if (cast_channel::IsMediaRequestMessageType(type)) {
+    DVLOG(2) << "Got media command from client: " << type_str;
+    base::Optional<int> request_id =
+        activity_->SendMediaRequestToReceiver(cast_message);
+    if (request_id) {
+      DCHECK(cast_message.sequence_number);
+      if (pending_media_requests_.size() >= kMaxPendingMediaRequests) {
+        // Delete old pending requests.  Request IDs are generated sequentially,
+        // so this should always delete the oldest requests.  Deleting requests
+        // is O(n) in the size of the table, so we delete half the outstanding
+        // requests at once so the amortized deletion cost is O(1).
+        pending_media_requests_.erase(pending_media_requests_.begin(),
+                                      pending_media_requests_.begin() +
+                                          pending_media_requests_.size() / 2);
+      }
+      pending_media_requests_.emplace(*request_id,
+                                      *cast_message.sequence_number);
+    }
+  } else if (type == cast_channel::V2MessageType::kSetVolume) {
+    DVLOG(2) << "Got volume command from client";
+    DCHECK(cast_message.sequence_number);
+    activity_->SendSetVolumeRequestToReceiver(
+        cast_message, base::BindOnce(&CastSessionClient::SendResultResponse,
+                                     weak_ptr_factory_.GetWeakPtr(),
+                                     *cast_message.sequence_number));
+  } else if (type == cast_channel::V2MessageType::kStop) {
+    // TODO(jrw): implement STOP_SESSION.
+    DVLOG(2) << "Ignoring stop-session (" << type_str << ") message";
+  } else {
+    DLOG(ERROR) << "Unknown v2 message type: " << type_str;
+  }
+}
+
+void CastSessionClient::SendResultResponse(int sequence_number,
+                                           cast_channel::Result result) {
+  // TODO(jrw): Send error message on failure.
+  if (result == cast_channel::Result::kOk) {
+    // Send an empty message to let the client know the request succeeded.
+    SendMessageToClient(
+        CreateV2Message(client_id_, base::Value(), sequence_number));
+  }
+}
+
+void CastSessionClient::CloseConnection(
+    PresentationConnectionCloseReason close_reason) {
+  if (connection_)
+    connection_->DidClose(close_reason);
+
+  TearDownPresentationConnection();
+}
+
+void CastSessionClient::TerminateConnection() {
+  if (connection_) {
+    connection_->DidChangeState(PresentationConnectionState::TERMINATED);
+  }
+
+  TearDownPresentationConnection();
+}
+
+void CastSessionClient::TearDownPresentationConnection() {
+  connection_.reset();
+  connection_binding_.Close();
+}
+
+}  // namespace media_router
diff --git a/chrome/browser/media/router/providers/cast/cast_session_client.h b/chrome/browser/media/router/providers/cast/cast_session_client.h
new file mode 100644
index 0000000..1965f61
--- /dev/null
+++ b/chrome/browser/media/router/providers/cast/cast_session_client.h
@@ -0,0 +1,144 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_SESSION_CLIENT_H_
+#define CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_SESSION_CLIENT_H_
+
+#include <memory>
+#include <string>
+
+#include "base/containers/flat_map.h"
+#include "base/macros.h"
+#include "base/memory/weak_ptr.h"
+#include "base/optional.h"
+#include "chrome/browser/media/router/providers/cast/cast_session_tracker.h"
+#include "chrome/common/media_router/mojo/media_router.mojom.h"
+#include "chrome/common/media_router/providers/cast/cast_media_source.h"
+#include "mojo/public/cpp/bindings/binding.h"
+#include "url/origin.h"
+
+namespace media_router {
+
+class CastActivityRecord;
+class DataDecoder;
+
+// Represents a Cast SDK client connection to a Cast session. This class
+// contains PresentationConnection Mojo pipes to send and receive messages
+// from/to the corresponding SDK client hosted in a presentation controlling
+// frame in Blink.
+class CastSessionClient : public blink::mojom::PresentationConnection {
+ public:
+  CastSessionClient(const std::string& client_id,
+                    const url::Origin& origin,
+                    int tab_id,
+                    AutoJoinPolicy auto_join_policy,
+                    DataDecoder* data_decoder,
+                    CastActivityRecord* activity);
+  ~CastSessionClient() override;
+
+  const std::string& client_id() const { return client_id_; }
+  const base::Optional<std::string>& session_id() const { return session_id_; }
+  const url::Origin& origin() const { return origin_; }
+  int tab_id() { return tab_id_; }
+
+  // Initializes the PresentationConnection Mojo message pipes and returns the
+  // handles of the two pipes to be held by Blink. Also transitions the
+  // connection state to CONNECTED. This method can only be called once, and
+  // must be called before |SendMessageToClient()|.
+  mojom::RoutePresentationConnectionPtr Init();
+
+  // Sends |message| to the Cast SDK client in Blink.
+  void SendMessageToClient(
+      blink::mojom::PresentationConnectionMessagePtr message);
+
+  // Sends a media status message to the client.  If |request_id| is given, it
+  // is used to look up the sequence number of a previous request, which is
+  // included in the outgoing message.
+  void SendMediaStatusToClient(const base::Value& media_status,
+                               base::Optional<int> request_id);
+
+  // Changes the PresentationConnection state to CLOSED/TERMINATED and resets
+  // PresentationConnection message pipes.
+  void CloseConnection(
+      blink::mojom::PresentationConnectionCloseReason close_reason);
+  void TerminateConnection();
+
+  // blink::mojom::PresentationConnection implementation
+  void OnMessage(
+      blink::mojom::PresentationConnectionMessagePtr message) override;
+  // Blink does not initiate state change or close using PresentationConnection.
+  // Instead, |PresentationService::Close/TerminateConnection| is used.
+  void DidChangeState(
+      blink::mojom::PresentationConnectionState state) override {}
+  void DidClose(
+      blink::mojom::PresentationConnectionCloseReason reason) override;
+
+  // Tests whether the specified origin and tab ID match this session's origin
+  // and tab ID to the extent required by this sesssion's auto-join policy.
+  // Depending on the value of |auto_join_policy_|, |origin|, |tab_id|, or both
+  // may be ignored.
+  //
+  // TODO(jrw): It appears the real purpose of this method is to detect whether
+  // this session was created by an auto-join request, but auto-joining isn't
+  // implemented yet.  This comment should probably be updated once auto-join is
+  // implemented and I've verified this method does what I think it does.
+  // Alternatively, it might make more sense to record at session creation time
+  // whether a particular session was created by an auto-join request, in which
+  // case I believe this method would no longer be needed.
+  bool MatchesAutoJoinPolicy(url::Origin origin, int tab_id) const;
+
+ private:
+  void HandleParsedClientMessage(std::unique_ptr<base::Value> message);
+  void HandleV2ProtocolMessage(const CastInternalMessage& cast_message);
+
+  // Resets the PresentationConnection Mojo message pipes.
+  void TearDownPresentationConnection();
+
+  // Sends a response to the client indicating that a particular request
+  // succeeded or failed.
+  void SendResultResponse(int sequence_number, cast_channel::Result result);
+
+  std::string client_id_;
+  base::Optional<std::string> session_id_;
+
+  // The origin and tab ID parameters originally passed to the CreateRoute
+  // method of the MediaRouteProvider Mojo interface.
+  url::Origin origin_;
+  int tab_id_;
+
+  const AutoJoinPolicy auto_join_policy_;
+
+  DataDecoder* const data_decoder_;
+  CastActivityRecord* const activity_;
+
+  // The maximum number of pending media requests, used to prevent memory leaks.
+  // Normally the number of pending requests should be fairly small, but each
+  // entry only consumes 2*sizeof(int) bytes, so the upper limit is set fairly
+  // high.
+  static constexpr std::size_t kMaxPendingMediaRequests = 1024;
+
+  // Maps internal, locally-generated request IDs to sequence numbers from cast
+  // messages received from the client.  Used to set an appropriate
+  // sequenceNumber field in outgoing messages so a client can associate a media
+  // status message with a previous request.
+  //
+  // TODO(jrw): Investigate whether this mapping is really necessary, or if
+  // sequence numbers can be used directly without generating request IDs.
+  base::flat_map<int, int> pending_media_requests_;
+
+  // Binding for the PresentationConnection in Blink to receive incoming
+  // messages and respond to state changes.
+  mojo::Binding<blink::mojom::PresentationConnection> connection_binding_;
+
+  // Mojo message pipe to PresentationConnection in Blink to send messages and
+  // initiate state changes.
+  blink::mojom::PresentationConnectionPtr connection_;
+
+  base::WeakPtrFactory<CastSessionClient> weak_ptr_factory_;
+  DISALLOW_COPY_AND_ASSIGN(CastSessionClient);
+};
+
+}  // namespace media_router
+
+#endif  // CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_SESSION_CLIENT_H_
diff --git a/chrome/browser/media/router/providers/cast/cast_session_tracker.h b/chrome/browser/media/router/providers/cast/cast_session_tracker.h
index b616646..bfdeff1c 100644
--- a/chrome/browser/media/router/providers/cast/cast_session_tracker.h
+++ b/chrome/browser/media/router/providers/cast/cast_session_tracker.h
@@ -5,6 +5,7 @@
 #ifndef CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_SESSION_TRACKER_H_
 #define CHROME_BROWSER_MEDIA_ROUTER_PROVIDERS_CAST_CAST_SESSION_TRACKER_H_
 
+#include "base/containers/flat_map.h"
 #include "base/macros.h"
 #include "base/observer_list.h"
 #include "base/sequence_checker.h"
diff --git a/chrome/browser/previews/previews_offline_helper.cc b/chrome/browser/previews/previews_offline_helper.cc
index 28fbe81..d9cd2a21 100644
--- a/chrome/browser/previews/previews_offline_helper.cc
+++ b/chrome/browser/previews/previews_offline_helper.cc
@@ -52,8 +52,8 @@
 // Cleans up the given dictionary by removing all stale (expiry has passed)
 // entries.
 void RemoveStaleEntries(base::DictionaryValue* dict) {
-  // TODO(crbug.com/914577): Cap the size of the pref by deleting the oldest one
-  // above a certain size.
+  base::Time earliest_expiry = base::Time::Max();
+  std::string earliest_key;
   std::vector<std::string> keys_to_delete;
   for (const auto& iter : dict->DictItems()) {
     // Check for a corrupted value and throw it out if so.
@@ -73,12 +73,23 @@
         time.value() + previews::params::OfflinePreviewFreshnessDuration();
     bool is_expired = expiry <= base::Time::Now();
 
-    if (is_expired)
+    if (is_expired) {
       keys_to_delete.push_back(iter.first);
+      continue;
+    }
+
+    if (expiry < earliest_expiry)
+      earliest_key = iter.first;
   }
 
   for (const std::string& key : keys_to_delete)
     dict->RemoveKey(key);
+
+  // RemoveStaleEntries is called for every new added page, so it's fine to just
+  // remove one at a time to keep the pref size below a threshold.
+  if (dict->DictSize() > previews::params::OfflinePreviewsHelperMaxPrefSize()) {
+    dict->RemoveKey(earliest_key);
+  }
 }
 
 }  // namespace
diff --git a/chrome/browser/previews/previews_offline_helper_unittest.cc b/chrome/browser/previews/previews_offline_helper_unittest.cc
index d6de492..ccef8a87 100644
--- a/chrome/browser/previews/previews_offline_helper_unittest.cc
+++ b/chrome/browser/previews/previews_offline_helper_unittest.cc
@@ -216,3 +216,27 @@
     }
   }
 }
+
+TEST_F(PreviewsOfflineHelperTest, TestMaxPrefSize) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeatureWithParameters(
+      previews::features::kOfflinePreviewsFalsePositivePrevention,
+      {{"max_pref_entries", "1"}});
+
+  PreviewsOfflineHelper* helper = NewHelper();
+
+  base::Time first = base::Time::Now();
+  base::Time second = first + base::TimeDelta::FromMinutes(1);
+
+  helper->OfflinePageAdded(
+      nullptr, MakeAddedPageItem("http://test.first.com", "", first));
+  EXPECT_TRUE(
+      helper->ShouldAttemptOfflinePreview(GURL("http://test.first.com")));
+
+  helper->OfflinePageAdded(
+      nullptr, MakeAddedPageItem("http://test.second.com", "", second));
+  EXPECT_FALSE(
+      helper->ShouldAttemptOfflinePreview(GURL("http://test.first.com")));
+  EXPECT_TRUE(
+      helper->ShouldAttemptOfflinePreview(GURL("http://test.second.com")));
+}
diff --git a/chrome/browser/profiling_host/memlog_browsertest.cc b/chrome/browser/profiling_host/memlog_browsertest.cc
index ab2d3c1..399bf0c 100644
--- a/chrome/browser/profiling_host/memlog_browsertest.cc
+++ b/chrome/browser/profiling_host/memlog_browsertest.cc
@@ -84,13 +84,7 @@
 
 // Ensure invocations via TracingController can generate a valid JSON file with
 // expected data.
-// https://crbug.com/944429
-#if defined(OS_MACOSX)
-#define MAYBE_EndToEnd DISABLED_EndToEnd
-#else
-#define MAYBE_EndToEnd EndToEnd
-#endif
-IN_PROC_BROWSER_TEST_P(MemlogBrowserTest, MAYBE_EndToEnd) {
+IN_PROC_BROWSER_TEST_P(MemlogBrowserTest, EndToEnd) {
   LOG(INFO) << "Memlog mode: " << static_cast<int>(GetParam().mode);
   LOG(INFO) << "Memlog stack mode: " << static_cast<int>(GetParam().stack_mode);
   LOG(INFO) << "Started via command line flag: "
diff --git a/chrome/browser/resource_coordinator/local_site_characteristics_data_unittest_utils.cc b/chrome/browser/resource_coordinator/local_site_characteristics_data_unittest_utils.cc
index c7791902..42d6699f 100644
--- a/chrome/browser/resource_coordinator/local_site_characteristics_data_unittest_utils.cc
+++ b/chrome/browser/resource_coordinator/local_site_characteristics_data_unittest_utils.cc
@@ -26,8 +26,7 @@
   ResourceCoordinatorTabHelper* tab_helper =
       ResourceCoordinatorTabHelper::FromWebContents(web_contents);
   DCHECK(tab_helper);
-  auto* wc_observer =
-      tab_helper->local_site_characteristics_wc_observer_for_testing();
+  auto* wc_observer = tab_helper->local_site_characteristics_wc_observer();
   DCHECK(wc_observer);
 
   auto* writer = static_cast<LocalSiteCharacteristicsDataWriter*>(
diff --git a/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.cc b/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.cc
index 29156d3..7367c5e 100644
--- a/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.cc
+++ b/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.cc
@@ -4,10 +4,17 @@
 
 #include "chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.h"
 
+#include "base/bind.h"
 #include "base/metrics/histogram_macros.h"
+#include "base/threading/sequenced_task_runner_handle.h"
+#include "chrome/browser/performance_manager/graph/frame_node_impl.h"
+#include "chrome/browser/performance_manager/graph/page_node_impl.h"
+#include "chrome/browser/performance_manager/observers/graph_observer.h"
 #include "chrome/browser/performance_manager/performance_manager.h"
+#include "chrome/browser/performance_manager/web_contents_proxy.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/resource_coordinator/local_site_characteristics_data_store_factory.h"
+#include "chrome/browser/resource_coordinator/tab_helper.h"
 #include "chrome/browser/resource_coordinator/time.h"
 #include "chrome/browser/resource_coordinator/utils.h"
 #include "content/public/browser/navigation_handle.h"
@@ -27,18 +34,42 @@
 
 }  // namespace
 
+class LocalSiteCharacteristicsWebContentsObserver::GraphObserver
+    : public performance_manager::GraphObserver {
+ public:
+  using NodeBase = performance_manager::NodeBase;
+  using FrameNodeImpl = performance_manager::FrameNodeImpl;
+  using WebContentsProxy = performance_manager::WebContentsProxy;
+
+  GraphObserver();
+
+  // GraphObserver implementation.
+  void OnRegistered() override;
+  bool ShouldObserve(const NodeBase* node) override;
+  void OnNonPersistentNotificationCreated(FrameNodeImpl* frame_node) override;
+
+ private:
+  static void DispatchNonPersistentNotificationCreated(
+      base::WeakPtr<WebContentsProxy> contents_proxy,
+      int64_t navigation_id);
+
+  // Binds to the task runner where the object is constructed.
+  scoped_refptr<base::SequencedTaskRunner> destination_task_runner_;
+
+  SEQUENCE_CHECKER(sequence_checker_);
+};
+
 LocalSiteCharacteristicsWebContentsObserver::
     LocalSiteCharacteristicsWebContentsObserver(
         content::WebContents* web_contents)
-    : content::WebContentsObserver(web_contents) {
+    : content::WebContentsObserver(web_contents),
+      performance_manager_(
+          performance_manager::PerformanceManager::GetInstance()) {
   // May not be present in some tests.
-  if (performance_manager::PerformanceManager::GetInstance()) {
-    // The PageSignalReceiver has to be enabled in order to properly track the
+  if (performance_manager_) {
+    // The performance manager has to be enabled in order to properly track the
     // non-persistent notification events.
     TabLoadTracker::Get()->AddObserver(this);
-    page_signal_receiver_ = GetPageSignalReceiver();
-    DCHECK(page_signal_receiver_);
-    page_signal_receiver_->AddObserver(this);
   }
 }
 
@@ -47,6 +78,15 @@
   DCHECK(!writer_);
 }
 
+// static
+void LocalSiteCharacteristicsWebContentsObserver::MaybeCreateGraphObserver() {
+  auto* perf_man = performance_manager::PerformanceManager::GetInstance();
+  if (!perf_man)
+    return;
+
+  perf_man->RegisterObserver(std::make_unique<GraphObserver>());
+}
+
 void LocalSiteCharacteristicsWebContentsObserver::OnVisibilityChanged(
     content::Visibility visibility) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -60,9 +100,8 @@
 
 void LocalSiteCharacteristicsWebContentsObserver::WebContentsDestroyed() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (page_signal_receiver_) {
+  if (performance_manager_) {
     TabLoadTracker::Get()->RemoveObserver(this);
-    page_signal_receiver_->RemoveObserver(this);
   }
   writer_.reset();
   writer_origin_ = url::Origin();
@@ -184,57 +223,13 @@
 }
 
 void LocalSiteCharacteristicsWebContentsObserver::
-    OnNonPersistentNotificationCreated(
-        content::WebContents* contents,
-        const PageNavigationIdentity& page_navigation_id) {
+    OnNonPersistentNotificationCreated() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (web_contents() != contents)
-    return;
+  DCHECK_NE(nullptr, performance_manager_);
 
-  DCHECK_NE(nullptr, page_signal_receiver_);
-
-  // Don't notify the writer if the origin of this navigation event isn't the
-  // same as the one tracked by the writer.
-  if ((page_signal_receiver_->GetNavigationIDForWebContents(contents) ==
-       page_navigation_id.navigation_id) ||
-      url::Origin::Create(GURL(page_navigation_id.url))
-          .IsSameOriginWith(writer_origin_)) {
-    MaybeNotifyBackgroundFeatureUsage(
-        &SiteCharacteristicsDataWriter::NotifyUsesNotificationsInBackground,
-        FeatureType::kNotificationUsage);
-  }
-}
-
-void LocalSiteCharacteristicsWebContentsObserver::OnLoadTimePerformanceEstimate(
-    content::WebContents* contents,
-    const PageNavigationIdentity& page_navigation_id,
-    base::TimeDelta load_duration,
-    base::TimeDelta cpu_usage_estimate,
-    uint64_t private_footprint_kb_estimate) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (web_contents() != contents)
-    return;
-
-  DCHECK_NE(nullptr, page_signal_receiver_);
-
-  bool late_notification = page_signal_receiver_->GetNavigationIDForWebContents(
-                               contents) != page_navigation_id.navigation_id;
-
-  UMA_HISTOGRAM_BOOLEAN(
-      "ResourceCoordinator.Measurement.Memory.LateNotification",
-      late_notification);
-
-  // Don't notify the writer if the origin of this navigation event isn't the
-  // same as the one tracked by the writer.
-  // TODO(siggi): Deal with late notifications by getting a writer for
-  //     the measurement's origin.
-  if (!late_notification || url::Origin::Create(GURL(page_navigation_id.url))
-                                .IsSameOriginWith(writer_origin_)) {
-    if (writer_) {
-      writer_->NotifyLoadTimePerformanceMeasurement(
-          load_duration, cpu_usage_estimate, private_footprint_kb_estimate);
-    }
-  }
+  MaybeNotifyBackgroundFeatureUsage(
+      &SiteCharacteristicsDataWriter::NotifyUsesNotificationsInBackground,
+      FeatureType::kNotificationUsage);
 }
 
 bool LocalSiteCharacteristicsWebContentsObserver::ShouldIgnoreFeatureUsageEvent(
@@ -302,4 +297,73 @@
   }
 }
 
+LocalSiteCharacteristicsWebContentsObserver::GraphObserver::GraphObserver()
+    : destination_task_runner_(base::SequencedTaskRunnerHandle::Get()) {
+  // This object will be used on the PM sequence hereafter.
+  DETACH_FROM_SEQUENCE(sequence_checker_);
+}
+
+void LocalSiteCharacteristicsWebContentsObserver::GraphObserver::
+    OnRegistered() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  DCHECK(graph()->nodes().empty());
+}
+
+bool LocalSiteCharacteristicsWebContentsObserver::GraphObserver::ShouldObserve(
+    const NodeBase* node) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  // Observe all frame nodes.
+  if (node->id().type == CoordinationUnitType::kFrame)
+    return true;
+
+  return false;
+}
+
+void LocalSiteCharacteristicsWebContentsObserver::GraphObserver::
+    OnNonPersistentNotificationCreated(FrameNodeImpl* frame_node) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  performance_manager::PageNodeImpl* page_node = frame_node->page_node();
+  destination_task_runner_->PostTask(
+      FROM_HERE,
+      base::BindOnce(&GraphObserver::DispatchNonPersistentNotificationCreated,
+                     page_node->contents_proxy(), page_node->navigation_id()));
+}
+
+namespace {
+
+// Return the WCO if notification is not late, and it's available.
+LocalSiteCharacteristicsWebContentsObserver* MaybeGetWCO(
+    base::WeakPtr<performance_manager::WebContentsProxy> contents_proxy,
+    int64_t navigation_id) {
+  // Bail if this is a late notification.
+  if (!contents_proxy || contents_proxy->LastNavigationId() != navigation_id)
+    return nullptr;
+
+  content::WebContents* web_contents = contents_proxy->GetWebContents();
+  DCHECK(web_contents);
+
+  // The L41r is not itself WebContentsUserData, but rather stored on
+  // the RC TabHelper, so retrieve that first - if available.
+  ResourceCoordinatorTabHelper* rc_th =
+      ResourceCoordinatorTabHelper::FromWebContents(web_contents);
+  if (!rc_th)
+    return nullptr;
+
+  return rc_th->local_site_characteristics_wc_observer();
+}
+
+}  // namespace
+
+// static
+void LocalSiteCharacteristicsWebContentsObserver::GraphObserver::
+    DispatchNonPersistentNotificationCreated(
+        base::WeakPtr<WebContentsProxy> contents_proxy,
+        int64_t navigation_id) {
+  if (auto* wco = MaybeGetWCO(contents_proxy, navigation_id))
+    wco->OnNonPersistentNotificationCreated();
+}
+
 }  // namespace resource_coordinator
diff --git a/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.h b/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.h
index dfb40fa..630511bc1 100644
--- a/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.h
+++ b/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.h
@@ -9,7 +9,6 @@
 #include "base/sequence_checker.h"
 #include "base/time/time.h"
 #include "chrome/browser/resource_coordinator/local_site_characteristics_data_writer.h"
-#include "chrome/browser/resource_coordinator/page_signal_receiver.h"
 #include "chrome/browser/resource_coordinator/tab_load_tracker.h"
 #include "content/public/browser/visibility.h"
 #include "content/public/browser/web_contents_observer.h"
@@ -19,19 +18,25 @@
 class NavigationHandle;
 }
 
+namespace performance_manager {
+class PerformanceManager;
+}
+
 namespace resource_coordinator {
 
 // WebContents observer that manages a SiteCharacteristicsDataWriter associated
 // with a WebContents and forwards the appropriate events to it.
 class LocalSiteCharacteristicsWebContentsObserver
     : public content::WebContentsObserver,
-      public TabLoadTracker::Observer,
-      public PageSignalObserver {
+      public TabLoadTracker::Observer {
  public:
   explicit LocalSiteCharacteristicsWebContentsObserver(
       content::WebContents* contents);
   ~LocalSiteCharacteristicsWebContentsObserver() override;
 
+  // Call once before an instance of this class is created.
+  static void MaybeCreateGraphObserver();
+
   // WebContentsObserver implementation.
   void OnVisibilityChanged(content::Visibility visibility) override;
   void WebContentsDestroyed() override;
@@ -42,21 +47,14 @@
       const std::vector<content::FaviconURL>& candidates) override;
   void OnAudioStateChanged(bool audible) override;
 
+  // GraphObserver notifications public for testing.
+  void OnNonPersistentNotificationCreated();
+
   // TabLoadTracker::Observer:
   void OnLoadingStateChange(content::WebContents* web_contents,
                             LoadingState old_loading_state,
                             LoadingState new_loading_state) override;
 
-  // PageSignalObserver:
-  void OnNonPersistentNotificationCreated(
-      content::WebContents* web_contents,
-      const PageNavigationIdentity& page_navigation_id) override;
-  void OnLoadTimePerformanceEstimate(
-      content::WebContents* web_contents,
-      const PageNavigationIdentity& page_navigation_id,
-      base::TimeDelta load_duration,
-      base::TimeDelta cpu_usage_estimate,
-      uint64_t private_footprint_kb_estimate) override;
 
   SiteCharacteristicsDataWriter* GetWriterForTesting() const {
     return writer_.get();
@@ -64,11 +62,11 @@
   url::Origin GetWriterOriginForTesting() const { return writer_origin_; }
   void ResetWriterForTesting() { writer_.reset(); }
 
-  void SetPageSignalReceiverForTesting(PageSignalReceiver* receiver) {
-    page_signal_receiver_ = receiver;
-  }
-
  private:
+  // A simple observer on the performance manager graph to get notifications of
+  // events in the graph.
+  class GraphObserver;
+
   enum class FeatureType {
     kTitleChange,
     kFaviconChange,
@@ -105,8 +103,7 @@
   bool first_time_favicon_set_ = false;
   bool first_time_title_set_ = false;
 
-  // The PageSignalReceiver observed by this instance.
-  PageSignalReceiver* page_signal_receiver_ = nullptr;
+  performance_manager::PerformanceManager* performance_manager_ = nullptr;
 
   // The time at which this tab switched to the loaded state, null if this tab
   // is not currently loaded.
diff --git a/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer_unittest.cc b/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer_unittest.cc
index fcc0024..c4be104 100644
--- a/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer_unittest.cc
+++ b/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer_unittest.cc
@@ -9,7 +9,6 @@
 #include "base/test/simple_test_tick_clock.h"
 #include "chrome/browser/resource_coordinator/local_site_characteristics_data_store_factory.h"
 #include "chrome/browser/resource_coordinator/local_site_characteristics_data_unittest_utils.h"
-#include "chrome/browser/resource_coordinator/page_signal_receiver.h"
 #include "chrome/browser/resource_coordinator/site_characteristics_data_store.h"
 #include "chrome/browser/resource_coordinator/tab_manager_features.h"
 #include "chrome/browser/resource_coordinator/time.h"
@@ -97,7 +96,6 @@
     TabLoadTracker::Get()->StartTracking(web_contents());
     observer_ = std::make_unique<LocalSiteCharacteristicsWebContentsObserver>(
         web_contents());
-    observer()->SetPageSignalReceiverForTesting(&receiver_);
   }
 
   void TearDown() override {
@@ -122,16 +120,10 @@
     return observer_.get();
   }
 
-  PageNavigationIdentity GetNavIdForWebContents() {
-    return {CoordinationUnitID(),
-            receiver_.GetNavigationIDForWebContents(web_contents()), ""};
-  }
-
   base::SimpleTestTickClock& test_clock() { return test_clock_; }
 
  private:
   std::unique_ptr<LocalSiteCharacteristicsWebContentsObserver> observer_;
-  PageSignalReceiver receiver_;
   base::SimpleTestTickClock test_clock_;
   ScopedSetTickClockForTesting scoped_set_tick_clock_for_testing_;
 
@@ -207,8 +199,8 @@
   ::testing::Mock::VerifyAndClear(mock_writer);
   observer()->OnAudioStateChanged(true);
   ::testing::Mock::VerifyAndClear(mock_writer);
-  observer()->OnNonPersistentNotificationCreated(web_contents(),
-                                                 GetNavIdForWebContents());
+
+  observer()->OnNonPersistentNotificationCreated();
   ::testing::Mock::VerifyAndClear(mock_writer);
 
   EXPECT_CALL(*mock_writer,
@@ -218,8 +210,7 @@
 
   // Notification usage events always get forwarded.
   EXPECT_CALL(*mock_writer, NotifyUsesNotificationsInBackground());
-  observer()->OnNonPersistentNotificationCreated(web_contents(),
-                                                 GetNavIdForWebContents());
+  observer()->OnNonPersistentNotificationCreated();
   ::testing::Mock::VerifyAndClear(mock_writer);
 
   auto params = GetStaticSiteCharacteristicsDatabaseParams();
@@ -299,8 +290,7 @@
   ::testing::Mock::VerifyAndClear(mock_writer);
 
   EXPECT_CALL(*mock_writer, NotifyUsesNotificationsInBackground());
-  observer()->OnNonPersistentNotificationCreated(web_contents(),
-                                                 GetNavIdForWebContents());
+  observer()->OnNonPersistentNotificationCreated();
   ::testing::Mock::VerifyAndClear(mock_writer);
 
   EXPECT_CALL(*mock_writer, OnDestroy());
@@ -357,71 +347,4 @@
   EXPECT_CALL(*mock_writer, OnDestroy());
 }
 
-TEST_F(LocalSiteCharacteristicsWebContentsObserverTest,
-       LateNotificationUsageSignalIsIgnored) {
-  MockDataWriter* mock_writer = NavigateAndReturnMockWriter(kTestUrl1);
-  EXPECT_CALL(*mock_writer, NotifySiteLoaded());
-  TabLoadTracker::Get()->TransitionStateForTesting(web_contents(),
-                                                   LoadingState::LOADED);
-
-  EXPECT_CALL(*mock_writer,
-              NotifySiteVisibilityChanged(TabVisibility::kBackground));
-  web_contents()->WasHidden();
-  ::testing::Mock::VerifyAndClear(mock_writer);
-
-  auto nav_id = GetNavIdForWebContents();
-  EXPECT_CALL(*mock_writer, NotifyUsesNotificationsInBackground());
-  observer()->OnNonPersistentNotificationCreated(web_contents(), nav_id);
-  ::testing::Mock::VerifyAndClear(mock_writer);
-
-  // Invalidate the navigation ID but keep the same origin, the notification
-  // should get forwarded to the writer.
-  nav_id.navigation_id++;
-  nav_id.url = web_contents()->GetLastCommittedURL().spec();
-  EXPECT_CALL(*mock_writer, NotifyUsesNotificationsInBackground());
-  observer()->OnNonPersistentNotificationCreated(web_contents(), nav_id);
-  ::testing::Mock::VerifyAndClear(mock_writer);
-
-  // Make the URL of the navigation ID point to a different origin, the writer
-  // shouldn't get notified about this event.
-  nav_id.url = "https://not-the-same-url.com";
-  observer()->OnNonPersistentNotificationCreated(web_contents(), nav_id);
-  ::testing::Mock::VerifyAndClear(mock_writer);
-
-  EXPECT_CALL(*mock_writer, OnDestroy());
-}
-
-TEST_F(LocalSiteCharacteristicsWebContentsObserverTest,
-       OnLoadTimePerformanceMeasurement) {
-  MockDataWriter* mock_writer = NavigateAndReturnMockWriter(kTestUrl1);
-  EXPECT_CALL(*mock_writer, NotifySiteLoaded());
-  TabLoadTracker::Get()->TransitionStateForTesting(web_contents(),
-                                                   LoadingState::LOADED);
-
-  constexpr base::TimeDelta kExpectedLoadDuration =
-      base::TimeDelta::FromMicroseconds(501);
-  constexpr base::TimeDelta kExpectedCPUTime =
-      base::TimeDelta::FromMicroseconds(1003);
-  constexpr uint64_t kExpectedMemory = 123u;
-  auto nav_id = GetNavIdForWebContents();
-  EXPECT_CALL(*mock_writer,
-              NotifyLoadTimePerformanceMeasurement(
-                  kExpectedLoadDuration, kExpectedCPUTime, kExpectedMemory));
-  observer()->OnLoadTimePerformanceEstimate(web_contents(), nav_id,
-                                            kExpectedLoadDuration,
-                                            kExpectedCPUTime, kExpectedMemory);
-  ::testing::Mock::VerifyAndClear(mock_writer);
-
-  // Verify that a late notification is not persisted (for now).
-  // TODO(siggi): Fix late notifications such that they persist to another
-  //     writer.
-  nav_id.navigation_id++;
-  observer()->OnLoadTimePerformanceEstimate(web_contents(), nav_id,
-                                            kExpectedLoadDuration,
-                                            kExpectedCPUTime, kExpectedMemory);
-  ::testing::Mock::VerifyAndClear(mock_writer);
-
-  EXPECT_CALL(*mock_writer, OnDestroy());
-}
-
 }  // namespace resource_coordinator
diff --git a/chrome/browser/resource_coordinator/session_restore_policy.cc b/chrome/browser/resource_coordinator/session_restore_policy.cc
index 136896c3..76521d6 100644
--- a/chrome/browser/resource_coordinator/session_restore_policy.cc
+++ b/chrome/browser/resource_coordinator/session_restore_policy.cc
@@ -102,6 +102,7 @@
 SessionRestorePolicy::~SessionRestorePolicy() {
   // Record the number of tabs involved in the session restore that use
   // background communications mechanisms.
+  DCHECK_GE(tabs_used_in_bg_, tabs_used_in_bg_restored_);
   UMA_HISTOGRAM_COUNTS_100("SessionRestore.BackgroundUseCaseTabCount.Total",
                            tabs_used_in_bg_);
   UMA_HISTOGRAM_COUNTS_100("SessionRestore.BackgroundUseCaseTabCount.Restored",
diff --git a/chrome/browser/resource_coordinator/tab_helper.h b/chrome/browser/resource_coordinator/tab_helper.h
index 7b4dbca2..ea38567 100644
--- a/chrome/browser/resource_coordinator/tab_helper.h
+++ b/chrome/browser/resource_coordinator/tab_helper.h
@@ -47,7 +47,7 @@
 
 #if !defined(OS_ANDROID)
   LocalSiteCharacteristicsWebContentsObserver*
-  local_site_characteristics_wc_observer_for_testing() {
+  local_site_characteristics_wc_observer() {
     return local_site_characteristics_wc_observer_.get();
   }
 #endif
diff --git a/chrome/browser/resource_coordinator/tab_lifecycle_unit_unittest.cc b/chrome/browser/resource_coordinator/tab_lifecycle_unit_unittest.cc
index 73a47c5b..37757e25 100644
--- a/chrome/browser/resource_coordinator/tab_lifecycle_unit_unittest.cc
+++ b/chrome/browser/resource_coordinator/tab_lifecycle_unit_unittest.cc
@@ -199,7 +199,7 @@
   test_clock_.Advance(kBackgroundUrgentProtectionTime);
 
   auto* observer = ResourceCoordinatorTabHelper::FromWebContents(web_contents_)
-                       ->local_site_characteristics_wc_observer_for_testing();
+                       ->local_site_characteristics_wc_observer();
   test_clock_.Advance(base::TimeDelta::FromSeconds(1));
   testing::MarkWebContentsAsLoadedInBackground(web_contents_);
   if (notify_feature_usage_method) {
diff --git a/chrome/browser/resources/chromeos/assistant_optin/assistant_value_prop.js b/chrome/browser/resources/chromeos/assistant_optin/assistant_value_prop.js
index 99c7a07..63a7627 100644
--- a/chrome/browser/resources/chromeos/assistant_optin/assistant_value_prop.js
+++ b/chrome/browser/resources/chromeos/assistant_optin/assistant_value_prop.js
@@ -37,11 +37,24 @@
      */
     defaultUrl: {
       type: String,
-      value:
-          'https://www.gstatic.com/opa-android/oobe/a02187e41eed9e42/v2_omni_en_us.html',
+      value: function() {
+        return this.urlTemplate_.replace('$', 'en_us');
+      }
     },
   },
 
+  setUrlTemplateForTesting: function(url) {
+    this.urlTemplate_ = url;
+  },
+
+  /**
+   * The value prop URL template - loaded from loadTimeData.
+   * The template is expected to have '$' instead of the locale.
+   * @private {string}
+   */
+  urlTemplate_:
+      'https://www.gstatic.com/opa-android/oobe/a02187e41eed9e42/v2_omni_$.html',
+
   /**
    * Whether try to reload with the default url when a 404 error occurred.
    * @type {boolean}
@@ -179,9 +192,7 @@
 
     this.loadingError_ = false;
     this.headerReceived_ = false;
-    this.valuePropView_.src =
-        'https://www.gstatic.com/opa-android/oobe/a02187e41eed9e42/v2_omni_' +
-        this.locale + '.html';
+    this.valuePropView_.src = this.urlTemplate_.replace('$', this.locale);
 
     this.buttonsDisabled = true;
   },
diff --git a/chrome/browser/resources/chromeos/assistant_optin/assistant_voice_match.js b/chrome/browser/resources/chromeos/assistant_optin/assistant_voice_match.js
index 676c702e..9c63338 100644
--- a/chrome/browser/resources/chromeos/assistant_optin/assistant_voice_match.js
+++ b/chrome/browser/resources/chromeos/assistant_optin/assistant_voice_match.js
@@ -24,6 +24,21 @@
   currentIndex_: 0,
 
   /**
+   * The delay in ms between speaker ID enrollment finishes and the
+   * voice-match-done action is reported to chrome.
+   * @private {number}
+   */
+  doneActionDelayMs_: 3000,
+
+  /**
+   * Overrides the default delay for sending voice-match-done action.
+   * @param {number} delay The delay to be used in tests.
+   */
+  setDoneActionDelayForTesting: function(delay) {
+    this.doneActionDelayMs_ = delay;
+  },
+
+  /**
    * On-tap event handler for skip button.
    *
    * @private
@@ -132,7 +147,7 @@
       chrome.send(
           'login.AssistantOptInFlowScreen.VoiceMatchScreen.userActed',
           ['voice-match-done']);
-    }, 3000);
+    }, this.doneActionDelayMs_);
   },
 
   /**
diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs b/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs
index d59d6551..0c1f0fe 100644
--- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs
+++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs
@@ -587,7 +587,7 @@
   var mockFeedback = this.createMockFeedback();
   this.runWithLoadedTree(function() {/*!
     <p contenteditable>
-      <img alt="dog"></img> is a <img alt="cat"</img> test
+      <img alt="dog"> is a <img alt="cat"> test
     </p>
     <button id="go">Go</button>
     <script>
@@ -604,7 +604,7 @@
     this.listenOnce(input, 'focus', function() {
       var lineText = 'dog is a cat test mled';
       var lineOnDogText = 'dog img is a cat test mled';
-      var lineOnCatText = 'dog is a cat img test';
+      var lineOnCatText = 'dog is a cat img test mled';
       mockFeedback
           // This is initial output from focusing the contenteditable (which has
           // no role).
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ar.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ar.xtb
index 714917fb..d45cd23 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ar.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ar.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">قابل للنقر</translation>
 <translation id="2628764385451019380">ليس هناك مربع تحرير وسرد سابق.</translation>
 <translation id="2637227747952042642">رياضيات</translation>
+<translation id="2638785836053527382">تم استئناف تنزيل <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">‏مفتاح تعديل ChromeVox</translation>
 <translation id="2644542693584024604">misspelled</translation>
 <translation id="2661530546602071611">ملاحظة</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">برتقالي داكن</translation>
 <translation id="2879867157561757640">التمرير السريع بثلاثة أصابع إلى الأسفل</translation>
 <translation id="288178314850623291">‏استخدم أوامر الانتقال السريع للتخطي إلى أنواع محددة من العناصر. للانتقال السريع للأمام بين العناوين، اضغط على بحث + H، أو للانتقال السريع للخلف، اضغط على بحث + Shift + H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{دقيقة واحدة}zero{دقائق}two{دقيقتان}few{دقائق}many{دقائق}other{دقائق}}</translation>
 <translation id="2894654529758326923">المعلومات</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{قوس كبير أيسر واحد}zero{# left braces}two{قوسان كبيران أيسران (#)}few{# أقواس كبيرة يسرى}many{# قوسًا كبيرًا أيسرًا}other{# من الأقواس الكبيرة اليسرى}}</translation>
 <translation id="2911433807131383493">‏فتح برنامج ChromeVox التعليمي</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">ليس هناك صدى للكتابة</translation>
 <translation id="3086746722712840547">note</translation>
 <translation id="308895241372589742">ليس هناك تعبير رياضي تالٍ.</translation>
+<translation id="3090227230165225418">الإعلان عن تنزيل الإشعارات</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">المَعلم التالي</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{قوس كبير أيمن واحد}zero{# right braces}two{قوسان كبيران أيمنان (#)}few{# أقواس كبيرة يمنى}many{# قوسًا كبيرًا أيمنًا}other{# من الأقواس الكبيرة اليمنى}}</translation>
 <translation id="4158704014418536539">حساس لحالة الأحرف.</translation>
 <translation id="4159784952369912983">أرجواني</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{ثانية واحدة}zero{ثوانٍ}two{ثانيتان}few{ثوانٍ}many{ثوانٍ}other{ثوانٍ}}</translation>
 <translation id="4161663686871496107">‏تعليقات ChromeVox المنطوقة جاهزة</translation>
 <translation id="4173994908659439270">ليس هناك حقل تالٍ قابل للتعديل.</translation>
 <translation id="4176463684765177261">غير مفعّل</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">رابط رجوع</translation>
 <translation id="536031132345979795">الرجوع إلى الخلف أثناء القراءة المتواصلة</translation>
 <translation id="5368000168321181111">‏تم إيقاف Earcons</translation>
+<translation id="5368505757342402527">اكتمل التنزيل بنسبة <ph name="PROGRESS" />% للملف <ph name="FILE_NAME" />. الوقت المتبقي حوالي <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">ليس هناك زر تالٍ.</translation>
 <translation id="5376407118396657359">‏يُرجى الضغط على بحث+Ctrl+Alt مع استخدام الأسهم للتنقل بين الخلايا.</translation>
 <translation id="5382299583965267720">ليس هناك عنوان تالٍ من المستوى الأول.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">مستند</translation>
 <translation id="6688209025607531203">تنبيه غير نمطي</translation>
 <translation id="6689672606256159458">برتقالي وردي داكن</translation>
+<translation id="669617842401078250">تم إيقاف تنزيل <ph name="FILE_NAME" /> مؤقتًا</translation>
 <translation id="6696967141280706829">تمهيد</translation>
 <translation id="6697092096875747123">مربع التحرير والسرد السابق</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{علامة تعجب واحدة}zero{# علامة تعجب}two{علامتا تعجب (#)}few{# علامات تعجب}many{# علامة تعجب}other{# علامة تعجب}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">ليس هناك عنوان سابق من المستوى الثالث.</translation>
 <translation id="7659376057562985921">مربع نص <ph name="NAME" />، بالقيمة <ph name="VALUE" /></translation>
 <translation id="7663318257180412551">العنوان الثاني</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{ساعة واحدة}zero{ساعة}two{ساعتان}few{ساعات}many{ساعات}other{ساعات}}</translation>
 <translation id="7674576868851035240">الرابط التالي</translation>
 <translation id="7674768236845044097">علامة</translation>
 <translation id="7684431668231950609">‏تعديل النص، إدخال عنوان URL</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">بدأ تنزيل <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748">مربع نص كلمة المرور <ph name="NAME" />، بالقيمة <ph name="VALUE" /></translation>
 <translation id="7776293189010177726">‏فتح قوائم ChromeVox</translation>
 <translation id="7800558923657349506">تتِّمة</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">زبدي</translation>
 <translation id="8098587210054821856">رمادي مائل إلى الأزرق</translation>
 <translation id="8110647606445335195">‏ليست هناك معالم ARIA.</translation>
+<translation id="812886159861361726">تم إيقاف تنزيل <ph name="FILE_NAME" /></translation>
 <translation id="8138880386467279117">اللمس</translation>
 <translation id="8153880621934657047">ليس بداخل الجدول.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{شرطة سفلية واحدة}zero{# underscores}two{شرطتان سفليتان (#)}few{# شرطات سفلية}many{# شرطة سفلية}other{# من الشرطات السفلية}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">دخول إلى المحتوى المنظم، مثل الجداول</translation>
 <translation id="8747966237988593539">قائمة مرتبة</translation>
 <translation id="8749988712346667988">فضي</translation>
+<translation id="875769700429317857">اكتمل تنزيل <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">ليس هناك رابط تالٍ.</translation>
 <translation id="8767968232364267681">عنوان المستوى الرابع التالي</translation>
 <translation id="8770473310765924354">خروج من المحتوى المنظم، مثل الجداول</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_bn.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_bn.xtb
index a1096fe..c7b8234 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_bn.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_bn.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">ক্লিক যোগ্য</translation>
 <translation id="2628764385451019380">কোনো পূর্ববর্তী কম্বোবক্স ল্যান্ডমার্ক নেই৷</translation>
 <translation id="2637227747952042642">গণিত</translation>
+<translation id="2638785836053527382"><ph name="FILE_NAME" /> আবার ডাউনলোড করা শুরু হয়েছে</translation>
 <translation id="2639750663247012216">ChromeVox সংশোধক</translation>
 <translation id="2644542693584024604">misspelled</translation>
 <translation id="2661530546602071611">বিজ্ঞপ্তি</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">গাঢ় কমলা</translation>
 <translation id="2879867157561757640">তিন আঙ্গুল দিয়ে নিচের দিকে সোয়াইপ করুন</translation>
 <translation id="288178314850623291">নির্দিষ্ট ধরনের উপাদানে যাওয়ার জন্য জাম্প কমান্ডগুলি ব্যবহার করুন। শিরোনামের মধ্যে জাম্প করে অগ্রবর্তী হতে সার্চ + H, পিছনে জাম্প করতে সার্চ + Shift + H টিপুন।</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{মিনিট}one{মিনিট}other{মিনিট}}</translation>
 <translation id="2894654529758326923">তথ্য</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{বাঁ দ্বিতীয় বন্ধনী}one{#টি বাঁ দ্বিতীয় বন্ধনী}other{#টি বাঁ দ্বিতীয় বন্ধনী}}</translation>
 <translation id="2911433807131383493">ChromeVox টিউটোরিয়াল খুলুন</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">কোনো টাইপিং ইকো নেই</translation>
 <translation id="3086746722712840547">দ্রষ্টব্য</translation>
 <translation id="308895241372589742">এরপরে কোনো গাণিতিক অভিব্যক্তি নেই৷</translation>
+<translation id="3090227230165225418">ডাউনলোড করার বিজ্ঞপ্তি ঘোষণা করুন</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">পরবর্তী ল্যান্ডমার্ক</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{ডান দ্বিতীয় বন্ধনী}one{#টি ডান দ্বিতীয় বন্ধনী}other{#টি ডান দ্বিতীয় বন্ধনী}}</translation>
 <translation id="4158704014418536539">কেস সংবেদনশীল।</translation>
 <translation id="4159784952369912983">বেগুনি</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{সেকেন্ড}one{সেকেন্ড}other{সেকেন্ড}}</translation>
 <translation id="4161663686871496107">ChromeVox কথ্য প্রতিক্রিয়া প্রস্তুত</translation>
 <translation id="4173994908659439270">কোনো পরবর্তী সম্পাদনযোগ্য পাঠ্য ক্ষেত্র নেই৷</translation>
 <translation id="4176463684765177261">অক্ষম</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">ফিরে যাওয়ার লিঙ্ক</translation>
 <translation id="536031132345979795">একটানা পড়ার সময় ছেড়ে পিছনে যান</translation>
 <translation id="5368000168321181111">Earcons বন্ধ আছে</translation>
+<translation id="5368505757342402527"><ph name="FILE_NAME" /> এখনও পর্যন্ত <ph name="PROGRESS" /> শতাংশ ডাউনলোড করা হয়েছে। প্রায় <ph name="TIME" /> <ph name="UNITS" /> বাকি আছে।</translation>
 <translation id="5374320867641260420">কোনো পরবর্তী বোতাম নেই৷</translation>
 <translation id="5376407118396657359">কক্ষের মাধ্যমে নেভিগেট করতে তীরচিহ্ন সহ Search+Ctrl+Alt টিপুন।</translation>
 <translation id="5382299583965267720">কোনো পূর্ববর্তী স্তর ১ শিরোলেখ নেই৷</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">দস্তাবেজ</translation>
 <translation id="6688209025607531203">একটি অ-মোডাল সতর্কতা</translation>
 <translation id="6689672606256159458">গাঢ় স্যালমন</translation>
+<translation id="669617842401078250"><ph name="FILE_NAME" />-এর ডাউনলোড পজ করা হয়েছে</translation>
 <translation id="6696967141280706829">মুখবন্ধ</translation>
 <translation id="6697092096875747123">পূর্ববর্তী কম্বো বাক্স</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{টি বিস্ময়সূচক চিহ্ন}one{#টি বিস্ময়সূচক চিহ্ন}other{#টি বিস্ময়সূচক চিহ্ন}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">কোনো পূর্ববর্তী স্তর ৩ শিরোনাম নেই৷</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, পাঠ্য বাক্স</translation>
 <translation id="7663318257180412551">শিরোনাম ২</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{ঘণ্টা}one{ঘণ্টা}other{ঘণ্টা}}</translation>
 <translation id="7674576868851035240">পরবর্তী লিঙ্ক</translation>
 <translation id="7674768236845044097">চিহ্নিত</translation>
 <translation id="7684431668231950609">URL এন্ট্রি, পাঠ্য সম্পাদনা করুন</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912"><ph name="FILE_NAME" /> ডাউনলোড করা শুরু হয়েছে</translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, পাসওয়ার্ড পাঠ্য বাক্স</translation>
 <translation id="7776293189010177726">ChromeVox মেনুগুলি খুলুন</translation>
 <translation id="7800558923657349506">উপসংহার</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">মিন্ট ক্রিম</translation>
 <translation id="8098587210054821856">স্লেট ধূসর</translation>
 <translation id="8110647606445335195">কোনো ARIA ল্যান্ডমার্ক নেই৷</translation>
+<translation id="812886159861361726"><ph name="FILE_NAME" /> ডাউনলোড করা বন্ধ হয়ে গেছে</translation>
 <translation id="8138880386467279117">স্পর্শ</translation>
 <translation id="8153880621934657047">সারণীর ভিতরে নয়৷</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{আন্ডারস্কোর}one{#টি আন্ডারস্কোর}other{#টি আন্ডারস্কোর}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">সংগঠিত সামগ্রী লিখুন, যেমন সারণীগুলি</translation>
 <translation id="8747966237988593539">ক্রমযুক্ত তালিকা</translation>
 <translation id="8749988712346667988">রূপালী</translation>
+<translation id="875769700429317857"><ph name="FILE_NAME" /> ডাউনলোড করা হয়ে গেছে</translation>
 <translation id="8759334257841767240">কোনো পরবর্তী লিঙ্ক নেই৷</translation>
 <translation id="8767968232364267681">পরবর্তী স্তর ৪ শিরোনাম</translation>
 <translation id="8770473310765924354">সংগঠিত সামগ্রী বের করুন, যেমন সারণী</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_cs.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_cs.xtb
index 209e8677..a284541 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_cs.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_cs.xtb
@@ -213,6 +213,7 @@
 <translation id="2626530649491650971">klikatelné</translation>
 <translation id="2628764385451019380">Žádné předchozí pole se seznamem.</translation>
 <translation id="2637227747952042642">Math</translation>
+<translation id="2638785836053527382">Bylo obnoveno stahování souboru <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">Modifikační klávesa ChromeVox</translation>
 <translation id="2644542693584024604">překlep</translation>
 <translation id="2661530546602071611">Oznámení</translation>
@@ -252,6 +253,7 @@
 <translation id="287383510823843610">Tmavě oranžová</translation>
 <translation id="2879867157561757640">Přejeďte třemi prsty dolů</translation>
 <translation id="288178314850623291">Pomocí příkazů přeskočení přejdete na konkrétní typy prvků. Na další nadpis přejdete stisknutím kláves Hledat + H, zpět přejdete stisknutím kláves Hledat + Shift + H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minuta}few{minuty}many{minuty}other{minut}}</translation>
 <translation id="2894654529758326923">Informace</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{levá složená závorka}few{# levé složené závorky}many{# left braces}other{# levých složených závorek}}</translation>
 <translation id="2911433807131383493">Otevřít výukový program funkce ChromeVox</translation>
@@ -286,6 +288,7 @@
 <translation id="3084806535845658316">nevyslovovat psaný text</translation>
 <translation id="3086746722712840547">pozn</translation>
 <translation id="308895241372589742">Žádný další matematický výraz není.</translation>
+<translation id="3090227230165225418">Oznamovat oznámení o stažení</translation>
 <translation id="3090532668523289635">skup</translation>
 <translation id="3093176084511590672">Další orientační bod</translation>
 <translation id="3096671415663099226">pole se sezn</translation>
@@ -438,6 +441,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{pravá složená závorka}few{# pravé složené závorky}many{# right braces}other{# pravých složených závorek}}</translation>
 <translation id="4158704014418536539">Rozlišují se velká a malá písmena.</translation>
 <translation id="4159784952369912983">Nachová</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{sekunda}few{sekundy}many{sekundy}other{sekund}}</translation>
 <translation id="4161663686871496107">Hlasová odezva ChromeVox je připravena</translation>
 <translation id="4173994908659439270">Žádné další upravitelné textové pole.</translation>
 <translation id="4176463684765177261">Deaktivováno</translation>
@@ -618,6 +622,7 @@
 <translation id="5349770431644471053">Zpětný odkaz</translation>
 <translation id="536031132345979795">Přejít zpět při nepřetržitém čtení</translation>
 <translation id="5368000168321181111">Zvukové signály vypnuty</translation>
+<translation id="5368505757342402527">Ze souboru <ph name="FILE_NAME" /> je staženo <ph name="PROGRESS" /> %. Přibližná zbývající doba: <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Žádné další tlačítko.</translation>
 <translation id="5376407118396657359">Tabulku můžete procházet po buňkách stisknutím kláves Hledat + Ctrl + Alt a šipek.</translation>
 <translation id="5382299583965267720">Žádný další nadpis 1. úrovně.</translation>
@@ -800,6 +805,7 @@
 <translation id="667999046851023355">Dokument</translation>
 <translation id="6688209025607531203">Nemodální upozornění</translation>
 <translation id="6689672606256159458">Tmavě lososová</translation>
+<translation id="669617842401078250">Bylo pozastaveno stahování souboru <ph name="FILE_NAME" /></translation>
 <translation id="6696967141280706829">Předmluva</translation>
 <translation id="6697092096875747123">Předchozí rozbalovací seznam</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{vykřičník}few{# vykřičníky}many{# vykřičníku}other{# vykřičníků}}</translation>
@@ -938,6 +944,7 @@
 <translation id="7641134354185483015">Žádný předchozí nadpis 3. úrovně.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, textové pole</translation>
 <translation id="7663318257180412551">Nadpis 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{hodina}few{hodiny}many{hodiny}other{hodin}}</translation>
 <translation id="7674576868851035240">Další odkaz</translation>
 <translation id="7674768236845044097">zvýraz</translation>
 <translation id="7684431668231950609">Úprava textu, webová adresa</translation>
@@ -952,6 +959,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">auto sezn</translation>
+<translation id="7763537600611320912">Bylo zahájeno stahování souboru <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, textové pole pro heslo</translation>
 <translation id="7776293189010177726">Otevřít nabídky ChromeVox</translation>
 <translation id="7800558923657349506">Epilog</translation>
@@ -1076,6 +1084,7 @@
 <translation id="8096975275316362544">Mentolová</translation>
 <translation id="8098587210054821856">Břidlicová šedá</translation>
 <translation id="8110647606445335195">Žádné orientační body ARIA.</translation>
+<translation id="812886159861361726">Bylo zastaveno stahování souboru <ph name="FILE_NAME" /></translation>
 <translation id="8138880386467279117">Dotykové</translation>
 <translation id="8153880621934657047">Mimo tabulku.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{podtržítko}few{# podtržítka}many{# underscores}other{# podtržítek}}</translation>
@@ -1145,6 +1154,7 @@
 <translation id="8743786158317878347">vstoupit do strukturovaného obsahu, například tabulky</translation>
 <translation id="8747966237988593539">Seřazený seznam</translation>
 <translation id="8749988712346667988">Stříbrná</translation>
+<translation id="875769700429317857">Bylo dokončeno stažení souboru <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">Žádný další odkaz.</translation>
 <translation id="8767968232364267681">Další nadpis 4. úrovně</translation>
 <translation id="8770473310765924354">opustit strukturovaný obsah, například tabulky</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_da.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_da.xtb
index 8eda75b2..e0a6817 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_da.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_da.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">klikbart</translation>
 <translation id="2628764385451019380">Ingen tidligere kombifelter.</translation>
 <translation id="2637227747952042642">Matematik</translation>
+<translation id="2638785836053527382">Download af <ph name="FILE_NAME" /> er genoptaget</translation>
 <translation id="2639750663247012216">Ændringstast til ChromeVox</translation>
 <translation id="2644542693584024604">stavefejl</translation>
 <translation id="2661530546602071611">Meddelelse</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Mørk orange</translation>
 <translation id="2879867157561757640">Stryg nedad med tre fingre</translation>
 <translation id="288178314850623291">Brug hoppekommandoer til at springe til bestemte typer elementer. Tryk på Søg+H for at hoppe fremad mellem overskrifter, og tryk på Søg+Shift+H for at hoppe tilbage.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minut}one{minut}other{minutter}}</translation>
 <translation id="2894654529758326923">Oplysninger</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{venstre klammeparentes}one{# venstre klammeparenteser}other{# venstre klammeparenteser}}</translation>
 <translation id="2911433807131383493">Åbn ChromeVox-selvstudie</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">intet indtastningsekko</translation>
 <translation id="3086746722712840547">bmrk</translation>
 <translation id="308895241372589742">Der er ikke flere matematiske udtryk.</translation>
+<translation id="3090227230165225418">Vis notifikationer om downloads</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">Næste orienteringspunkt</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{højre klammeparentes}one{# højre klammeparenteser}other{# højre klammeparenteser}}</translation>
 <translation id="4158704014418536539">Der er forskel på store og små bogstaver.</translation>
 <translation id="4159784952369912983">Lilla</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{sekund}one{sekund}other{sekunder}}</translation>
 <translation id="4161663686871496107">Talefeedback via ChromeVox er klar</translation>
 <translation id="4173994908659439270">Ikke flere redigerbare tekstfelter.</translation>
 <translation id="4176463684765177261">Deaktiveret</translation>
@@ -605,7 +609,7 @@
 <translation id="520883772648104506">Ikke flere alternativknapper.</translation>
 <translation id="5263034204789987535">Majshår</translation>
 <translation id="5263344797180442561">h2</translation>
-<translation id="528468243742722775">End</translation>
+<translation id="528468243742722775">Afslut</translation>
 <translation id="5291783959063340370">Objekt</translation>
 <translation id="5302089807023311274">Reference i bibliografi</translation>
 <translation id="5304943142864553931">fanen <ph name="TITLE" /></translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Backlink</translation>
 <translation id="536031132345979795">Spring tilbage under kontinuerlig læsning</translation>
 <translation id="5368000168321181111">Earcons fra</translation>
+<translation id="5368505757342402527"><ph name="PROGRESS" /> % af download af <ph name="FILE_NAME" /> er fuldført. Der er ca. <ph name="TIME" /> <ph name="UNITS" /> tilbage.</translation>
 <translation id="5374320867641260420">Ikke flere knapper.</translation>
 <translation id="5376407118396657359">Tryk på søgetasten+Ctrl+Alt og pilene for at navigere efter celle.</translation>
 <translation id="5382299583965267720">Ikke flere niveau 1-overskrifter.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Dokument</translation>
 <translation id="6688209025607531203">En ikke-modal advarsel</translation>
 <translation id="6689672606256159458">Mørk laksefarvet</translation>
+<translation id="669617842401078250">Download af <ph name="FILE_NAME" /> er sat på pause</translation>
 <translation id="6696967141280706829">Forord</translation>
 <translation id="6697092096875747123">Forrige kombifelt</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{udråbstegn}one{# udråbstegn}other{# udråbstegn}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Ingen tidligere niveau 3-overskrifter.</translation>
 <translation id="7659376057562985921">Tekstfeltet <ph name="NAME" />, <ph name="VALUE" /></translation>
 <translation id="7663318257180412551">Overskrift 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{time}one{time}other{timer}}</translation>
 <translation id="7674576868851035240">Næste link</translation>
 <translation id="7674768236845044097">marker</translation>
 <translation id="7684431668231950609">Rediger tekst, webadresseindtastning</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">Download af <ph name="FILE_NAME" /> er påbegyndt</translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, adgangskodetekstfelt</translation>
 <translation id="7776293189010177726">Åbn ChromeVox-menuer</translation>
 <translation id="7800558923657349506">Epilog</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Mintgrøn</translation>
 <translation id="8098587210054821856">Skifergrå</translation>
 <translation id="8110647606445335195">Ingen ARIA-orienteringspunkter.</translation>
+<translation id="812886159861361726">Download af <ph name="FILE_NAME" /> er stoppet</translation>
 <translation id="8138880386467279117">Berøring</translation>
 <translation id="8153880621934657047">Ikke i tabel.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{understregning}one{# understregninger}other{# understregninger}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">angiv struktureret indhold, f.eks. tabeller</translation>
 <translation id="8747966237988593539">Sorteret liste</translation>
 <translation id="8749988712346667988">Sølvfarvet</translation>
+<translation id="875769700429317857">Download af <ph name="FILE_NAME" /> er gennemført</translation>
 <translation id="8759334257841767240">Ikke flere links.</translation>
 <translation id="8767968232364267681">Næste niveau 4-overskrift</translation>
 <translation id="8770473310765924354">luk struktureret indhold, som f.eks. tabeller</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_el.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_el.xtb
index e00057f..75d4194 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_el.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_el.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">με δυνατότητα κλικ</translation>
 <translation id="2628764385451019380">Δεν υπάρχει προηγούμενο πλαίσιο συνδυασμού.</translation>
 <translation id="2637227747952042642">Μαθηματικά</translation>
+<translation id="2638785836053527382">Συνεχίζεται η λήψη του αρχείου <ph name="FILE_NAME" />.</translation>
 <translation id="2639750663247012216">Τροποποιητής ChromeVox</translation>
 <translation id="2644542693584024604">ορθογραφικό σφάλμα</translation>
 <translation id="2661530546602071611">Ειδοποίηση</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Σκούρο πορτοκαλί</translation>
 <translation id="2879867157561757640">Σύρετε τρία δάκτυλα προς τα κάτω</translation>
 <translation id="288178314850623291">Χρησιμοποιήστε εντολές μετάβασης για μετάβαση σε συγκεκριμένους τύπους στοιχείων. Για μετάβαση προς τα εμπρός μεταξύ των επικεφαλίδων, πατήστε Αναζήτηση + H ή για μετάβαση προς τα πίσω, πατήστε Αναζήτηση + Shift + H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{λεπτό}other{λεπτά}}</translation>
 <translation id="2894654529758326923">Πληροφορίες</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{αριστερό άγκιστρο}other{# αριστερά άγκιστρα}}</translation>
 <translation id="2911433807131383493">Άνοιγμα εκπαιδευτικού οδηγού ChromeVox</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">χωρίς εκφώνηση πληκτρολόγησης</translation>
 <translation id="3086746722712840547">σημείωση</translation>
 <translation id="308895241372589742">Δεν υπάρχει επόμενη μαθηματική έκφραση.</translation>
+<translation id="3090227230165225418">Ανακοίνωση ειδοποιήσεων λήψης</translation>
 <translation id="3090532668523289635">ομάδα</translation>
 <translation id="3093176084511590672">Επόμενο ορόσημο</translation>
 <translation id="3096671415663099226">σύνθετο πλαίσιο</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{δεξιό άγκιστρο}other{# δεξιά άγκιστρα}}</translation>
 <translation id="4158704014418536539">Διάκριση πεζών-κεφαλαίων.</translation>
 <translation id="4159784952369912983">Μοβ</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{δευτερόλεπτο}other{δευτερόλεπτα}}</translation>
 <translation id="4161663686871496107">Τα προφορικά σχόλια ChromeVox είναι έτοιμα</translation>
 <translation id="4173994908659439270">Δεν υπάρχει επόμενο πεδίο με δυνατότητα επεξεργασίας.</translation>
 <translation id="4176463684765177261">Απενεργοποιημένη</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Σύνδεσμος επιστροφής</translation>
 <translation id="536031132345979795">Μετάβαση προς τα πίσω κατά τη συνεχόμενη ανάγνωση</translation>
 <translation id="5368000168321181111">Ηχητικά μηνύματα ανενεργά</translation>
+<translation id="5368505757342402527">Ολοκληρώθηκε το <ph name="PROGRESS" />% της λήψης του αρχείου <ph name="FILE_NAME" />. Απομένουν <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Δεν υπάρχει επόμενο κουμπί.</translation>
 <translation id="5376407118396657359">Πατήστε τα πλήκτρα Αναζήτηση+Ctrl+Alt σε συνδυασμό με τα βέλη για πλοήγηση ανά κελί.</translation>
 <translation id="5382299583965267720">Δεν υπάρχει επόμενη επικεφαλίδα επιπέδου 1.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Έγγραφο</translation>
 <translation id="6688209025607531203">Μια μη αποκλειστική ειδοποίηση</translation>
 <translation id="6689672606256159458">Σκούρο σομόν</translation>
+<translation id="669617842401078250">Η λήψη του αρχείου <ph name="FILE_NAME" /> διακόπηκε προσωρινά.</translation>
 <translation id="6696967141280706829">Πρόλογος</translation>
 <translation id="6697092096875747123">Προηγούμενο σύνθετο πλαίσιο</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{θαυμαστικό}other{# θαυμαστικά}}</translation>
@@ -940,6 +946,7 @@
 <translation id="7641134354185483015">Δεν υπάρχει προηγούμενη επικεφαλίδα επιπέδου 3.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, πλαίσιο κειμένου</translation>
 <translation id="7663318257180412551">Επικεφαλίδα 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{ώρα}other{ώρες}}</translation>
 <translation id="7674576868851035240">Επόμενος σύνδεσμος</translation>
 <translation id="7674768236845044097">Ετικέτα mark</translation>
 <translation id="7684431668231950609">Επεξεργασία κειμένου, καταχώριση διεύθυνσης URL</translation>
@@ -954,6 +961,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">αυτόματη συμπλήρωση λίστας</translation>
+<translation id="7763537600611320912">Ξεκίνησε η λήψη του αρχείου <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, πλαίσιο κειμένου κωδικού πρόσβασης</translation>
 <translation id="7776293189010177726">Άνοιγμα των μενού του ChromeVox</translation>
 <translation id="7800558923657349506">Επίλογος</translation>
@@ -1078,6 +1086,7 @@
 <translation id="8096975275316362544">Κρεμ μέντας</translation>
 <translation id="8098587210054821856">Γκρι του σχιστόλιθου</translation>
 <translation id="8110647606445335195">Δεν υπάρχουν ορόσημα ARIA.</translation>
+<translation id="812886159861361726">Η λήψη του αρχείου <ph name="FILE_NAME" /> σταμάτησε</translation>
 <translation id="8138880386467279117">Άγγιγμα</translation>
 <translation id="8153880621934657047">Όχι μέσα στον πίνακα.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{σύμβολο υπογράμμισης}other{# σύμβολα υπογράμμισης}}</translation>
@@ -1147,6 +1156,7 @@
 <translation id="8743786158317878347">εισαγωγή σε δομημένο περιεχόμενο, όπως πίνακες</translation>
 <translation id="8747966237988593539">Ταξινομημένη λίστα</translation>
 <translation id="8749988712346667988">Ασημί</translation>
+<translation id="875769700429317857">Ολοκληρώθηκε η λήψη του αρχείου <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">Δεν υπάρχει επόμενος σύνδεσμος.</translation>
 <translation id="8767968232364267681">Επικεφαλίδα επόμενου επιπέδου 4</translation>
 <translation id="8770473310765924354">έξοδος από δομημένο περιεχόμενο, όπως πίνακες</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_et.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_et.xtb
index 032b2411ad..5203062 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_et.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_et.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">klõpsatav</translation>
 <translation id="2628764385451019380">Eelmist liitboksi ei ole.</translation>
 <translation id="2637227747952042642">Matemaatika</translation>
+<translation id="2638785836053527382">Allalaadimine jätkub: <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">ChromeVoxi muuteklahv</translation>
 <translation id="2644542693584024604">kirjaviga</translation>
 <translation id="2661530546602071611">Teatis</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Tumeoranž</translation>
 <translation id="2879867157561757640">Pühkige kolme sõrmega alla</translation>
 <translation id="288178314850623291">Teatud elementide vahelejätmiseks kasutage hüppekäske. Päiste hulgas edasihüppamiseks vajutage otsinguklahvi ja klahvi H, tagasihüppamiseks otsinguklahvi, tõstuklahvi ja klahvi H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minut}other{minutit}}</translation>
 <translation id="2894654529758326923">Teave</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{vasak loogeline sulg}other{# vasakut loogelist sulgu}}</translation>
 <translation id="2911433807131383493">ChromeVoxi õpetuse avamine</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">teksti sisestamise kaja on välja lülitatud</translation>
 <translation id="3086746722712840547">märge</translation>
 <translation id="308895241372589742">Järgmist matemaatilist avaldist ei ole.</translation>
+<translation id="3090227230165225418">Allalaadimismärguannetest teatamine</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">Järgmine maamärk</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{parem loogeline sulg}other{# paremat loogelist sulgu}}</translation>
 <translation id="4158704014418536539">Tõstutundlik.</translation>
 <translation id="4159784952369912983">Lilla</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{sekund}other{sekundit}}</translation>
 <translation id="4161663686871496107">ChromeVoxi kõnena esitatav tagasiside on valmis</translation>
 <translation id="4173994908659439270">Järgmist muudetavat tekstivälja ei ole.</translation>
 <translation id="4176463684765177261">Keelatud</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Tagasilink</translation>
 <translation id="536031132345979795">Liigub pideva lugemise ajal tagasi</translation>
 <translation id="5368000168321181111">Helisignaalid on väljas</translation>
+<translation id="5368505757342402527">Allalaadimine on <ph name="PROGRESS" />% valmis: <ph name="FILE_NAME" />. Jäänud on ligikaudu <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Järgmist nuppu ei ole.</translation>
 <translation id="5376407118396657359">Lahtri kaupa navigeerimiseks vajutage korraga otsinguklahvi + klahve Ctrl + Alt ja nooleklahve.</translation>
 <translation id="5382299583965267720">Järgmist 1. taseme pealkirja ei ole.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Dokument</translation>
 <translation id="6688209025607531203">Mittemodaalne teatis</translation>
 <translation id="6689672606256159458">Tume lõheroosa</translation>
+<translation id="669617842401078250">Allalaadimine on peatatud: <ph name="FILE_NAME" /></translation>
 <translation id="6696967141280706829">Eessõna</translation>
 <translation id="6697092096875747123">Eelmine liitboks</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{hüüumärk}other{# hüüumärki}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Eelmist 3. taseme pealkirja ei ole.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, tekstikast</translation>
 <translation id="7663318257180412551">2. pealkiri</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{tund}other{tundi}}</translation>
 <translation id="7674576868851035240">Järgmine link</translation>
 <translation id="7674768236845044097">mark</translation>
 <translation id="7684431668231950609">URL-i muutmine</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">Allalaadimine algas: <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, parooli tekstikast</translation>
 <translation id="7776293189010177726">ChromeVoxi menüüde avamine</translation>
 <translation id="7800558923657349506">Epiloog</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Kahvatu mündiroheline</translation>
 <translation id="8098587210054821856">Kilthall</translation>
 <translation id="8110647606445335195">ARIA maamärke ei ole.</translation>
+<translation id="812886159861361726">Allalaadimine katkes: <ph name="FILE_NAME" /></translation>
 <translation id="8138880386467279117">Puudutage valikut</translation>
 <translation id="8153880621934657047">Ei ole tabelis.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{alljoon}other{# alljoont}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">siseneb struktuursesse sisusse, näiteks tabelitesse</translation>
 <translation id="8747966237988593539">Korrastatud loend</translation>
 <translation id="8749988712346667988">Hõbedane</translation>
+<translation id="875769700429317857">Allalaadimine jõudis lõpule: <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">Järgmist linki ei ole.</translation>
 <translation id="8767968232364267681">Järgmine 4. taseme pealkiri</translation>
 <translation id="8770473310765924354">väljub struktuursest sisust, näiteks tabelitest</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_fa.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_fa.xtb
index 412ef4d..56b60f7 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_fa.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_fa.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">قابل کلیک</translation>
 <translation id="2628764385451019380">کادر ترکیبی قبلی وجود ندارد.</translation>
 <translation id="2637227747952042642">ریاضی</translation>
+<translation id="2638785836053527382">بارگیری <ph name="FILE_NAME" /> ازسرگیری شد</translation>
 <translation id="2639750663247012216">‏تغییردهنده Chrome Vox</translation>
 <translation id="2644542693584024604">املای اشتباه</translation>
 <translation id="2661530546602071611">اطلاعیه</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">نارنجی تیره</translation>
 <translation id="2879867157561757640">تند کشیدن سه انگشت به پایین</translation>
 <translation id="288178314850623291">‏برای رد شدن و رفتن به انواع عناصر، از فرمان‌های پرش استفاه کنید. برای پرش به جلو بین عناوین، «جستجو» + H یا برای پرش به عقب «جستجو» + Shift + H را فشار دهید.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{دقیقه}one{دقیقه}other{دقیقه}}</translation>
 <translation id="2894654529758326923">اطلاعات</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{آکولاد چپ}one{# آکولاد چپ}other{# آکولاد چپ}}</translation>
 <translation id="2911433807131383493">‏باز کردن برنامه آموزشی ChromeVox</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">فاقد بازگویی تایپ</translation>
 <translation id="3086746722712840547">نت</translation>
 <translation id="308895241372589742">هیچ رابطه ریاضی بعدی وجود ندارد.</translation>
+<translation id="3090227230165225418">اعلام اعلان‌های بارگیری</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">علامت مشخصه بعدی</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{آکولاد راست}one{# پرانتز راست}other{# آکولاد راست}}</translation>
 <translation id="4158704014418536539">حساس به حروف کوچک و بزرگ.</translation>
 <translation id="4159784952369912983">بنفش</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{ثانیه}one{ثانیه}other{ثانیه}}</translation>
 <translation id="4161663686871496107">‏بازخورد گفتاری ChromeVox آماده است</translation>
 <translation id="4173994908659439270">فیلد نوشتاری قابل ویرایش بعدی وجود ندارد.</translation>
 <translation id="4176463684765177261">غیرفعال شد</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">پیوند برگشت</translation>
 <translation id="536031132345979795">در حین مطالعه متوالی، به عقب بروید</translation>
 <translation id="5368000168321181111">نمادهای شنیداری خاموش است</translation>
+<translation id="5368505757342402527">بارگیری <ph name="PROGRESS" />٪ از <ph name="FILE_NAME" /> تکمیل شد. حدوداً <ph name="TIME" /> <ph name="UNITS" /> باقی مانده است.</translation>
 <translation id="5374320867641260420">دکمه بعدی موجود نیست.</translation>
 <translation id="5376407118396657359">‏برای پیمایش سلول‌به‌سلول، Search+Ctrl+Alt را به‌همراه پیکان‌ها فشار دهید.</translation>
 <translation id="5382299583965267720">عنوان سطح 1 بعدی وجود ندارد.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">سند</translation>
 <translation id="6688209025607531203">هشدار غیرکیفیتی</translation>
 <translation id="6689672606256159458">قهوه‌ای حنایی</translation>
+<translation id="669617842401078250">بارگیری <ph name="FILE_NAME" /> موقتاً متوقف شد</translation>
 <translation id="6696967141280706829">پیش‌گفتار</translation>
 <translation id="6697092096875747123">کادر ترکیبی قبلی</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{علامت تعجب}one{ # علامت تعجب}other{ # علامت تعجب}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">عنوان سطح ۳ قبلی وجود ندارد.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />، <ph name="NAME" />، کادر نوشتار</translation>
 <translation id="7663318257180412551">عنوان ۲</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{ساعت}one{ساعت}other{ساعت}}</translation>
 <translation id="7674576868851035240">پیوند بعدی</translation>
 <translation id="7674768236845044097">mark</translation>
 <translation id="7684431668231950609">ویرایش نوشتار، ورودی نشانی وب</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">بارگیری <ph name="FILE_NAME" /> شروع شد</translation>
 <translation id="7770823902658038748"><ph name="VALUE" />، <ph name="NAME" />، کادر نوشتار گذرواژه</translation>
 <translation id="7776293189010177726">‏باز کردن منوهای ChromeVox</translation>
 <translation id="7800558923657349506">گفتار پایانی</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">کرم نعنایی</translation>
 <translation id="8098587210054821856">سربی</translation>
 <translation id="8110647606445335195">‏علامت مشخصه ARIA موجود نیست.</translation>
+<translation id="812886159861361726">بارگیری <ph name="FILE_NAME" /> متوقف شد</translation>
 <translation id="8138880386467279117">لمس</translation>
 <translation id="8153880621934657047">خارج از جدول</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{زیرخط}one{# زیرخط}other{# زیرخط}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">ورود به محتوای سازمان یافته، مانند جداول</translation>
 <translation id="8747966237988593539">فهرست سفارش داده شده</translation>
 <translation id="8749988712346667988">نقره‌‌ای</translation>
+<translation id="875769700429317857">بارگیری <ph name="FILE_NAME" /> کامل شد</translation>
 <translation id="8759334257841767240">پیوند بعدی موجود نیست.</translation>
 <translation id="8767968232364267681">عنوان بعدی سطح ۴</translation>
 <translation id="8770473310765924354">خروج از محتوای سازمان یافته، مانند جداول</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_gu.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_gu.xtb
index ec21f19..c0975a7 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_gu.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_gu.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">ક્લિક કરી શકાય તેવા</translation>
 <translation id="2628764385451019380">કોઈ પાછલું કૉમ્બો બૉક્સ નથી.</translation>
 <translation id="2637227747952042642">ગણિત</translation>
+<translation id="2638785836053527382"><ph name="FILE_NAME" />નું ડાઉનલોડ ફરી શરૂ કર્યું</translation>
 <translation id="2639750663247012216">ChromeVox સંશોધક</translation>
 <translation id="2644542693584024604">ખોટીજોડણીવાળું</translation>
 <translation id="2661530546602071611">સૂચના</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">ઘાટો નારંગી</translation>
 <translation id="2879867157561757640">ત્રણ આંગળી નીચેની બાજુ સ્વાઇપ કરો</translation>
 <translation id="288178314850623291">ચોક્કસ પ્રકારના ઘટકો પર જવા માટે જમ્પ આદેશોનો ઉપયોગ કરો. મથાળામાં આગળ જવા માટે, શોધ + H દબાવો અથવા પાછળ જવા માટે, શોધ + Shift + H દબાવો.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{મિનિટ}one{મિનિટ}other{મિનિટ}}</translation>
 <translation id="2894654529758326923">માહિતી</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{ડાબો છગડિયો કૌંસ}one{# ડાબા છગડિયા કૌંસ}other{# ડાબા છગડિયા કૌંસ}}</translation>
 <translation id="2911433807131383493">ChromeVox ટ્યૂટોરિયલ ખોલો</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">કોઈ લખાણ પડઘો નથી</translation>
 <translation id="3086746722712840547">નોંધ</translation>
 <translation id="308895241372589742">કોઈ આગલી ગણિત પદાવલિ નથી.</translation>
+<translation id="3090227230165225418">ડાઉનલોડ નોટિફિકેશનની ઘોષણા કરો</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">આગલી સ્થળનિશાની</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{જમણો છગડિયો કૌંસ}one{# જમણા છગડિયા કૌંસ}other{# જમણા છગડિયા કૌંસ}}</translation>
 <translation id="4158704014418536539">કેસ સંવેદી.</translation>
 <translation id="4159784952369912983">જાંબલી</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{સેકન્ડ}one{સેકન્ડ}other{સેકન્ડ}}</translation>
 <translation id="4161663686871496107">ChromeVox બોલાયેલ પ્રતિસાદ તૈયાર છે</translation>
 <translation id="4173994908659439270">આગલી સંપાદનયોગ્ય ટેક્સ્ટ ફીલ્ડ નથી</translation>
 <translation id="4176463684765177261">અક્ષમ કરેલું</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">બૅક લિંક</translation>
 <translation id="536031132345979795">સતત વાંચન દરમિયાન પાછળ જાઓ</translation>
 <translation id="5368000168321181111">ઇઅરકોન્સ બંધ છે</translation>
+<translation id="5368505757342402527"><ph name="FILE_NAME" />નું ડાઉનલોડ <ph name="PROGRESS" />% પૂર્ણ થયું. લગભગ <ph name="TIME" /> <ph name="UNITS" /> બાકી.</translation>
 <translation id="5374320867641260420">આગલું બટન નથી.</translation>
 <translation id="5376407118396657359">સેલ વડે નૅવિગેટ કરવા માટે Arrow કી સાથે Search+Ctrl+Alt દબાવો.</translation>
 <translation id="5382299583965267720">આગલું સ્તર 1 મથાળું નથી.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">દસ્તાવેજ</translation>
 <translation id="6688209025607531203">નોન મોડલ ચેતવણી</translation>
 <translation id="6689672606256159458">ઘેરો સૅમન</translation>
+<translation id="669617842401078250"><ph name="FILE_NAME" />નું ડાઉનલોડ થોભાવ્યું</translation>
 <translation id="6696967141280706829">પ્રસ્તાવના</translation>
 <translation id="6697092096875747123">પાછલું કોમ્બો બૉક્સ</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{ઉદ્ગારવાચક ચિહ્ન}one{# ઉદ્ગારવાચક ચિહ્ન}other{# ઉદ્ગારવાચક ચિહ્ન}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">કોઈ પાછલું લેવલ 3 શીર્ષક નથી.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, ટેક્સ્ટ બૉક્સ</translation>
 <translation id="7663318257180412551">મથાળું 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{કલાક}one{કલાક}other{કલાક}}</translation>
 <translation id="7674576868851035240">આગલી લિંક</translation>
 <translation id="7674768236845044097">માર્ક</translation>
 <translation id="7684431668231950609">ટેક્સ્ટ, URL એન્ટ્રીમાં ફેરફાર કરો</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912"><ph name="FILE_NAME" />નું ડાઉનલોડ શરૂ થયું</translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, પાસવર્ડ ટેક્સ્ટ બૉક્સ</translation>
 <translation id="7776293189010177726">ChromeVox મેનૂ ખોલો</translation>
 <translation id="7800558923657349506">ઉપસંહાર</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">મિન્ટ ક્રીમ</translation>
 <translation id="8098587210054821856">સ્લેટ ગ્રે</translation>
 <translation id="8110647606445335195">ARIA સ્થળ નિશાનીઓ નથી.</translation>
+<translation id="812886159861361726"><ph name="FILE_NAME" />નું ડાઉનલોડ રોક્યું</translation>
 <translation id="8138880386467279117">ટચ કરો</translation>
 <translation id="8153880621934657047">કોષ્ટકની અંદર નથી</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{અંડરસ્કોર}one{# અંડરસ્કોર}other{# અંડરસ્કોર}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">ગણિત કે ટેબલ જેવું કન્ટેન્ટ દાખલ કરો</translation>
 <translation id="8747966237988593539">ક્રમાંકિત સૂચિ</translation>
 <translation id="8749988712346667988">સિલ્વર</translation>
+<translation id="875769700429317857"><ph name="FILE_NAME" />નું ડાઉનલોડ પૂરું શરૂ થયું</translation>
 <translation id="8759334257841767240">આગલી લિંક નથી.</translation>
 <translation id="8767968232364267681">આગલા સ્તર 4 નું મથાળું</translation>
 <translation id="8770473310765924354">ગણિત કે ટેબલ જેવા કન્ટેન્ટમાંથી બહાર નીકળો</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hi.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hi.xtb
index 6223199..04eb571 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hi.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hi.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">क्‍लिक करने योग्‍य</translation>
 <translation id="2628764385451019380">कोई पिछला कॉम्बो बॉक्स नहीं.</translation>
 <translation id="2637227747952042642">गणित</translation>
+<translation id="2638785836053527382">डाउनलोड फिर से शुरू हो गया <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">ChromeVox संशोधक</translation>
 <translation id="2644542693584024604">गलत वर्तनी</translation>
 <translation id="2661530546602071611">सूचना</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">गहरा नारंगी रंग</translation>
 <translation id="2879867157561757640">तीन उंगलियों से नीचे स्वाइप करें</translation>
 <translation id="288178314850623291">सीधे किसी खास तरह के आइटम पर पहुंचने के लिए 'जंप कमांड' का इस्तेमाल करें. एक शीर्षक से दूसरे शीर्षक पर सीधे जाने के लिए, Search + H या पिछले शीर्षक पर वापस जाने के लिए Search + Shift + H दबाएं.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{मिनट}one{मिनट}other{मिनट}}</translation>
 <translation id="2894654529758326923">जानकारी</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{बायां कोष्ठक}one{# बाएं कोष्ठक}other{# बाएं कोष्ठक}}</translation>
 <translation id="2911433807131383493">ChromeVox निर्देश खोलें</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">कोई टाइपिंग इको नहीं</translation>
 <translation id="3086746722712840547">नोट</translation>
 <translation id="308895241372589742">कोई अगला गणित का व्यंजक नहीं.</translation>
+<translation id="3090227230165225418">डाउनलोड सूचनाओं का एलान करें</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">अगला लैंडमार्क</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{दायां कोष्ठक}one{# दाएं कोष्ठक}other{# दाएं कोष्ठक}}</translation>
 <translation id="4158704014418536539">केस संवेदी</translation>
 <translation id="4159784952369912983">बैंगनी</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{सेकंड}one{सेकंड}other{सेकंड}}</translation>
 <translation id="4161663686871496107">ChromeVox की बोलकर दी जाने वाली सुविधा तैयार है</translation>
 <translation id="4173994908659439270">बदलाव करने लायक कोई अगला टेक्स्ट फ़ील्ड नहीं</translation>
 <translation id="4176463684765177261">अक्षम</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">बैक लिंक</translation>
 <translation id="536031132345979795">निरंतर पढ़ने के दौरान पीछे जाएं छोड़ें</translation>
 <translation id="5368000168321181111">ईयरकॉन बंद हैं</translation>
+<translation id="5368505757342402527">डाउनलोड <ph name="PROGRESS" />% पूरा हुआ है <ph name="FILE_NAME" />. करीब <ph name="TIME" /> <ph name="UNITS" /> बाकी हैं.</translation>
 <translation id="5374320867641260420">कोई अगला बटन नहीं.</translation>
 <translation id="5376407118396657359">सेल के मुताबिक नेविगेट करने के लिए तीर के निशान वाले बटन के साथ Search+Ctrl+Alt दबाएं.</translation>
 <translation id="5382299583965267720">कोई अगला लेवल 1 का शीर्षक नहीं.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">दस्तावेज़</translation>
 <translation id="6688209025607531203">गैर मॉडल सूचना</translation>
 <translation id="6689672606256159458">सामन जैसा गहरा रंग</translation>
+<translation id="669617842401078250">डाउनलोड रोका गया <ph name="FILE_NAME" /></translation>
 <translation id="6696967141280706829">आमुख</translation>
 <translation id="6697092096875747123">पिछला कॉम्बो बॉक्स</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{विस्मयादिबोधक}one{# विस्मयादिबोधक}other{# विस्मयादिबोधक}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">कोई पिछला लेवल 3 का शीर्षक नहीं.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, लेख बॉक्‍स</translation>
 <translation id="7663318257180412551">शीर्षक 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{घंटा}one{घंटे}other{घंटे}}</translation>
 <translation id="7674576868851035240">अगला लिंक</translation>
 <translation id="7674768236845044097">चिह्नित करें</translation>
 <translation id="7684431668231950609">लेख, यूआरएल में बदलाव करें</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">डाउनलोड शुरू हो गया <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, पासवर्ड लेख बॉक्‍स</translation>
 <translation id="7776293189010177726">ChromeVox मेनू खोलें</translation>
 <translation id="7800558923657349506">उपसंहार</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">मिंट क्रीम</translation>
 <translation id="8098587210054821856">स्लेटी रंग</translation>
 <translation id="8110647606445335195">कोई ARIA स्थानचिह्न नहीं.</translation>
+<translation id="812886159861361726">डाउनलोड बंद हो गया <ph name="FILE_NAME" /></translation>
 <translation id="8138880386467279117">स्पर्श करें</translation>
 <translation id="8153880621934657047">टेबल में नहीं है.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{अंडरस्कोर}one{# अंडरस्कोर}other{# अंडरस्कोर}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">संरचित सामग्री, जैसे तालिकाएं डालें</translation>
 <translation id="8747966237988593539">क्रमित सूची</translation>
 <translation id="8749988712346667988">चांदी जैसा रंग</translation>
+<translation id="875769700429317857">डाउनलोड पूरा हुआ <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">कोई अगला लिंक नहीं.</translation>
 <translation id="8767968232364267681">अगले स्‍तर 4 का शीर्षक</translation>
 <translation id="8770473310765924354">संरचित सामग्री, जैसे तालिकाओं से बाहर निकलें</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hr.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hr.xtb
index a9c5c58..cbb566344 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hr.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hr.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">može se kliknuti</translation>
 <translation id="2628764385451019380">Nema prethodnog kombiniranog okvira.</translation>
 <translation id="2637227747952042642">Matematički</translation>
+<translation id="2638785836053527382">Nastavljeno je preuzimanje datoteke <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">Modifikator ChromeVoxa</translation>
 <translation id="2644542693584024604">pravopisna pogreška</translation>
 <translation id="2661530546602071611">Obavijest</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Tamnonarančasta</translation>
 <translation id="2879867157561757640">Prelazak trima prstima prema dolje</translation>
 <translation id="288178314850623291">Za prelazak na određene vrste elemenata koristite skočne naredbe. Za pomicanje unaprijed po naslovima pritišćite tipku za pretraživanje i H, a za preskakanje unatrag pritisnite tipku za pretraživanje + Shift + H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{min}one{min}few{min}other{min}}</translation>
 <translation id="2894654529758326923">Informacije</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{lijeva vitičasta zagrada}one{# lijeva vitičasta zagrada}few{# lijeve vitičaste zagrade}other{# lijevih vitičasta zagrada}}</translation>
 <translation id="2911433807131383493">Otvaranje vodiča za ChromeVox</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">nema odjeka tipkanja</translation>
 <translation id="3086746722712840547">napom</translation>
 <translation id="308895241372589742">Nema sljedećeg matematičkog izraza.</translation>
+<translation id="3090227230165225418">Najavi obavijesti o preuzimanju</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">Sljedeći orijentir</translation>
 <translation id="3096671415663099226">kmbokv</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{desna vitičasta zagrada}one{# desna vitičasta zagrada}few{# desne vitičaste zagrade}other{# desnih vitičastih zagrada}}</translation>
 <translation id="4158704014418536539">Osjetljivost na velika/mala slova.</translation>
 <translation id="4159784952369912983">Ljubičasto</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{s}one{s}few{s}other{s}}</translation>
 <translation id="4161663686871496107">Spremne su govorne povratne informacije ChromeVox</translation>
 <translation id="4173994908659439270">Nema sljedećeg tekstualnog polja koje je moguće urediti.</translation>
 <translation id="4176463684765177261">Onemogućeno</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Povratna veza</translation>
 <translation id="536031132345979795">Preskoči natrag tijekom kontinuiranog čitanja</translation>
 <translation id="5368000168321181111">Zvučne su ikone isključene</translation>
+<translation id="5368505757342402527">Preuzimanje datoteke <ph name="FILE_NAME" /> dovršeno je <ph name="PROGRESS" />%. Preostalo je oko <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Nema sljedećeg gumba.</translation>
 <translation id="5376407118396657359">Za kretanje od ćelije do ćelije pritisnite tipku za pretraživanje + Ctrl + Alt i strelice.</translation>
 <translation id="5382299583965267720">Nema sljedećeg naslova razine 1.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Dokument</translation>
 <translation id="6688209025607531203">Upozorenje koje nije modalno</translation>
 <translation id="6689672606256159458">Tamnoružičasta</translation>
+<translation id="669617842401078250">Pauzirano je preuzimanje datoteke <ph name="FILE_NAME" /></translation>
 <translation id="6696967141280706829">Predgovor</translation>
 <translation id="6697092096875747123">Prethodni kombinirani okvir</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{uskličnik}one{# uskličnik}few{# uskličnika}other{# uskličnika}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Nema prethodnog naslova razine 3.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, tekstualni okvir</translation>
 <translation id="7663318257180412551">Naslov 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{h}one{h}few{h}other{h}}</translation>
 <translation id="7674576868851035240">Sljedeća veza</translation>
 <translation id="7674768236845044097">oznaka</translation>
 <translation id="7684431668231950609">Uređivanje teksta, unos URL-a</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autopop</translation>
+<translation id="7763537600611320912">Započelo je preuzimanje datoteke <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, tekstualni okvir zaporke</translation>
 <translation id="7776293189010177726">Otvaranje ChromeVoxovih izbornika</translation>
 <translation id="7800558923657349506">Epilog</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Zelenkastobež</translation>
 <translation id="8098587210054821856">Sivoplava</translation>
 <translation id="8110647606445335195">Nema ARIA orijentira.</translation>
+<translation id="812886159861361726">Zaustavljeno je preuzimanje datoteke <ph name="FILE_NAME" /></translation>
 <translation id="8138880386467279117">Dodir</translation>
 <translation id="8153880621934657047">Niste unutar tablice.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{donja crta}one{# donja crta}few{# donje crte}other{# donjih crta}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">unos strukturiranog sadržaja, na primjer, tablica</translation>
 <translation id="8747966237988593539">Uređeni popis</translation>
 <translation id="8749988712346667988">Srebrna</translation>
+<translation id="875769700429317857">Dovršeno je preuzimanje datoteke <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">Nema sljedeće veze.</translation>
 <translation id="8767968232364267681">Sljedeći naslov razine 4</translation>
 <translation id="8770473310765924354">napuštanje strukturiranog sadržaja, na primjer, tablica</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hu.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hu.xtb
index f28033b..0c9c1fa 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hu.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hu.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">rákattintható</translation>
 <translation id="2628764385451019380">Nincs előző legördülő lista.</translation>
 <translation id="2637227747952042642">Matematika</translation>
+<translation id="2638785836053527382">A következő letöltése folytatódik: <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">ChromeVox módosítógomb</translation>
 <translation id="2644542693584024604">elgépelés</translation>
 <translation id="2661530546602071611">Közlés</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Sötét narancssárga</translation>
 <translation id="2879867157561757640">Csúsztassa három ujját lefelé</translation>
 <translation id="288178314850623291">Az egyes elemtípusok kihagyásához használja az ugróparancsokat. A címsorok közötti előre ugráshoz nyomja le a Keresés + H, a visszaugráshoz pedig a Keresés + Shift + H billentyűkombinációt.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{perc}other{perc}}</translation>
 <translation id="2894654529758326923">Információ</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{kapcsos nyitó zárójel}other{# kapcsos nyitó zárójel}}</translation>
 <translation id="2911433807131383493">A ChromeVox útmutatójának megnyitása</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">nincs gépelési visszaolvasás</translation>
 <translation id="3086746722712840547">jegyzet</translation>
 <translation id="308895241372589742">Nincs következő matematikai kifejezés.</translation>
+<translation id="3090227230165225418">Letöltési értesítések bejelentése</translation>
 <translation id="3090532668523289635">csop</translation>
 <translation id="3093176084511590672">Következő határjel</translation>
 <translation id="3096671415663099226">kombinált szövegbeviteli mező</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{kapcsos berekesztő zárójel}other{# kapcsos berekesztő zárójel}}</translation>
 <translation id="4158704014418536539">A kis- és nagybetű különböző.</translation>
 <translation id="4159784952369912983">Lila</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{másodperc}other{másodperc}}</translation>
 <translation id="4161663686871496107">A ChromeVox hangos visszajelzés készen áll</translation>
 <translation id="4173994908659439270">Nincs következő szerkeszthető szövegmező.</translation>
 <translation id="4176463684765177261">Kikapcsolva</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Visszamutató link</translation>
 <translation id="536031132345979795">Ugrás vissza folyamatos olvasáskor</translation>
 <translation id="5368000168321181111">Hangjelzések kikapcsolva</translation>
+<translation id="5368505757342402527"><ph name="PROGRESS" />%-ban kész a következő letöltése: <ph name="FILE_NAME" />. Körülbelül <ph name="TIME" /> <ph name="UNITS" /> van hátra.</translation>
 <translation id="5374320867641260420">Nincs következő gomb.</translation>
 <translation id="5376407118396657359">A cellánkénti mozgáshoz használja a Keresés+Ctrl+Alt és a nyílbillentyűket.</translation>
 <translation id="5382299583965267720">Nincs következő 1-es szintű címsor.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Dokumentum</translation>
 <translation id="6688209025607531203">Nem modális riasztás</translation>
 <translation id="6689672606256159458">Sötét lazacrózsaszín</translation>
+<translation id="669617842401078250">A következő letöltése szünetel: <ph name="FILE_NAME" /></translation>
 <translation id="6696967141280706829">Bevezető</translation>
 <translation id="6697092096875747123">Előző legördülő lista</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{felkiáltójel}other{# felkiáltójel}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Nincs előző 3-as szintű címsor.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, szövegmező</translation>
 <translation id="7663318257180412551">2-es címsor</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{óra}other{óra}}</translation>
 <translation id="7674576868851035240">Következő link</translation>
 <translation id="7674768236845044097">kiemelés</translation>
 <translation id="7684431668231950609">Szövegszerkesztés, URL-bevitel</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">automatikus kiegészítés lista</translation>
+<translation id="7763537600611320912">A következő fájl letöltése megkezdődött: <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, jelszómező</translation>
 <translation id="7776293189010177726">ChromeVox-menük megnyitása</translation>
 <translation id="7800558923657349506">Végszó</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Mentakrém</translation>
 <translation id="8098587210054821856">Palaszürke</translation>
 <translation id="8110647606445335195">Nincsenek ARIA határjelek.</translation>
+<translation id="812886159861361726">A következő letöltése leállítva: <ph name="FILE_NAME" /></translation>
 <translation id="8138880386467279117">Érintés</translation>
 <translation id="8153880621934657047">Nem táblázatban van.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{alulvonás}other{# alulvonás}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">belépés a strukturált tartalmakba, például táblázatokba</translation>
 <translation id="8747966237988593539">Rendezett lista</translation>
 <translation id="8749988712346667988">Ezüst</translation>
+<translation id="875769700429317857">A következő letöltése befejeződött: <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">Nincs következő link.</translation>
 <translation id="8767968232364267681">Következő 4. szintű fejléc</translation>
 <translation id="8770473310765924354">kilépés a strukturált tartalmakból, például táblázatokból</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ja.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ja.xtb
index 0dd6474..1a13ba9 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ja.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ja.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">クリック可能</translation>
 <translation id="2628764385451019380">前のコンボ ボックスはありません。</translation>
 <translation id="2637227747952042642">数式</translation>
+<translation id="2638785836053527382"><ph name="FILE_NAME" /> のダウンロードを再開しました</translation>
 <translation id="2639750663247012216">ChromeVox 修飾キー</translation>
 <translation id="2644542693584024604">スペルミス</translation>
 <translation id="2661530546602071611">注記</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">ダークオレンジ</translation>
 <translation id="2879867157561757640">3 本の指で下にスワイプします</translation>
 <translation id="288178314850623291">特定タイプの要素に移動するには、ジャンプ コマンドを使用します。見出し間を移動するには、順方向の場合は検索+H キー、逆方向の場合は検索+Shift+H キーを押します。</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{分}other{分}}</translation>
 <translation id="2894654529758326923">情報</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{左中かっこ}other{# 個の左中かっこ}}</translation>
 <translation id="2911433807131383493">ChromeVox チュートリアルを開く</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">入力読み上げなし</translation>
 <translation id="3086746722712840547">注記</translation>
 <translation id="308895241372589742">次の数式はありません。</translation>
+<translation id="3090227230165225418">ダウンロード通知を読み上げる</translation>
 <translation id="3090532668523289635">グループ</translation>
 <translation id="3093176084511590672">次のランドマーク</translation>
 <translation id="3096671415663099226">コンボボックス</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{右中かっこ}other{# 個の右中かっこ}}</translation>
 <translation id="4158704014418536539">大文字と小文字を区別します。</translation>
 <translation id="4159784952369912983">パープル</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{秒}other{秒}}</translation>
 <translation id="4161663686871496107">ChromeVox 音声フィードバックをご利用いただけます</translation>
 <translation id="4173994908659439270">次の編集可能テキスト フィールドはありません。</translation>
 <translation id="4176463684765177261">無効</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">言及リンク</translation>
 <translation id="536031132345979795">連続読み上げ時に後方へスキップします</translation>
 <translation id="5368000168321181111">イアコン オフ</translation>
+<translation id="5368505757342402527"><ph name="FILE_NAME" /> のダウンロードが <ph name="PROGRESS" />% 終了しました。完了まであと約 <ph name="TIME" /> <ph name="UNITS" />です。</translation>
 <translation id="5374320867641260420">次のボタンはありません。</translation>
 <translation id="5376407118396657359">検索+Ctrl+Alt キーを押しながら矢印キーを押して、セル間を移動します。</translation>
 <translation id="5382299583965267720">次のレベル 1 見出しはありません。</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">ドキュメント</translation>
 <translation id="6688209025607531203">非モーダル アラート</translation>
 <translation id="6689672606256159458">ダークサーモン</translation>
+<translation id="669617842401078250"><ph name="FILE_NAME" /> のダウンロードを一時停止しました</translation>
 <translation id="6696967141280706829">序文</translation>
 <translation id="6697092096875747123">前のコンボ ボックス</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{感嘆符}other{# 個の感嘆符}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">前のレベル 3 見出しはありません。</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />、<ph name="NAME" />、テキスト ボックス</translation>
 <translation id="7663318257180412551">見出し 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{時間}other{時間}}</translation>
 <translation id="7674576868851035240">次のリンク</translation>
 <translation id="7674768236845044097">マーク</translation>
 <translation id="7684431668231950609">テキスト編集、URL エントリ</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">リストのオートコンプリート</translation>
+<translation id="7763537600611320912"><ph name="FILE_NAME" /> のダウンロードを開始しました</translation>
 <translation id="7770823902658038748"><ph name="VALUE" />、<ph name="NAME" />、パスワード テキスト ボックス</translation>
 <translation id="7776293189010177726">ChromeVox メニューを開きます</translation>
 <translation id="7800558923657349506">エピローグ</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">ミントクリーム</translation>
 <translation id="8098587210054821856">スレートグレー</translation>
 <translation id="8110647606445335195">ARIA ランドマークはありません。</translation>
+<translation id="812886159861361726"><ph name="FILE_NAME" /> のダウンロードを停止しました</translation>
 <translation id="8138880386467279117">タップ</translation>
 <translation id="8153880621934657047">表の中ではありません。</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{アンダースコア}other{# 個のアンダースコア}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">表などの構造化コンテンツに入ります</translation>
 <translation id="8747966237988593539">番号付きリスト</translation>
 <translation id="8749988712346667988">シルバー</translation>
+<translation id="875769700429317857"><ph name="FILE_NAME" /> のダウンロードが完了しました</translation>
 <translation id="8759334257841767240">次のリンクはありません。</translation>
 <translation id="8767968232364267681">次のレベル 4 見出し</translation>
 <translation id="8770473310765924354">表などの構造化コンテンツの外に出ます</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_lv.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_lv.xtb
index 270f114f..6a3315f 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_lv.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_lv.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">klikšķināms</translation>
 <translation id="2628764385451019380">Iepriekš nav neviena kombinētā lodziņa.</translation>
 <translation id="2637227747952042642">Matemātiska izteiksme</translation>
+<translation id="2638785836053527382">Faila “<ph name="FILE_NAME" />” lejupielāde ir atsākta</translation>
 <translation id="2639750663247012216">ChromeVox modificētājtaustiņš</translation>
 <translation id="2644542693584024604">pareizrakstības kļūda</translation>
 <translation id="2661530546602071611">Paziņojums</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Tumši oranža</translation>
 <translation id="2879867157561757640">Velciet ar trim pirkstiem uz leju</translation>
 <translation id="288178314850623291">Izmantojiet pārejas komandas, lai izlaistu konkrētu veidu elementus. Lai pārietu uz priekšu pa virsrakstiem, vienlaikus nospiediet meklēšanas taustiņu un taustiņu H; lai pārietu atpakaļ — meklēšanas taustiņu, pārslēgšanas taustiņu un taustiņu H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minūte}zero{minūtes}one{minūtes}other{minūtes}}</translation>
 <translation id="2894654529758326923">Informācija</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{atverošā figūriekava}zero{# atverošo figūriekavu}one{# atverošā figūriekava}other{# atverošās figūriekavas}}</translation>
 <translation id="2911433807131383493">Atvērt ChromeVox mācības</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">nav rakstīšanas atbalss</translation>
 <translation id="3086746722712840547">piezīme</translation>
 <translation id="308895241372589742">Tālāk nav nevienas matemātiskas izteiksmes.</translation>
+<translation id="3090227230165225418">Informēt par lejupielādes paziņojumiem</translation>
 <translation id="3090532668523289635">grupa</translation>
 <translation id="3093176084511590672">Nākamais orientieris</translation>
 <translation id="3096671415663099226">kombinētais lodziņš</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{aizverošā figūriekava}zero{# aizverošo figūriekavu}one{# aizverošā figūriekava}other{# aizverošās figūriekavas}}</translation>
 <translation id="4158704014418536539">Reģistrjutīgs.</translation>
 <translation id="4159784952369912983">Violets</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{sekunde}zero{sekundes}one{sekundes}other{sekundes}}</translation>
 <translation id="4161663686871496107">ChromeVox izrunas funkcija ir gatava</translation>
 <translation id="4173994908659439270">Tālāk nav neviena rediģējama teksta lauka.</translation>
 <translation id="4176463684765177261">Atspējots</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Atpakaļsaite</translation>
 <translation id="536031132345979795">Pāriet atpakaļ nepārtraukta lasījuma laikā</translation>
 <translation id="5368000168321181111">Signāli izslēgti</translation>
+<translation id="5368505757342402527">Faila “<ph name="FILE_NAME" />” lejupielāde: <ph name="PROGRESS" />% pabeigti. Aptuvenais atlikušais laiks: <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Tālāk nav nevienas pogas.</translation>
 <translation id="5376407118396657359">Lai pārvietotos pa vienai šūnai, vienlaicīgi nospiediet meklēšanas, vadīšanas un alternēšanas taustiņu.</translation>
 <translation id="5382299583965267720">Tālāk nav neviena 1. līmeņa virsraksta.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Dokuments</translation>
 <translation id="6688209025607531203">Nemodāls brīdinājums</translation>
 <translation id="6689672606256159458">Tumša lašu</translation>
+<translation id="669617842401078250">Faila “<ph name="FILE_NAME" />” lejupielāde pārtraukta</translation>
 <translation id="6696967141280706829">Ievadraksts</translation>
 <translation id="6697092096875747123">Iepriekšējais kombinētais lodziņš</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{izsaukuma zīme}zero{# izsaukuma zīmju}one{# izsaukuma zīme}other{# izsaukuma zīmes}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Iepriekš nav neviena 3. līmeņa virsraksta.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, tekstlodziņš</translation>
 <translation id="7663318257180412551">2. līmeņa virsraksts</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{stunda}zero{stundas}one{stundas}other{stundas}}</translation>
 <translation id="7674576868851035240">Nākamā saite</translation>
 <translation id="7674768236845044097">iezīmēt</translation>
 <translation id="7684431668231950609">Rediģējams teksts: URL ievade</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">automātiski pabeigts saraksts</translation>
+<translation id="7763537600611320912">Faila “<ph name="FILE_NAME" />” lejupielāde ir sākta</translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, paroles tekstlodziņš</translation>
 <translation id="7776293189010177726">Atvērt ChromeVox izvēlnes</translation>
 <translation id="7800558923657349506">Epilogs</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Piparmētru krēma</translation>
 <translation id="8098587210054821856">Zilganpelēka</translation>
 <translation id="8110647606445335195">Nav ARIA orientieru.</translation>
+<translation id="812886159861361726">Faila “<ph name="FILE_NAME" />” lejupielāde apturēta</translation>
 <translation id="8138880386467279117">Pieskāriens</translation>
 <translation id="8153880621934657047">Nav tabulas iekšpusē.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{pasvītra}zero{# pasvītru}one{# pasvītra}other{# pasvītras}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">ievadīt strukturētu saturu, piemēram, tabulas</translation>
 <translation id="8747966237988593539">Numurēts saraksts</translation>
 <translation id="8749988712346667988">Sudraba</translation>
+<translation id="875769700429317857">Faila “<ph name="FILE_NAME" />” lejupielāde ir pabeigta</translation>
 <translation id="8759334257841767240">Tālāk nav nevienas saites.</translation>
 <translation id="8767968232364267681">Nākamais 4. līmeņa virsraksts</translation>
 <translation id="8770473310765924354">aizvērt strukturētu saturu, piemēram, tabulas</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_mr.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_mr.xtb
index 18c4733d..8bd7469 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_mr.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_mr.xtb
@@ -883,7 +883,7 @@
 <translation id="72393384879519786">मथळा</translation>
 <translation id="7240858705033280249">तपशिलांवर जा</translation>
 <translation id="7241683698754534149">एका नवीन टॅबमध्ये मोठे वर्णन उघडा</translation>
-<translation id="7248671827512403053">अॅप्लिकेशन</translation>
+<translation id="7248671827512403053">ॲप्लिकेशन</translation>
 <translation id="725969808843520477">पुढील रेडिओ बटण</translation>
 <translation id="7261612856573623172">सिस्टम टेक्‍स्‍ट टू स्‍पीच व्हॉइस</translation>
 <translation id="7269119382257320590">कोणतेही विरामचिन्‍ह नाही</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pl.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pl.xtb
index b8bff18..f9e1a30 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pl.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pl.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">klikalny</translation>
 <translation id="2628764385451019380">Brak poprzedniego pola złożonego.</translation>
 <translation id="2637227747952042642">Matematyczny</translation>
+<translation id="2638785836053527382">Pobieranie wznowione: <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">Modyfikator ChromeVox</translation>
 <translation id="2644542693584024604">błędny zapis</translation>
 <translation id="2661530546602071611">Uwaga</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Ciemnopomarańczowy</translation>
 <translation id="2879867157561757640">Przesuń trzema palcami w dół</translation>
 <translation id="288178314850623291">Użyj poleceń nawigacji, by przejść do elementu określonego typu. Aby przejść do następnego nagłówka, naciśnij Wyszukaj + H. Aby przejść do poprzedniego nagłówka, naciśnij Wyszukaj + Shift + H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minuta}few{minuty}many{minut}other{minuty}}</translation>
 <translation id="2894654529758326923">Informacje</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{lewy nawias klamrowy}few{# lewe nawiasy klamrowe}many{# lewych nawiasów klamrowych}other{# left braces}}</translation>
 <translation id="2911433807131383493">Otwórz samouczek ChromeVox</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">bez odczytywania podczas pisania</translation>
 <translation id="3086746722712840547">note</translation>
 <translation id="308895241372589742">Brak następnego wyrażenia matematycznego.</translation>
+<translation id="3090227230165225418">Powiadamiaj głosowo o pobieraniu</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">Następny punkt orientacyjny</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{prawy nawias klamrowy}few{# prawe nawiasy klamrowe}many{# prawych nawiasów klamrowych}other{# right braces}}</translation>
 <translation id="4158704014418536539">Rozróżnianie wielkości liter.</translation>
 <translation id="4159784952369912983">Purpurowy</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{sekunda}few{sekundy}many{sekund}other{sekundy}}</translation>
 <translation id="4161663686871496107">Powiadamianie głosowe ChromeVox jest gotowe</translation>
 <translation id="4173994908659439270">Brak następnego pola tekstowego do edytowania.</translation>
 <translation id="4176463684765177261">Wyłączone</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Link zwrotny</translation>
 <translation id="536031132345979795">Cofnij podczas ciągłego czytania</translation>
 <translation id="5368000168321181111">Ikony akustyczne są wyłączone</translation>
+<translation id="5368505757342402527">Pobrano <ph name="PROGRESS" />% pliku <ph name="FILE_NAME" />. Pozostało około <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Brak przycisku Dalej.</translation>
 <translation id="5376407118396657359">Naciśnij klawisz wyszukiwania + Ctrl + Alt i przechodź między komórkami za pomocą klawiszy strzałek.</translation>
 <translation id="5382299583965267720">Brak następnego nagłówka poziomu 1.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Dokument</translation>
 <translation id="6688209025607531203">Alert nie w oknie modalnym</translation>
 <translation id="6689672606256159458">Ciemny łososiowy</translation>
+<translation id="669617842401078250">Pobieranie wstrzymane: <ph name="FILE_NAME" /></translation>
 <translation id="6696967141280706829">Wstęp</translation>
 <translation id="6697092096875747123">Poprzednie pole złożone</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{wykrzyknik}few{# wykrzykniki}many{# wykrzykników}other{# wykrzyknika}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Brak poprzedniego nagłówka poziomu 3.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, pole tekstowe</translation>
 <translation id="7663318257180412551">Nagłówek 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{godzina}few{godziny}many{godzin}other{godziny}}</translation>
 <translation id="7674576868851035240">Następny link</translation>
 <translation id="7674768236845044097">zaznaczenie</translation>
 <translation id="7684431668231950609">Edytowanie tekstu, podanie URL-a</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">Rozpoczęto pobieranie pliku <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, pole tekstowe hasła</translation>
 <translation id="7776293189010177726">Otwórz menu ChromeVox</translation>
 <translation id="7800558923657349506">Epilog</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Miętowokremowy</translation>
 <translation id="8098587210054821856">Szaroniebieski</translation>
 <translation id="8110647606445335195">Brak punktów orientacyjnych ARIA.</translation>
+<translation id="812886159861361726">Zatrzymano pobieranie pliku <ph name="FILE_NAME" /></translation>
 <translation id="8138880386467279117">Kliknij</translation>
 <translation id="8153880621934657047">Poza tabelą.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{podkreślenie}few{# znaki podkreślenia}many{# znaków podkreślenia}other{# underscores}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">otwórz treści strukturalne, na przykład tabele</translation>
 <translation id="8747966237988593539">Lista numerowana</translation>
 <translation id="8749988712346667988">Srebrny</translation>
+<translation id="875769700429317857">Zakończono pobieranie pliku <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">Brak następnego linku.</translation>
 <translation id="8767968232364267681">Następny nagłówek poziomu 4</translation>
 <translation id="8770473310765924354">zamknij treści strukturalne, na przykład tabele</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pt-BR.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pt-BR.xtb
index 36a9cc5..567e077 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pt-BR.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pt-BR.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">clicável</translation>
 <translation id="2628764385451019380">Nenhuma caixa mista anterior.</translation>
 <translation id="2637227747952042642">Math</translation>
+<translation id="2638785836053527382">Download de <ph name="FILE_NAME" /> retomado</translation>
 <translation id="2639750663247012216">Teclas modificadoras do ChromeVox</translation>
 <translation id="2644542693584024604">misspelled</translation>
 <translation id="2661530546602071611">Aviso</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Laranja-escuro</translation>
 <translation id="2879867157561757640">Deslize para baixo usando três dedos</translation>
 <translation id="288178314850623291">Use comandos de avanço e retorno para acessar tipos específicos de elementos. Para avançar entre cabeçalhos, pressione Pesquisa + H ou pressione Pesquisa + Shift + H para retroceder.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minuto}one{minuto}other{minutos}}</translation>
 <translation id="2894654529758326923">Informações</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{chave esquerda}one{# chaves esquerdas}other{# chaves esquerdas}}</translation>
 <translation id="2911433807131383493">Abrir tutorial do ChromeVox</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">sem eco de digitação</translation>
 <translation id="3086746722712840547">note</translation>
 <translation id="308895241372589742">Nenhuma expressão matemática a seguir.</translation>
+<translation id="3090227230165225418">Anunciar notificações de download</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">Próximo ponto de referência</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{chave direita}one{# chaves direitas}other{# chaves direitas}}</translation>
 <translation id="4158704014418536539">Diferencia maiúsculas de minúsculas.</translation>
 <translation id="4159784952369912983">Roxo</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{segundo}one{segundo}other{segundos}}</translation>
 <translation id="4161663686871496107">O feedback falado do ChromeVox está pronto</translation>
 <translation id="4173994908659439270">Nenhum campo de texto editável a seguir.</translation>
 <translation id="4176463684765177261">Desativado</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Backlink</translation>
 <translation id="536031132345979795">Ir para trás durante a leitura contínua</translation>
 <translation id="5368000168321181111">Earcons desativados</translation>
+<translation id="5368505757342402527">Download de <ph name="FILE_NAME" /> <ph name="PROGRESS" />% completo. Cerca de <ph name="TIME" /> <ph name="UNITS" /> restante(s).</translation>
 <translation id="5374320867641260420">Nenhum botão a seguir.</translation>
 <translation id="5376407118396657359">Pressione Pesquisar+Ctrl+Alt com as setas para navegar por célula.</translation>
 <translation id="5382299583965267720">Nenhum cabeçalho de nível 1 a seguir.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Documento</translation>
 <translation id="6688209025607531203">Um alerta não modal</translation>
 <translation id="6689672606256159458">Salmão-escuro</translation>
+<translation id="669617842401078250">Download de <ph name="FILE_NAME" /> pausado</translation>
 <translation id="6696967141280706829">Prefácio</translation>
 <translation id="6697092096875747123">Caixa de combinação anterior</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{ponto de exclamação}one{# ponto de exclamação}other{# pontos de exclamação}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Nenhum cabeçalho anterior de nível 3.</translation>
 <translation id="7659376057562985921">Caixa de texto <ph name="NAME" /> <ph name="VALUE" /></translation>
 <translation id="7663318257180412551">Cabeçalho 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{hora}one{hora}other{horas}}</translation>
 <translation id="7674576868851035240">Próximo link</translation>
 <translation id="7674768236845044097">marcar</translation>
 <translation id="7684431668231950609">Editar texto, entrada de URL</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">Download de <ph name="FILE_NAME" /> iniciado</translation>
 <translation id="7770823902658038748">Caixa de texto de senha <ph name="NAME" /> <ph name="VALUE" /></translation>
 <translation id="7776293189010177726">Abrir menus do ChromeVox</translation>
 <translation id="7800558923657349506">Epílogo</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Menta</translation>
 <translation id="8098587210054821856">Cinza-ardósia</translation>
 <translation id="8110647606445335195">Nenhum ponto de referência ARIA.</translation>
+<translation id="812886159861361726">Download de <ph name="FILE_NAME" /> interrompido</translation>
 <translation id="8138880386467279117">Tocar</translation>
 <translation id="8153880621934657047">Não está dentro da tabela.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{sublinhado}one{# sublinhados}other{# sublinhados}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">insere conteúdo estruturado, como tabelas</translation>
 <translation id="8747966237988593539">Lista ordenada</translation>
 <translation id="8749988712346667988">Prata</translation>
+<translation id="875769700429317857">Download de <ph name="FILE_NAME" /> concluído</translation>
 <translation id="8759334257841767240">Nenhum link a seguir.</translation>
 <translation id="8767968232364267681">Próximo cabeçalho de nível 4</translation>
 <translation id="8770473310765924354">sai de conteúdo estruturado, como tabelas</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pt-PT.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pt-PT.xtb
index 9e519fe..84f6703 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pt-PT.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_pt-PT.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">clicável</translation>
 <translation id="2628764385451019380">Não existe nenhuma caixa de combinação anterior.</translation>
 <translation id="2637227747952042642">Matemática</translation>
+<translation id="2638785836053527382">Transferência de <ph name="FILE_NAME" /> retomada</translation>
 <translation id="2639750663247012216">Modificador do ChromeVox</translation>
 <translation id="2644542693584024604">erro ortográfico</translation>
 <translation id="2661530546602071611">Aviso</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Cor de laranja escuro</translation>
 <translation id="2879867157561757640">Deslizar rapidamente com três dedos para baixo</translation>
 <translation id="288178314850623291">Utilize os comandos de avanço para ir para tipos de elemento específicos. Para avançar entre cabeçalhos, prima Pesquisar + H. Para recuar, prima Pesquisar + Shift + H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minuto}other{minutos}}</translation>
 <translation id="2894654529758326923">Informações</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{chaveta esquerda}other{# chavetas esquerdas}}</translation>
 <translation id="2911433807131383493">Abrir tutorial do ChromeVox</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">sem eco de digitação</translation>
 <translation id="3086746722712840547">note</translation>
 <translation id="308895241372589742">Não existe nenhuma expressão matemática seguinte.</translation>
+<translation id="3090227230165225418">Anunciar notificações de transferências</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">Ponto de referência seguinte</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{chaveta direita}other{# chavetas direitas}}</translation>
 <translation id="4158704014418536539">Sensível a maiúsculas e minúsculas.</translation>
 <translation id="4159784952369912983">Roxo</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{segundo}other{segundos}}</translation>
 <translation id="4161663686871496107">As respostas faladas do ChromeVox estão prontas</translation>
 <translation id="4173994908659439270">Não existe nenhum campo de texto editável seguinte.</translation>
 <translation id="4176463684765177261">Desativado</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Backlink</translation>
 <translation id="536031132345979795">Voltar durante a leitura contínua</translation>
 <translation id="5368000168321181111">Ícones sonoros desativados</translation>
+<translation id="5368505757342402527">A transferência do ficheiro <ph name="FILE_NAME" /> está <ph name="PROGRESS" />% concluída. Faltam cerca de <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Não existe nenhum botão seguinte.</translation>
 <translation id="5376407118396657359">Prima Pesquisar + Ctrl + Alt com as setas para navegar por célula.</translation>
 <translation id="5382299583965267720">Não existe nenhum título de nível 1 seguinte.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Documento</translation>
 <translation id="6688209025607531203">Um alerta não modal</translation>
 <translation id="6689672606256159458">Salmão-escuro</translation>
+<translation id="669617842401078250">Transferência de <ph name="FILE_NAME" /> interrompida</translation>
 <translation id="6696967141280706829">Prefácio</translation>
 <translation id="6697092096875747123">Caixa de combinação anterior</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{exclamação}other{# exclamações}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Não existe nenhum título de nível 3 anterior.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, caixa de texto</translation>
 <translation id="7663318257180412551">Título 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{hora}other{horas}}</translation>
 <translation id="7674576868851035240">Link seguinte</translation>
 <translation id="7674768236845044097">mark</translation>
 <translation id="7684431668231950609">Editar texto, entrada de URL</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">A transferência de <ph name="FILE_NAME" /> foi iniciada</translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, caixa de texto da palavra-passe</translation>
 <translation id="7776293189010177726">Abrir menus do ChromeVox</translation>
 <translation id="7800558923657349506">Epílogo</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Verde-menta claro</translation>
 <translation id="8098587210054821856">Cinzento-ardósia</translation>
 <translation id="8110647606445335195">Não existe nenhum ponto de referência ARIA.</translation>
+<translation id="812886159861361726">A transferência do ficheiro <ph name="FILE_NAME" /> foi interrompida</translation>
 <translation id="8138880386467279117">Tocar</translation>
 <translation id="8153880621934657047">Não está dentro da tabela.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{sublinhado}other{# sublinhados}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">inserir o conteúdo estruturado, por exemplo, tabelas</translation>
 <translation id="8747966237988593539">Lista ordenada</translation>
 <translation id="8749988712346667988">Prateado</translation>
+<translation id="875769700429317857">Transferência de <ph name="FILE_NAME" /> concluída</translation>
 <translation id="8759334257841767240">Não existe nenhum link seguinte.</translation>
 <translation id="8767968232364267681">Título de nível 4 seguinte</translation>
 <translation id="8770473310765924354">sair do conteúdo estruturado, por exemplo, tabelas</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ro.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ro.xtb
index d88536c45..def446f 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ro.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_ro.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">pe care se poate da clic</translation>
 <translation id="2628764385451019380">Nu există o casetă combo anterioară.</translation>
 <translation id="2637227747952042642">Matematică</translation>
+<translation id="2638785836053527382">Descărcarea a fost reluată pentru <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">modificator ChromeVox</translation>
 <translation id="2644542693584024604">scris greșit</translation>
 <translation id="2661530546602071611">Anunț</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Portocaliu închis</translation>
 <translation id="2879867157561757640">Glisează cu trei degete în jos</translation>
 <translation id="288178314850623291">Folosește comenzile de navigare pentru a trece direct la anumite tipuri de elemente. Pentru a trece înainte de la un titlu la altul, apasă pe tasta de căutare + H sau, pentru a trece înapoi, apasă pe tasta de căutare + Shift + H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minut}few{minute}other{de minute}}</translation>
 <translation id="2894654529758326923">Informații</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{acoladă stânga}few{# acolade stânga}other{# de acolade stânga}}</translation>
 <translation id="2911433807131383493">Deschideți programul de instruire ChromeVox</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">fără ecou la tastare</translation>
 <translation id="3086746722712840547">notă</translation>
 <translation id="308895241372589742">Nu există o expresie matematică următoare.</translation>
+<translation id="3090227230165225418">Anunță notificările pentru descărcări</translation>
 <translation id="3090532668523289635">grup</translation>
 <translation id="3093176084511590672">Reperul următor</translation>
 <translation id="3096671415663099226">casetă combo</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{acoladă dreapta}few{# acolade dreapta}other{# de acolade dreapta}}</translation>
 <translation id="4158704014418536539">Distinge între scrierea cu minuscule/majuscule.</translation>
 <translation id="4159784952369912983">Mov</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{secundă}few{secunde}other{de secunde}}</translation>
 <translation id="4161663686871496107">Feedbackul vocal ChromeVox este configurat</translation>
 <translation id="4173994908659439270">Nu există un câmp de text editabil următor.</translation>
 <translation id="4176463684765177261">Dezactivat</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Backlink</translation>
 <translation id="536031132345979795">Treceți înapoi în timpul lecturii continue</translation>
 <translation id="5368000168321181111">Semnalele audio sunt dezactivate</translation>
+<translation id="5368505757342402527">Descărcarea este <ph name="PROGRESS" />% finalizată <ph name="FILE_NAME" />. Au mai rămas aproximativ <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Nu există un buton următor.</translation>
 <translation id="5376407118396657359">Apasă pe tasta de căutare + Ctrl + Alt și pe săgeți pentru a naviga celulă cu celulă.</translation>
 <translation id="5382299583965267720">Nu există un titlu de nivel 1 următor.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Document</translation>
 <translation id="6688209025607531203">O alertă în fereastră non-modală</translation>
 <translation id="6689672606256159458">Roz portocaliu închis</translation>
+<translation id="669617842401078250">Descărcarea a fost întreruptă pentru <ph name="FILE_NAME" /></translation>
 <translation id="6696967141280706829">Prefață</translation>
 <translation id="6697092096875747123">Caseta combo anterioară</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{semn de exclamare}few{# semne de exclamare}other{# de semne de exclamare}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Nu există un titlu de nivel 3 anterior.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, casetă text</translation>
 <translation id="7663318257180412551">Titlu 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{oră}few{ore}other{de ore}}</translation>
 <translation id="7674576868851035240">Linkul următor</translation>
 <translation id="7674768236845044097">marcaj</translation>
 <translation id="7684431668231950609">Câmp editare text de tip adresă URL</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">completare automată listă</translation>
+<translation id="7763537600611320912">Descărcarea fișierului <ph name="FILE_NAME" /> a început</translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, casetă text pentru parolă</translation>
 <translation id="7776293189010177726">Deschide meniurile ChromeVox</translation>
 <translation id="7800558923657349506">Epilog</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Cremă de mentă</translation>
 <translation id="8098587210054821856">Gri ardezie</translation>
 <translation id="8110647606445335195">Nu există repere ARIA.</translation>
+<translation id="812886159861361726">Descărcarea fișierului <ph name="FILE_NAME" /> s-a oprit</translation>
 <translation id="8138880386467279117">Tactil</translation>
 <translation id="8153880621934657047">Nu vă aflați în interiorul tabelului.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{caracter de subliniere}few{# caractere de subliniere}other{# de caractere de subliniere}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">intrați în conținut structurat, cum ar fi tabelele</translation>
 <translation id="8747966237988593539">Listă ordonată</translation>
 <translation id="8749988712346667988">Argintiu</translation>
+<translation id="875769700429317857">Descărcarea a fost finalizată pentru <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">Nu există un link următor.</translation>
 <translation id="8767968232364267681">Titlul de nivel 4 următor</translation>
 <translation id="8770473310765924354">se iese din conținutul structurat, cum ar fi tabelele</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sk.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sk.xtb
index 1c265462..19daa8ca 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sk.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sk.xtb
@@ -213,6 +213,7 @@
 <translation id="2626530649491650971">kliknuteľné</translation>
 <translation id="2628764385451019380">Žiadne predchádzajúce rozbaľovacie pole</translation>
 <translation id="2637227747952042642">Matematika</translation>
+<translation id="2638785836053527382">Sťahovanie súboru <ph name="FILE_NAME" /> bolo obnovené</translation>
 <translation id="2639750663247012216">Modifikátor služby ChromeVox</translation>
 <translation id="2644542693584024604">preklep</translation>
 <translation id="2661530546602071611">Upozornenie</translation>
@@ -252,6 +253,7 @@
 <translation id="287383510823843610">Tmavooranžová</translation>
 <translation id="2879867157561757640">Potiahnite troma prstami nadol</translation>
 <translation id="288178314850623291">Ak chcete prejsť na konkrétne typy prvkov, použite príkazy na preskočenie. Ak chcete prechádzať dopredu medzi nadpismi, stlačte kombináciu klávesov Hľadať + H. Ak chcete prejsť dozadu, stlačte kombináciu klávesov Hľadať + Shift + H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minúta}few{minúty}many{minúty}other{minút}}</translation>
 <translation id="2894654529758326923">Informácie</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{ľavá zložená zátvorka}few{# ľavé zložené zátvorky}many{# left braces}other{# ľavých zložených zátvoriek}}</translation>
 <translation id="2911433807131383493">Otvoriť príručku rozšírenia ChromeVox</translation>
@@ -286,6 +288,7 @@
 <translation id="3084806535845658316">bez zvukovej odozvy na zadávanie textu</translation>
 <translation id="3086746722712840547">poznámka</translation>
 <translation id="308895241372589742">Žiadny nasledujúci matematický výraz</translation>
+<translation id="3090227230165225418">Zobrazovať upozornenia na sťahovanie</translation>
 <translation id="3090532668523289635">skupina</translation>
 <translation id="3093176084511590672">Ďalší orientačný bod</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -438,6 +441,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{pravá zložená zátvorka}few{# pravé zložené zátvorky}many{# right braces}other{# pravých zložených zátvoriek}}</translation>
 <translation id="4158704014418536539">Rozlišujú sa malé a veľké písmená.</translation>
 <translation id="4159784952369912983">Purpurová</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{sekunda}few{sekundy}many{sekundy}other{sekúnd}}</translation>
 <translation id="4161663686871496107">Hovorená spätná väzba ChromeVox je pripravená</translation>
 <translation id="4173994908659439270">Žiadne ďalšie upraviteľné textové pole</translation>
 <translation id="4176463684765177261">Deaktivované</translation>
@@ -618,6 +622,7 @@
 <translation id="5349770431644471053">Spätný odkaz</translation>
 <translation id="536031132345979795">Prejsť späť počas plynulého čítania</translation>
 <translation id="5368000168321181111">Zvukové signály sú vypnuté</translation>
+<translation id="5368505757342402527">Sťahovanie súboru <ph name="FILE_NAME" /> je dokončené na <ph name="PROGRESS" /> %. Približný zostávajúci čas: <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Žiadne ďalšie tlačidlo</translation>
 <translation id="5376407118396657359">Prechádzajte po bunkách pomocou klávesov Hľadať + Ctrl + Alt.</translation>
 <translation id="5382299583965267720">Žiadny ďalší nadpis 1. úrovne</translation>
@@ -800,6 +805,7 @@
 <translation id="667999046851023355">Dokument</translation>
 <translation id="6688209025607531203">Upozornenie netýkajúce sa režimu</translation>
 <translation id="6689672606256159458">Tmavolososová</translation>
+<translation id="669617842401078250">Sťahovanie súboru <ph name="FILE_NAME" /> bolo pozastavené</translation>
 <translation id="6696967141280706829">Predslov</translation>
 <translation id="6697092096875747123">Predchádzajúce rozbaľovacie pole</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{výkričník}few{# výkričníky}many{# výkričníka}other{# výkričníkov}}</translation>
@@ -938,6 +944,7 @@
 <translation id="7641134354185483015">Žiadny predchádzajúci nadpis 3. úrovne</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, textové pole</translation>
 <translation id="7663318257180412551">Nadpis 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{hodina}few{hodiny}many{hodiny}other{hodín}}</translation>
 <translation id="7674576868851035240">Ďalší odkaz</translation>
 <translation id="7674768236845044097">značka</translation>
 <translation id="7684431668231950609">Upraviť text, vstup webovej adresy</translation>
@@ -952,6 +959,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">Sťahovanie súboru <ph name="FILE_NAME" /> sa začalo</translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, textové pole pre heslo</translation>
 <translation id="7776293189010177726">Otvoriť ponuky rozšírenia ChromeVox</translation>
 <translation id="7800558923657349506">Epilóg</translation>
@@ -1076,6 +1084,7 @@
 <translation id="8096975275316362544">Mätovokrémová</translation>
 <translation id="8098587210054821856">Bridlicovosivá</translation>
 <translation id="8110647606445335195">Žiadne orientačné body ARIA</translation>
+<translation id="812886159861361726">Sťahovanie súboru <ph name="FILE_NAME" /> bolo zastavené</translation>
 <translation id="8138880386467279117">Klepnúť</translation>
 <translation id="8153880621934657047">Mimo tabuľky</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{podčiarkovník}few{# podčiarkovníky}many{# underscores}other{# podčiarkovníkov}}</translation>
@@ -1145,6 +1154,7 @@
 <translation id="8743786158317878347">zadať štruktúrovaný obsah, ako sú napríklad tabuľky</translation>
 <translation id="8747966237988593539">Číslovaný zoznam</translation>
 <translation id="8749988712346667988">Strieborná</translation>
+<translation id="875769700429317857">Sťahovanie súboru <ph name="FILE_NAME" /> sa dokončilo</translation>
 <translation id="8759334257841767240">Žiadny ďalší odkaz</translation>
 <translation id="8767968232364267681">Ďalšia hlavička 4. úrovne</translation>
 <translation id="8770473310765924354">ukončiť štruktúrovaný obsah, ako sú napríklad tabuľky</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sr.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sr.xtb
index ee7de038..74950c9 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sr.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sr.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">елемент на који може да се кликне</translation>
 <translation id="2628764385451019380">Нема претходног комбинованог оквира.</translation>
 <translation id="2637227747952042642">Математика</translation>
+<translation id="2638785836053527382">Преузимање је настављено <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">ChromeVox модификатор</translation>
 <translation id="2644542693584024604">погрешно написано</translation>
 <translation id="2661530546602071611">Обавештење</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Тамнонаранџаста</translation>
 <translation id="2879867157561757640">Превлачите надоле помоћу три прста</translation>
 <translation id="288178314850623291">Користите команде за прелазак да бисте прелазили на одређене типове елемената. Да бисте прелазили на наслове унапред, притисните тастер за претрагу + H, а да бисте прелазили на наслове уназад, притисните тастер за претрагу + Shift + H.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{минут}one{минути}few{минути}other{минути}}</translation>
 <translation id="2894654529758326923">Информације</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{лева витичаста заграда}one{# лева витичаста заграда}few{# леве витичасте заграде}other{# левих витичастих заграда}}</translation>
 <translation id="2911433807131383493">Отварање ChromeVox водича</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">нема одјека знакова</translation>
 <translation id="3086746722712840547">белешка</translation>
 <translation id="308895241372589742">Нема следећег математичког израза.</translation>
+<translation id="3090227230165225418">Најави обавештења о преузимањима</translation>
 <translation id="3090532668523289635">група</translation>
 <translation id="3093176084511590672">Следеће обележје</translation>
 <translation id="3096671415663099226">комбиновани оквир</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{десна витичаста заграда}one{# десна витичаста заграда}few{# десне витичасте заграде}other{# десних витичастих заграда}}</translation>
 <translation id="4158704014418536539">Разликује велика и мала слова.</translation>
 <translation id="4159784952369912983">Љубичаста</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{секунда}one{секунде}few{секунде}other{секунде}}</translation>
 <translation id="4161663686871496107">ChromeVox говорне повратне информације су спремне</translation>
 <translation id="4173994908659439270">Нема следећег изменљивог поља за текст.</translation>
 <translation id="4176463684765177261">Онемогућено</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Повратна веза</translation>
 <translation id="536031132345979795">Прескакање уназад током непрекидног читања</translation>
 <translation id="5368000168321181111">Звучна обавештења су искључена</translation>
+<translation id="5368505757342402527">Завршено је <ph name="PROGRESS" />% преузимања датотеке <ph name="FILE_NAME" />. Остало је око <ph name="TIME" /> <ph name="UNITS" />.</translation>
 <translation id="5374320867641260420">Нема следећег дугмета.</translation>
 <translation id="5376407118396657359">Притисните тастер за претрагу + Ctrl + Alt и стрелице да бисте се кретали кроз ћелије.</translation>
 <translation id="5382299583965267720">Нема следећег заглавља 1. нивоа.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Документ</translation>
 <translation id="6688209025607531203">Немодално обавештење</translation>
 <translation id="6689672606256159458">Ружичастонаранџаста</translation>
+<translation id="669617842401078250">Преузимање је паузирано <ph name="FILE_NAME" /></translation>
 <translation id="6696967141280706829">Предговор</translation>
 <translation id="6697092096875747123">Претходни комбиновани оквир</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{знак узвика}one{# знак узвика}few{# знака узвика}other{# знакова узвика}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Нема претходног заглавља 3. нивоа.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, оквир за текст</translation>
 <translation id="7663318257180412551">Заглавље 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{сат}one{сати}few{сати}other{сати}}</translation>
 <translation id="7674576868851035240">Следећи линк</translation>
 <translation id="7674768236845044097">ознака</translation>
 <translation id="7684431668231950609">Измените текст, унос за URL</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">аутоматско довршавање листе</translation>
+<translation id="7763537600611320912">Преузимање је започето <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, оквир за лозинку</translation>
 <translation id="7776293189010177726">Отвара ChromeVox меније</translation>
 <translation id="7800558923657349506">Епилог</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Светлозелена</translation>
 <translation id="8098587210054821856">Сивоплава</translation>
 <translation id="8110647606445335195">Нема ARIA обележја.</translation>
+<translation id="812886159861361726">Преузимање је заустављено <ph name="FILE_NAME" /></translation>
 <translation id="8138880386467279117">За додирни екран</translation>
 <translation id="8153880621934657047">Нисте унутар табеле.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{доња црта}one{# доња црта}few{# доње црте}other{# доњих црта}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">уђите у структурирани садржај, попут табела</translation>
 <translation id="8747966237988593539">Уређена листа</translation>
 <translation id="8749988712346667988">Сребрна</translation>
+<translation id="875769700429317857">Преузимање је завршено <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">Нема следећег линка.</translation>
 <translation id="8767968232364267681">Следеће заглавље 4. нивоа</translation>
 <translation id="8770473310765924354">изађите из структурираног садржаја, попут табела</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sv.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sv.xtb
index 45a9ee1..8b65e3d 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sv.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sv.xtb
@@ -214,6 +214,7 @@
 <translation id="2626530649491650971">klickbart</translation>
 <translation id="2628764385451019380">Det finns ingen föregående kombinationsruta.</translation>
 <translation id="2637227747952042642">Matematiskt</translation>
+<translation id="2638785836053527382">Nedladdningen återupptogs <ph name="FILE_NAME" /></translation>
 <translation id="2639750663247012216">ChromeVox-specialtangent</translation>
 <translation id="2644542693584024604">felstavat</translation>
 <translation id="2661530546602071611">Anmärkning</translation>
@@ -253,6 +254,7 @@
 <translation id="287383510823843610">Mörkorange</translation>
 <translation id="2879867157561757640">Svep nedåt med tre fingrar</translation>
 <translation id="288178314850623291">Använd hoppkommandon om du vill hoppa till specifika typer av element. Om du vill hoppa framåt mellan rubriker trycker du på söktangenten + H, och på söktangenten + Skift + H om du vill hoppa bakåt.</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{minut}other{minuter}}</translation>
 <translation id="2894654529758326923">Information</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{vänster klammerparentes}other{# vänster-klammerparenteser}}</translation>
 <translation id="2911433807131383493">Öppna självstudierna för ChromeVox</translation>
@@ -287,6 +289,7 @@
 <translation id="3084806535845658316">inget eko vid inmatning</translation>
 <translation id="3086746722712840547">anm</translation>
 <translation id="308895241372589742">Det finns inga fler matematiska uttryck.</translation>
+<translation id="3090227230165225418">Visa nedladdningsaviseringar</translation>
 <translation id="3090532668523289635">grp</translation>
 <translation id="3093176084511590672">Nästa landmärke</translation>
 <translation id="3096671415663099226">kombinationsruta</translation>
@@ -439,6 +442,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{höger klammerparentes}other{# höger-klammerparenteser}}</translation>
 <translation id="4158704014418536539">Skiftlägeskänslig.</translation>
 <translation id="4159784952369912983">Lila</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{sekund}other{sekunder}}</translation>
 <translation id="4161663686871496107">Uppläst feedback från ChromeVox har aktiverats</translation>
 <translation id="4173994908659439270">Det finns inga fler redigerbara textfält.</translation>
 <translation id="4176463684765177261">Inaktiverad</translation>
@@ -619,6 +623,7 @@
 <translation id="5349770431644471053">Bakåtlänk</translation>
 <translation id="536031132345979795">Hoppa bakåt under kontinuerlig uppläsning</translation>
 <translation id="5368000168321181111">Ljudikoner har inaktiverats</translation>
+<translation id="5368505757342402527">Nedladdningen <ph name="PROGRESS" /> % klar <ph name="FILE_NAME" />. Cirka <ph name="TIME" /> <ph name="UNITS" /> återstår.</translation>
 <translation id="5374320867641260420">Det finns inga fler knappar.</translation>
 <translation id="5376407118396657359">Flytta en cell i taget genom att trycka på Sök+Ctrl+Alt.</translation>
 <translation id="5382299583965267720">Det finns inga fler rubriker på nivå 1.</translation>
@@ -801,6 +806,7 @@
 <translation id="667999046851023355">Dokument</translation>
 <translation id="6688209025607531203">En icke-modal avisering</translation>
 <translation id="6689672606256159458">Mörkt laxrosa</translation>
+<translation id="669617842401078250">Nedladdningen pausades <ph name="FILE_NAME" /></translation>
 <translation id="6696967141280706829">Företal</translation>
 <translation id="6697092096875747123">Föregående kombinationsruta</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{utropstecken}other{# utropstecken}}</translation>
@@ -939,6 +945,7 @@
 <translation id="7641134354185483015">Det finns ingen föregående rubrik på nivå 3.</translation>
 <translation id="7659376057562985921"><ph name="VALUE" />, <ph name="NAME" />, textruta</translation>
 <translation id="7663318257180412551">Rubrik 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{timme}other{timmar}}</translation>
 <translation id="7674576868851035240">Nästa länk</translation>
 <translation id="7674768236845044097">markering</translation>
 <translation id="7684431668231950609">Textinmatning, webbadress</translation>
@@ -953,6 +960,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autoslutför i lista</translation>
+<translation id="7763537600611320912">Nedladdningen startades <ph name="FILE_NAME" /></translation>
 <translation id="7770823902658038748"><ph name="VALUE" />, <ph name="NAME" />, lösenordsruta</translation>
 <translation id="7776293189010177726">Öppna ChromeVox-menyerna</translation>
 <translation id="7800558923657349506">Epilog</translation>
@@ -1077,6 +1085,7 @@
 <translation id="8096975275316362544">Ljust mintgrön</translation>
 <translation id="8098587210054821856">Skiffergrå</translation>
 <translation id="8110647606445335195">Det finns inga ARIA-landmärken.</translation>
+<translation id="812886159861361726">Nedladdningen stoppades <ph name="FILE_NAME" /></translation>
 <translation id="8138880386467279117">Trycka</translation>
 <translation id="8153880621934657047">Inte i tabellen.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{understreck}other{# understreck}}</translation>
@@ -1146,6 +1155,7 @@
 <translation id="8743786158317878347">öppna strukturerat innehåll, t.ex. tabeller</translation>
 <translation id="8747966237988593539">Sorterad lista</translation>
 <translation id="8749988712346667988">Silverfärgad</translation>
+<translation id="875769700429317857">Nedladdningen är klar <ph name="FILE_NAME" /></translation>
 <translation id="8759334257841767240">Det finns inga fler länkar.</translation>
 <translation id="8767968232364267681">Nästa rubrik på nivå 4</translation>
 <translation id="8770473310765924354">stäng strukturerat innehåll, t.ex. tabeller</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_th.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_th.xtb
index 0ba1ba7..3b2b47a 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_th.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_th.xtb
@@ -213,6 +213,7 @@
 <translation id="2626530649491650971">คลิกได้</translation>
 <translation id="2628764385451019380">ไม่มีช่องตัวเลือกรวมก่อนหน้า</translation>
 <translation id="2637227747952042642">คณิตศาสตร์</translation>
+<translation id="2638785836053527382">เริ่มดาวน์โหลด <ph name="FILE_NAME" /> ต่อ</translation>
 <translation id="2639750663247012216">คีย์ตัวปรับแต่ง ChromeVox</translation>
 <translation id="2644542693584024604">สะกดผิด</translation>
 <translation id="2661530546602071611">ประกาศ</translation>
@@ -252,6 +253,7 @@
 <translation id="287383510823843610">สีส้มเข้ม</translation>
 <translation id="2879867157561757640">เลื่อน 3 นิ้วลง</translation>
 <translation id="288178314850623291">ใช้คำสั่งข้ามเพื่อข้ามไปยังประเภทองค์ประกอบที่ต้องการ หากต้องการข้ามไปข้างหน้าระหว่างส่วนหัว ให้กด Search + H หรือหากต้องการข้ามย้อนกลับ ให้กด Search + Shift + H</translation>
+<translation id="2885764457467528513">{COUNT,plural, =1{นาที}other{นาที}}</translation>
 <translation id="2894654529758326923">ข้อมูล</translation>
 <translation id="2899328121302785497">{COUNT,plural, =1{วงเล็บปีกกาซ้าย}other{# วงเล็บปีกกาซ้าย}}</translation>
 <translation id="2911433807131383493">เปิดบทแนะนำ ChromeVox</translation>
@@ -286,6 +288,7 @@
 <translation id="3084806535845658316">ไม่พูดขณะพิมพ์</translation>
 <translation id="3086746722712840547">หมายเหตุ</translation>
 <translation id="308895241372589742">ไม่มีสูตรคณิตศาสตร์ถัดไป</translation>
+<translation id="3090227230165225418">ประกาศการแจ้งเตือนการดาวน์โหลด</translation>
 <translation id="3090532668523289635">กลุ่ม</translation>
 <translation id="3093176084511590672">จุดสังเกตถัดไป</translation>
 <translation id="3096671415663099226">cbo</translation>
@@ -438,6 +441,7 @@
 <translation id="4148180433151187540">{COUNT,plural, =1{วงเล็บปีกกาขวา}other{# วงเล็บปีกกาขวา}}</translation>
 <translation id="4158704014418536539">พิจารณาตัวพิมพ์เล็กและใหญ่</translation>
 <translation id="4159784952369912983">ม่วง</translation>
+<translation id="4161104397932142764">{COUNT,plural, =1{วินาที}other{วินาที}}</translation>
 <translation id="4161663686871496107">การตอบสนองด้วยเสียงของ ChromeVox พร้อมใช้งาน</translation>
 <translation id="4173994908659439270">ไม่มีช่องข้อความที่สามารถแก้ไขได้ถัดไป</translation>
 <translation id="4176463684765177261">ปิดการใช้งานแล้ว</translation>
@@ -618,6 +622,7 @@
 <translation id="5349770431644471053">ลิงก์กลับมาที่หน้า</translation>
 <translation id="536031132345979795">ข้ามไปทางด้านหลังในระหว่างการอ่านอย่างต่อเนื่อง</translation>
 <translation id="5368000168321181111">Earcons ปิด</translation>
+<translation id="5368505757342402527">ดาวน์โหลด <ph name="FILE_NAME" /> เสร็จแล้ว <ph name="PROGRESS" />% เหลืออีกประมาณ <ph name="TIME" /> <ph name="UNITS" /></translation>
 <translation id="5374320867641260420">ไม่มีปุ่มถัดไป</translation>
 <translation id="5376407118396657359">กด Search+Ctrl+Alt ด้วยลูกศรเพื่อไปยังเซลล์ต่างๆ</translation>
 <translation id="5382299583965267720">ไม่มีส่วนหัวระดับ 1 ถัดไป</translation>
@@ -800,6 +805,7 @@
 <translation id="667999046851023355">เอกสาร</translation>
 <translation id="6688209025607531203">การแจ้งเตือนที่ไม่ใช่แบบโมดัล</translation>
 <translation id="6689672606256159458">สีส้มแซลมอนเข้ม</translation>
+<translation id="669617842401078250">หยุดดาวน์โหลด <ph name="FILE_NAME" /> ไว้ชั่วคราว</translation>
 <translation id="6696967141280706829">ส่วนนำ</translation>
 <translation id="6697092096875747123">ช่องตัวเลือกรวมก่อนหน้า</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{เครื่องหมายอัศเจรีย์}other{เครื่องหมายอัศเจรีย์ # ตัว}}</translation>
@@ -938,6 +944,7 @@
 <translation id="7641134354185483015">ไม่มีส่วนหัวระดับ 3 ก่อนหน้า</translation>
 <translation id="7659376057562985921">ช่องข้อความ <ph name="NAME" /> <ph name="VALUE" /></translation>
 <translation id="7663318257180412551">ส่วนหัวระดับ 2</translation>
+<translation id="7668307052366682650">{COUNT,plural, =1{ชั่วโมง}other{ชั่วโมง}}</translation>
 <translation id="7674576868851035240">ลิงก์ถัดไป</translation>
 <translation id="7674768236845044097">เครื่องหมาย</translation>
 <translation id="7684431668231950609">แก้ไขข้อความ, รายการ URL</translation>
@@ -952,6 +959,7 @@
         <ph name="LINE_THROUGH_STRING" />
         <ph name="FONT_FAMILY_STRING" /></translation>
 <translation id="7701196182766842984">autolst</translation>
+<translation id="7763537600611320912">เริ่มดาวน์โหลด <ph name="FILE_NAME" /> แล้ว</translation>
 <translation id="7770823902658038748">ช่องข้อความรหัสผ่าน <ph name="NAME" /> <ph name="VALUE" /></translation>
 <translation id="7776293189010177726">เปิดเมนู ChromeVox</translation>
 <translation id="7800558923657349506">ปัจฉิมบท</translation>
@@ -1076,6 +1084,7 @@
 <translation id="8096975275316362544">สีเขียวมิ้นต์ครีม</translation>
 <translation id="8098587210054821856">สีเทาอมฟ้า</translation>
 <translation id="8110647606445335195">ไม่มีจุดสังเกต ARIA</translation>
+<translation id="812886159861361726">หยุดดาวน์โหลด <ph name="FILE_NAME" /> แล้ว</translation>
 <translation id="8138880386467279117">การแตะ</translation>
 <translation id="8153880621934657047">ไม่ได้อยู่ในตาราง</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{เครื่องหมายขีดล่าง}other{# เครื่องหมายขีดล่าง}}</translation>
@@ -1145,6 +1154,7 @@
 <translation id="8743786158317878347">ป้อนเนื้อหาที่มีโครงสร้าง เช่น ตาราง</translation>
 <translation id="8747966237988593539">รายการที่มีลำดับ</translation>
 <translation id="8749988712346667988">สีเงิน</translation>
+<translation id="875769700429317857">ดาวน์โหลด <ph name="FILE_NAME" /> เสร็จสมบูรณ์แล้ว</translation>
 <translation id="8759334257841767240">ไม่มีลิงก์ถัดไป</translation>
 <translation id="8767968232364267681">ส่วนหัวระดับ 4 ถัดไป</translation>
 <translation id="8770473310765924354">ออกจากเนื้อหาที่มีโครงสร้าง เช่น ตาราง</translation>
diff --git a/chrome/browser/resources/chromeos/switch_access/back_button_manager.js b/chrome/browser/resources/chromeos/switch_access/back_button_manager.js
index 0536474..ef3fc82 100644
--- a/chrome/browser/resources/chromeos/switch_access/back_button_manager.js
+++ b/chrome/browser/resources/chromeos/switch_access/back_button_manager.js
@@ -22,6 +22,9 @@
 
     /** @private {PanelInterface} */
     this.menuPanel_;
+
+    /** @private {chrome.automation.AutomationNode} */
+    this.buttonNode_;
   }
 
   /**
@@ -63,10 +66,28 @@
   }
 
   /**
-   * Sets the reference to the menu panel.
+   * Returns the button node, if we have found it.
+   * @return {chrome.automation.AutomationNode}
+   */
+  buttonNode() {
+    return this.buttonNode_;
+  }
+
+  /**
+   * Sets the reference to the menu panel and finds the back button node.
    * @param {!PanelInterface} menuPanel
    */
-  setMenuPanel(menuPanel) {
+  init(menuPanel, desktop) {
     this.menuPanel_ = menuPanel;
+    this.buttonNode_ =
+        new AutomationTreeWalker(
+            desktop, constants.Dir.FORWARD,
+            {visit: (node) => node.htmlAttributes.id === SAConstants.BACK_ID})
+            .next()
+            .node;
+    // TODO(anastasi): Determine appropriate event and listen for it, rather
+    // than setting a timeout.
+    if (!this.buttonNode_)
+      setTimeout(this.init.bind(this, menuPanel, desktop), 500);
   }
 }
diff --git a/chrome/browser/resources/chromeos/switch_access/menu_manager.js b/chrome/browser/resources/chromeos/switch_access/menu_manager.js
index 512c83f..3baa3e0 100644
--- a/chrome/browser/resources/chromeos/switch_access/menu_manager.js
+++ b/chrome/browser/resources/chromeos/switch_access/menu_manager.js
@@ -256,7 +256,7 @@
     }
     const standardActions = /** @type {!Array<!SAConstants.MenuAction>} */ (
         node.standardActions.filter(
-            action => action in SAConstants.MenuAction));
+            action => Object.values(SAConstants.MenuAction).includes(action)));
 
     actions = actions.concat(standardActions);
 
diff --git a/chrome/browser/resources/chromeos/switch_access/menu_panel.html b/chrome/browser/resources/chromeos/switch_access/menu_panel.html
index 7695cd06..242a2a7 100644
--- a/chrome/browser/resources/chromeos/switch_access/menu_panel.html
+++ b/chrome/browser/resources/chromeos/switch_access/menu_panel.html
@@ -60,7 +60,7 @@
     </button>
     <button class="action" id="showContextMenu">
       <img src="icons/showContextMenu.svg">
-      <p>Show Context Menu</p>
+      <p>Context Menu</p>
     </button>
     <button class="action" id="options">
       <img src="icons/options.svg">
diff --git a/chrome/browser/resources/chromeos/switch_access/navigation_manager.js b/chrome/browser/resources/chromeos/switch_access/navigation_manager.js
index bdf66991..22c40a8 100644
--- a/chrome/browser/resources/chromeos/switch_access/navigation_manager.js
+++ b/chrome/browser/resources/chromeos/switch_access/navigation_manager.js
@@ -61,13 +61,6 @@
     this.scopeStack_ = [];
 
     /**
-     * Keeps track of when we're visiting the current scope as an actionable
-     * node.
-     * @private {boolean}
-     */
-    this.visitingScopeAsActionable_ = false;
-
-    /**
      * Keeps track of if we are currently in a system menu.
      * @private {boolean}
      */
@@ -116,36 +109,31 @@
 
   /**
    * Find the previous interesting node and update |this.node_|. If there is no
-   * previous node, |this.node_| will be set to the youngest descendant in the
-   * SwitchAccess scope tree to loop again.
+   * previous node, |this.node_| will be set to the back button.
    */
   moveBackward() {
     if (this.menuManager_.moveBackward())
       return;
 
+    if (this.node_ === this.backButtonManager_.buttonNode()) {
+      if (SwitchAccessPredicate.isActionable(this.scope_))
+        this.setCurrentNode_(this.scope_);
+      else
+        this.setCurrentNode_(this.youngestDescendant_(this.scope_));
+      return;
+    }
+
     this.startAtValidNode_();
 
     let treeWalker = new AutomationTreeWalker(
         this.node_, constants.Dir.BACKWARD,
         SwitchAccessPredicate.restrictions(this.scope_));
 
-    // Special case: Scope is actionable
-    if (this.node_ === this.scope_ && this.visitingScopeAsActionable_) {
-      this.visitingScopeAsActionable_ = false;
-      this.setCurrentNode_(this.node_);
-      return;
-    }
-
     let node = treeWalker.next().node;
 
-    // Special case: Scope is actionable
-    if (node === this.scope_ && SwitchAccessPredicate.isActionable(node)) {
-      this.showScopeAsActionable_();
-      return;
-    }
+    if (node === this.scope_)
+      node = this.backButtonManager_.buttonNode();
 
-    // If treeWalker returns undefined, that means we're at the end of the tree
-    // and we should start over.
     if (!node)
       node = this.youngestDescendant_(this.scope_);
 
@@ -169,24 +157,35 @@
 
     this.startAtValidNode_();
 
+    const backButtonNode = this.backButtonManager_.buttonNode();
+    if (this.node_ === this.scope_ && backButtonNode) {
+      this.setCurrentNode_(backButtonNode);
+      return;
+    }
+
+    // Replace the back button with the scope to find the following node.
+    if (this.node_ === backButtonNode)
+      this.node_ = this.scope_;
+
     let treeWalker = new AutomationTreeWalker(
         this.node_, constants.Dir.FORWARD,
         SwitchAccessPredicate.restrictions(this.scope_));
 
-    // Special case: Scope is actionable.
-    if (this.node_ === this.scope_ &&
-        SwitchAccessPredicate.isActionable(this.node_) &&
-        !this.visitingScopeAsActionable_) {
-      this.showScopeAsActionable_();
-      return;
-    }
-    this.visitingScopeAsActionable_ = false;
 
     let node = treeWalker.next().node;
     // If treeWalker returns undefined, that means we're at the end of the tree
     // and we should start over.
-    if (!node)
-      node = this.scope_;
+    if (!node) {
+      if (SwitchAccessPredicate.isActionable(this.scope_)) {
+        node = this.scope_;
+      } else if (backButtonNode) {
+        node = backButtonNode;
+      } else {
+        this.node_ = this.scope_;
+        this.moveForward();
+        return;
+      }
+    }
 
     // We can't interact with the desktop node, so skip it.
     if (node === this.desktop_) {
@@ -247,11 +246,8 @@
     }
 
     if (this.node_ === this.scope_) {
-      // If we're visiting the scope as actionable, perform the default action.
-      if (this.visitingScopeAsActionable_) {
-        this.node_.doDefault();
-        return;
-      }
+      this.node_.doDefault();
+      return;
     }
 
     if (SwitchAccessPredicate.isGroup(this.node_, this.scope_)) {
@@ -267,9 +263,10 @@
    * @param {!SAConstants.MenuAction} action
    */
   performActionOnCurrentNode(action) {
-    if (action in chrome.automation.ActionType)
+    if (Object.values(chrome.automation.ActionType).includes(action)) {
       this.node_.performStandardAction(
           /** @type {chrome.automation.ActionType} */ (action));
+    }
   }
 
   /**
@@ -332,7 +329,7 @@
    * @return {!MenuManager}
    */
   connectMenuPanel(menuPanel) {
-    this.backButtonManager_.setMenuPanel(menuPanel);
+    this.backButtonManager_.init(menuPanel, this.desktop_);
     return this.menuManager_.connectMenuPanel(menuPanel);
   }
 
@@ -487,21 +484,18 @@
       return;
     this.scopeStack_.push(this.scope_);
     this.scope_ = node;
-    this.node_ = node;
+
+    // The first node will come immediately after the back button, so we set
+    // |this.node_| to the back button and call |moveForward|.
+    const backButtonNode = this.backButtonManager_.buttonNode();
+    if (backButtonNode)
+      this.node_ = backButtonNode;
+    else
+      this.node_ = this.scope_;
     this.moveForward();
   }
 
   /**
-   * Show the current scope as an actionable item.
-   */
-  showScopeAsActionable_() {
-    this.node_ = this.scope_;
-    this.visitingScopeAsActionable_ = true;
-
-    this.updateFocusRings_(this.node_.location);
-  }
-
-  /**
    * Checks if this.node_ is valid. If so, do nothing.
    *
    * If this.node_ is not valid, set this.node_ to a valid scope. Will check the
@@ -535,8 +529,8 @@
    * @private
    */
   updateFocusRings_(opt_focusRect) {
-    if (!opt_focusRect && this.node_ === this.scope_) {
-      this.backButtonManager_.show(this.node_);
+    if (this.node_ === this.backButtonManager_.buttonNode()) {
+      this.backButtonManager_.show(this.scope_);
 
       this.primaryFocusRing_.rects = [];
       this.scopeFocusRing_.rects = [this.scope_.location];
diff --git a/chrome/browser/resources/chromeos/switch_access/navigation_manager_test.extjs b/chrome/browser/resources/chromeos/switch_access/navigation_manager_test.extjs
index e79ca83..655d1af 100644
--- a/chrome/browser/resources/chromeos/switch_access/navigation_manager_test.extjs
+++ b/chrome/browser/resources/chromeos/switch_access/navigation_manager_test.extjs
@@ -59,7 +59,9 @@
   });
 });
 
-TEST_F('SwitchAccessNavigationManagerTest', 'MoveForward', function() {
+// The back button is inconsistently loaded before this test runs.
+// TODO(anastasi): Fix flakiness and re-enable the tests.
+TEST_F('SwitchAccessNavigationManagerTest', 'DISABLED_MoveForward', function() {
   const website = `data:text/html;charset=utf-8,
                   <button>button1</button>
                   <button>button2</button>
@@ -98,7 +100,9 @@
   });
 });
 
-TEST_F('SwitchAccessNavigationManagerTest', 'MoveBackward', function() {
+// The back button is inconsistently loaded before this test runs.
+// TODO(anastasi): Fix flakiness and re-enable the tests.
+TEST_F('SwitchAccessNavigationManagerTest', 'DISABLED_MoveBackward', function() {
   const website = `data:text/html;charset=utf-8,
                   <button>button1</button>
                   <button>button2</button>
@@ -138,7 +142,9 @@
   });
 });
 
-TEST_F('SwitchAccessNavigationManagerTest', 'MoveBackAndForth', function() {
+// The back button is inconsistently loaded before this test runs.
+// TODO(anastasi): Fix flakiness and re-enable the tests.
+TEST_F('SwitchAccessNavigationManagerTest', 'DISABLED_MoveBackAndForth', function() {
   const website = `data:text/html;charset=utf-8,
                   <button>button1</button>
                   <button>button2</button>
diff --git a/chrome/browser/resources/local_ntp/local_ntp.js b/chrome/browser/resources/local_ntp/local_ntp.js
index 57f5cd07..9dfc6a4 100644
--- a/chrome/browser/resources/local_ntp/local_ntp.js
+++ b/chrome/browser/resources/local_ntp/local_ntp.js
@@ -343,9 +343,6 @@
       alternateLogo: false,
       backgroundColorRgba:
           (isDarkModeEnabled ? [50, 54, 57, 255] : [255, 255, 255, 255]),
-      headerColorRgba: [150, 150, 150, 255],
-      linkColorRgba: [6, 55, 116, 255],
-      sectionBorderColorRgba: [150, 150, 150, 255],
       textColorLightRgba: [102, 102, 102, 255],
       textColorRgba: [0, 0, 0, 255],
       usingDarkMode: isDarkModeEnabled,
diff --git a/chrome/browser/resources/optimize_webui.gni b/chrome/browser/resources/optimize_webui.gni
index b8c0cb9c..b2cfeac 100644
--- a/chrome/browser/resources/optimize_webui.gni
+++ b/chrome/browser/resources/optimize_webui.gni
@@ -74,6 +74,13 @@
         invoker.insert_in_head,
       ]
     }
+
+    if (defined(invoker.replace_for_html_imports_polyfill)) {
+      args += [
+        "--replace-for-html-imports-polyfill",
+        invoker.replace_for_html_imports_polyfill,
+      ]
+    }
   }
 }
 
diff --git a/chrome/browser/resources/optimize_webui.py b/chrome/browser/resources/optimize_webui.py
index 8a8265d..e7804916 100755
--- a/chrome/browser/resources/optimize_webui.py
+++ b/chrome/browser/resources/optimize_webui.py
@@ -48,6 +48,8 @@
 _VULCANIZE_BASE_ARGS = [
   # These files are already combined and minified.
   '--exclude', 'chrome://resources/html/polymer.html',
+  '--exclude', 'chrome://resources/polymer/v1_0/html-imports/' +
+      'html-imports.min.js',
   '--exclude', 'chrome://resources/polymer/v1_0/polymer/polymer.html',
   '--exclude', 'chrome://resources/polymer/v1_0/polymer/polymer-micro.html',
   '--exclude', 'chrome://resources/polymer/v1_0/polymer/polymer-mini.html',
@@ -193,6 +195,28 @@
                    '--html', crisper_html_out_paths[index],
                    '--js', os.path.join(tmp_out_dir, js_out_file)])
 
+      if args.replace_for_html_imports_polyfill == js_out_file:
+        # Replace the output file with a loader script, to wait until HTML
+        # imports are ready before loading.
+        with open(crisper_html_out_paths[index], 'r') as f:
+          output = f.read()
+          output = output.replace(js_out_file + '"',
+                                  'chrome://resources/js/crisper_loader.js"' + \
+                                  ' data-script-name="' + js_out_file + '"')
+
+          # Preload the final script, even though it will not be evaluated
+          # until after crisper_loader.js executes.
+          output = output.replace('<head>',
+                                  '<head><link rel="preload" href="' + \
+                                        js_out_file + '" as="script">')
+          f.close()
+
+        # Open file again with 'w' such that the previous contents are
+        # overwritten.
+        with open(crisper_html_out_paths[index], 'w') as f:
+          f.write(output)
+          f.close()
+
       # Pass the JS file through Uglify and write the output to its final
       # destination.
       node.RunNode([node_modules.PathToUglify(),
@@ -224,6 +248,7 @@
   parser.add_argument('--insert_in_head')
   parser.add_argument('--js_out_files', nargs='*', required=True)
   parser.add_argument('--out_folder', required=True)
+  parser.add_argument('--replace-for-html-imports-polyfill')
   args = parser.parse_args(argv)
 
   # NOTE(dbeam): on Windows, GN can send dirs/like/this. When joined, you might
diff --git a/chrome/browser/resources/optimize_webui_test.py b/chrome/browser/resources/optimize_webui_test.py
index 77e917d2..70ed6d2 100755
--- a/chrome/browser/resources/optimize_webui_test.py
+++ b/chrome/browser/resources/optimize_webui_test.py
@@ -44,7 +44,8 @@
     assert self._out_folder
     return open(os.path.join(self._out_folder, file_name), 'r').read()
 
-  def _run_optimize(self, depfile, html_in_file, html_out_file, js_out_file):
+  def _run_optimize(self, depfile, html_in_file, html_out_file, js_out_file,
+                    replace_for_html_imports_polyfill):
     # TODO(dbeam): make it possible to _run_optimize twice? Is that useful?
     assert not self._out_folder
     self._out_folder = self._create_tmp_dir()
@@ -56,10 +57,10 @@
       '--input', self._tmp_src_dir,
       '--js_out_files', js_out_file,
       '--out_folder', self._out_folder,
+      '--replace-for-html-imports-polyfill', replace_for_html_imports_polyfill,
     ])
 
-
-  def testSimpleOptimize(self):
+  def _write_files_to_src_dir(self):
     self._write_file_to_src_dir('element.html', '<div>got here!</div>')
     self._write_file_to_src_dir('element.js', "alert('yay');")
     self._write_file_to_src_dir('element_in_dir/element_in_dir.html',
@@ -72,23 +73,19 @@
 <script src="element.js"></script>
 ''')
 
-    self._run_optimize(depfile='depfile.d',
-                       html_in_file='ui.html',
-                       html_out_file='fast.html',
-                       js_out_file='fast.js')
+  def _check_output_html(self, out_html):
+    self.assertNotIn('element.html', out_html)
+    self.assertNotIn('element.js', out_html)
+    self.assertNotIn('element_in_dir.html', out_html)
+    self.assertNotIn('element_in_dir.js', out_html)
+    self.assertIn('got here!', out_html)
 
-    fast_html = self._read_out_file('fast.html')
-    self.assertNotIn('element.html', fast_html)
-    self.assertNotIn('element.js', fast_html)
-    self.assertNotIn('element_in_dir.html', fast_html)
-    self.assertNotIn('element_in_dir.js', fast_html)
-    self.assertIn('got here!', fast_html)
-    self.assertIn('<script src="fast.js"></script>', fast_html)
-
+  def _check_output_js(self):
     fast_js = self._read_out_file('fast.js')
     self.assertIn('yay', fast_js)
     self.assertIn('hello from element_in_dir', fast_js)
 
+  def _check_output_depfile(self):
     depfile_d = self._read_out_file('depfile.d')
     self.assertIn('element.html', depfile_d)
     self.assertIn('element.js', depfile_d)
@@ -97,6 +94,42 @@
     self.assertIn(os.path.normpath('element_in_dir/element_in_dir.js'),
                   depfile_d)
 
+  def testSimpleOptimize(self):
+    self._write_files_to_src_dir()
+    self._run_optimize(depfile='depfile.d',
+                       html_in_file='ui.html',
+                       html_out_file='fast.html',
+                       js_out_file='fast.js',
+                       replace_for_html_imports_polyfill='')
+
+    fast_html = self._read_out_file('fast.html')
+    self._check_output_html(fast_html)
+    self.assertIn('<script src="fast.js"></script>', fast_html)
+    self.assertNotIn(
+        '<script src="chrome://resources/js/crisper_loader.js"></script>',
+        fast_html)
+    self._check_output_js()
+    self._check_output_depfile()
+
+  def testSimpleOptimizeWithHTMLImportsPolyfill(self):
+    self._write_files_to_src_dir()
+    self._run_optimize(depfile='depfile.d',
+                       html_in_file='ui.html',
+                       html_out_file='fast.html',
+                       js_out_file='fast.js',
+                       replace_for_html_imports_polyfill='fast.js')
+
+    fast_html = self._read_out_file('fast.html')
+    self._check_output_html(fast_html)
+    self.assertNotIn('<script src="fast.js"></script>', fast_html)
+    self.assertIn(
+        '<script src="chrome://resources/js/crisper_loader.js" ' + \
+            'data-script-name="fast.js"></script>',
+        fast_html)
+    self.assertIn('<link rel="preload" href="fast.js" as="script">',
+                  fast_html)
+    self._check_output_js()
+    self._check_output_depfile()
 
 if __name__ == '__main__':
   unittest.main()
diff --git a/chrome/browser/resources/settings/languages_page/languages_page.html b/chrome/browser/resources/settings/languages_page/languages_page.html
index 91478fa..73adcbf 100644
--- a/chrome/browser/resources/settings/languages_page/languages_page.html
+++ b/chrome/browser/resources/settings/languages_page/languages_page.html
@@ -139,6 +139,14 @@
             var(--cr-section-indent-width) - var(--cr-radio-button-size));
       }
 
+      .spell-check-radio-button.enhanced {
+        align-items: start;
+        --cr-radio-button-disc: {
+          /* Align with just the first line of text */
+          margin-top: calc((1.5em - var(--cr-radio-button-size)) / 2);
+        }
+      }
+
       .enhanced-spellcheck-description {
         padding-inline-end: 150px;
       }
@@ -302,7 +310,7 @@
                   pref="[[prefs.spellcheck.use_spelling_service]]">
               </controlled-radio-button>
               <controlled-radio-button
-                  class="spell-check-radio-button"
+                  class="spell-check-radio-button enhanced"
                   id="spellingServiceEnable"
                   label="$i18n{spellCheckEnhancedLabel}"
                   name="true"
diff --git a/chrome/browser/resources/settings/os_settings_resources.grd b/chrome/browser/resources/settings/os_settings_resources.grd
index 22d802b..39041108 100644
--- a/chrome/browser/resources/settings/os_settings_resources.grd
+++ b/chrome/browser/resources/settings/os_settings_resources.grd
@@ -1308,12 +1308,26 @@
       <structure name="IDR_OS_SETTINGS_PLUGIN_VM_PAGE_JS"
                  file="plugin_vm_page/plugin_vm_page.js"
                  type="chrome_html" />
+      <structure name="IDR_OS_SETTINGS_PLUGIN_VM_SHARED_PATHS_HTML"
+                 file="plugin_vm_page/plugin_vm_shared_paths.html"
+                 type="chrome_html" />
+      <structure name="IDR_OS_SETTINGS_PLUGIN_VM_SHARED_PATHS_JS"
+                 file="plugin_vm_page/plugin_vm_shared_paths.js"
+                 type="chrome_html" />
       <structure name="IDR_OS_SETTINGS_PLUGIN_VM_SUBPAGE_HTML"
                  file="plugin_vm_page/plugin_vm_subpage.html"
                  type="chrome_html" />
       <structure name="IDR_OS_SETTINGS_PLUGIN_VM_SUBPAGE_JS"
                  file="plugin_vm_page/plugin_vm_subpage.js"
                  type="chrome_html" />
+      <structure name="IDR_OS_SETTINGS_PLUGIN_VM_BROWSER_PROXY_JS"
+                 file="plugin_vm_page/plugin_vm_browser_proxy.js"
+                 type="chrome_html"
+                 allowexternalscript="true" />
+      <structure name="IDR_OS_SETTINGS_PLUGIN_VM_BROWSER_PROXY_HTML"
+                 file="plugin_vm_page/plugin_vm_browser_proxy.html"
+                 type="chrome_html"
+                 allowexternalscript="true" />
       <structure name="IDR_OS_SETTINGS_USERS_PAGE_ADD_USER_DIALOG_JS"
                  file="people_page/users_add_user_dialog.js"
                  type="chrome_html" />
diff --git a/chrome/browser/resources/settings/plugin_vm_page/BUILD.gn b/chrome/browser/resources/settings/plugin_vm_page/BUILD.gn
index d414bf60..4f0b8f1b 100644
--- a/chrome/browser/resources/settings/plugin_vm_page/BUILD.gn
+++ b/chrome/browser/resources/settings/plugin_vm_page/BUILD.gn
@@ -6,23 +6,36 @@
 
 js_type_check("closure_compile") {
   deps = [
+    ":plugin_vm_browser_proxy",
     ":plugin_vm_page",
+    ":plugin_vm_shared_paths",
     ":plugin_vm_subpage",
   ]
 }
 
+js_library("plugin_vm_browser_proxy") {
+  deps = [
+    "//ui/webui/resources/js:cr",
+  ]
+}
+
 js_library("plugin_vm_page") {
   deps = [
     "..:route",
-    "../prefs:prefs_behavior",
     "//ui/webui/resources/js:i18n_behavior",
   ]
   externs_list = [ "$externs_path/settings_private.js" ]
 }
 
+js_library("plugin_vm_shared_paths") {
+  deps = [
+    ":plugin_vm_browser_proxy",
+    "..:route",
+  ]
+}
+
 js_library("plugin_vm_subpage") {
   deps = [
     "..:route",
-    "../prefs:prefs_behavior",
   ]
 }
diff --git a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_browser_proxy.html b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_browser_proxy.html
new file mode 100644
index 0000000..1a1f299
--- /dev/null
+++ b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_browser_proxy.html
@@ -0,0 +1,2 @@
+<link rel="import" href="chrome://resources/html/cr.html">
+<script src="plugin_vm_browser_proxy.js"></script>
diff --git a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_browser_proxy.js b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_browser_proxy.js
new file mode 100644
index 0000000..fa73bb1
--- /dev/null
+++ b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_browser_proxy.js
@@ -0,0 +1,46 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview A helper object used by the Plugin VM section
+ * to manage the Plugin VM.
+ */
+cr.define('settings', function() {
+  /** @interface */
+  class PluginVmBrowserProxy {
+    /**
+     * @param {!Array<string>} paths Paths to sanitze.
+     * @return {!Promise<!Array<string>>} Text to display in UI.
+     */
+    getPluginVmSharedPathsDisplayText(paths) {}
+
+    /**
+     * @param {string} vmName VM to stop sharing path with.
+     * @param {string} path Path to stop sharing.
+     */
+    removePluginVmSharedPath(vmName, path) {}
+  }
+
+  /** @implements {settings.PluginVmBrowserProxy} */
+  class PluginVmBrowserProxyImpl {
+    /** @override */
+    getPluginVmSharedPathsDisplayText(paths) {
+      return cr.sendWithPromise('getPluginVmSharedPathsDisplayText', paths);
+    }
+
+    /** @override */
+    removePluginVmSharedPath(vmName, path) {
+      chrome.send('removePluginVmSharedPath', [vmName, path]);
+    }
+  }
+
+  // The singleton instance_ can be replaced with a test version of this wrapper
+  // during testing.
+  cr.addSingletonGetter(PluginVmBrowserProxyImpl);
+
+  return {
+    PluginVmBrowserProxy: PluginVmBrowserProxy,
+    PluginVmBrowserProxyImpl: PluginVmBrowserProxyImpl,
+  };
+});
diff --git a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_page.html b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_page.html
index 4587790..7c0844df 100644
--- a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_page.html
+++ b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_page.html
@@ -6,6 +6,7 @@
 <link rel="import" href="../settings_page/settings_animated_pages.html">
 <link rel="import" href="../settings_page/settings_subpage.html">
 <link rel="import" href="../settings_shared_css.html">
+<link rel="import" href="plugin_vm_shared_paths.html">
 <link rel="import" href="plugin_vm_subpage.html">
 
 <dom-module id="settings-plugin-vm-page">
@@ -15,7 +16,7 @@
     <settings-animated-pages id="pages" section="pluginVm"
         focus-config="[[focusConfig_]]">
       <div route-path="default">
-        <cr-link-row id="pluginVmRow"
+        <cr-link-row id="plugin-vm"
             label="$i18n{pluginVmPageLabel}"
             sub-label="$i18n{pluginVmPageSubtext}"
             on-click="onSubpageClick_"></cr-link-row>
@@ -23,14 +24,22 @@
 
       <template is="dom-if" route-path="/pluginVm/details">
         <settings-subpage
-            associated-control="[[$$('#pluginVmRow')]]"
+            associated-control="[[$$('#plugin-vm')]]"
             page-title="$i18n{pluginVmPageLabel}">
           <settings-plugin-vm-subpage prefs="{{prefs}}">
           </settings-plugin-vm-subpage>
         </settings-subpage>
       </template>
-    </settings-animated-pages>
 
+      <template is="dom-if" route-path="/pluginVm/sharedPaths">
+        <settings-subpage
+            associated-control="[[$$('#plugin-vm')]]"
+            page-title="$i18n{pluginVmSharedPaths}">
+          <settings-plugin-vm-shared-paths prefs="{{prefs}}">
+          </settings-plugin-vm-shared-paths>
+        </settings-subpage>
+      </template>
+    </settings-animated-pages>
   </template>
   <script src="plugin_vm_page.js"></script>
 </dom-module>
diff --git a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_page.js b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_page.js
index 476442b..a0f79eb 100644
--- a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_page.js
+++ b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_page.js
@@ -10,8 +10,6 @@
 Polymer({
   is: 'settings-plugin-vm-page',
 
-  behaviors: [PrefsBehavior],
-
   properties: {
     /** Preferences state. */
     prefs: {
@@ -25,7 +23,10 @@
       value: function() {
         const map = new Map();
         if (settings.routes.PLUGIN_VM_DETAILS) {
-          map.set(settings.routes.PLUGIN_VM_DETAILS.path, '#pluginVmRow');
+          map.set(settings.routes.PLUGIN_VM_DETAILS.path, '#plugin-vm');
+        }
+        if (settings.routes.PLUGIN_VM_SHARED_PATHS) {
+          map.set(settings.routes.PLUGIN_VM_SHARED_PATHS.path, '#plugin-vm');
         }
         return map;
       },
diff --git a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_shared_paths.html b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_shared_paths.html
new file mode 100644
index 0000000..25e651ce2
--- /dev/null
+++ b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_shared_paths.html
@@ -0,0 +1,34 @@
+<link rel="import" href="chrome://resources/html/polymer.html">
+
+<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
+<link rel="import" href="plugin_vm_browser_proxy.html">
+<link rel="import" href="../settings_shared_css.html">
+
+<dom-module id="settings-plugin-vm-shared-paths">
+  <template>
+    <style include="settings-shared"></style>
+    <div class="settings-box first">
+      <div>
+        $i18n{pluginVmSharedPathsInstructionsAdd}
+        <span id="pluginVmInstructionsRemove"
+            hidden="[[!sharedPaths_.length]]">
+          $i18n{pluginVmSharedPathsInstructionsRemove}
+        </span>
+      </div>
+    </div>
+    <div class="settings-box continuation">
+      <h2 class="start">$i18n{pluginVmSharedPathsListHeading}</h2>
+    </div>
+    <div class="list-frame vertical-list">
+      <template is="dom-repeat" items="[[sharedPaths_]]">
+        <div class="list-item">
+          <div class="start">[[item.pathDisplayText]]</div>
+          <cr-icon-button class="icon-clear"
+              on-click="onRemoveSharedPathClick_"
+              title="$i18n{pluginVmSharedPathsRemoveSharing}"></cr-icon-button>
+        </div>
+      </template>
+    </div>
+  </template>
+  <script src="plugin_vm_shared_paths.js"></script>
+</dom-module>
diff --git a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_shared_paths.js b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_shared_paths.js
new file mode 100644
index 0000000..2e918e5
--- /dev/null
+++ b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_shared_paths.js
@@ -0,0 +1,69 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview
+ * 'plugin-vm-shared-paths' is the settings shared paths subpage for Plugin VM.
+ */
+
+(function() {
+
+/**
+ * The Plugin VM is named 'PluginVm'.
+ * https://cs.chromium.org/chromium/src/chrome/browser/chromeos/plugin_vm/plugin_vm_util.h?q=kPluginVmName
+ * @type {string}
+ */
+const PLUGIN_VM = 'PluginVm';
+
+Polymer({
+  is: 'settings-plugin-vm-shared-paths',
+
+  properties: {
+    /** Preferences state. */
+    prefs: {
+      type: Object,
+      notify: true,
+    },
+
+    /**
+     * The shared path string suitable for display in the UI.
+     * @private {Array<!{path: string, pathDisplayText: string}>}
+     */
+    sharedPaths_: Array,
+  },
+
+  observers: [
+    'onPluginVmSharedPathsChanged_(prefs.guest_os.paths_shared_to_vms.value)'
+  ],
+
+  /**
+   * @param {!Object<!Array<string>>} paths
+   * @private
+   */
+  onPluginVmSharedPathsChanged_: function(paths) {
+    const vmPaths = [];
+    for (const path in paths) {
+      const vms = paths[path];
+      if (vms.includes(PLUGIN_VM)) {
+        vmPaths.push(path);
+      }
+    }
+    settings.PluginVmBrowserProxyImpl.getInstance()
+        .getPluginVmSharedPathsDisplayText(vmPaths)
+        .then(text => {
+          this.sharedPaths_ = vmPaths.map(
+              (path, i) => ({path: path, pathDisplayText: text[i]}));
+        });
+  },
+
+  /**
+   * @param {!Event} event
+   * @private
+   */
+  onRemoveSharedPathClick_: function(event) {
+    settings.PluginVmBrowserProxyImpl.getInstance().removePluginVmSharedPath(
+        PLUGIN_VM, event.model.item.path);
+  },
+});
+})();
diff --git a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_subpage.html b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_subpage.html
index 3da3e1d..e8bdfa6 100644
--- a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_subpage.html
+++ b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_subpage.html
@@ -1,11 +1,18 @@
 <link rel="import" href="chrome://resources/html/polymer.html">
 
+<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
 <link rel="import" href="../settings_shared_css.html">
 <link rel="import" href="../controls/settings_toggle_button.html">
 
 <dom-module id="settings-plugin-vm-subpage">
   <template>
     <style include="settings-shared"></style>
+    <div id="plugin-vm-shared-paths" class="settings-box first"
+        on-click="onSharedPathsClick_" actionable>
+      <div class="start">$i18n{pluginVmSharedPaths}</div>
+      <cr-icon-button class="subpage-arrow"
+          aria-label="$i18n{pluginVmSharedPaths}"></cr-icon-button>
+    </div>
     <!-- TODO(timloh): Wire this up to a pref. -->
     <settings-toggle-button label="$i18n{pluginVmPrinterAccess}">
     </settings-toggle-button>
diff --git a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_subpage.js b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_subpage.js
index b4f3423..47f27372a 100644
--- a/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_subpage.js
+++ b/chrome/browser/resources/settings/plugin_vm_page/plugin_vm_subpage.js
@@ -10,8 +10,6 @@
 Polymer({
   is: 'settings-plugin-vm-subpage',
 
-  behaviors: [PrefsBehavior],
-
   properties: {
     /** Preferences state. */
     prefs: {
@@ -19,4 +17,9 @@
       notify: true,
     },
   },
+
+  /** @private */
+  onSharedPathsClick_: function() {
+    settings.navigateTo(settings.routes.PLUGIN_VM_SHARED_PATHS);
+  },
 });
diff --git a/chrome/browser/resources/settings/route.js b/chrome/browser/resources/settings/route.js
index b647462a..3419290 100644
--- a/chrome/browser/resources/settings/route.js
+++ b/chrome/browser/resources/settings/route.js
@@ -63,6 +63,7 @@
  *   PEOPLE: (undefined|!settings.Route),
  *   PLUGIN_VM: (undefined|!settings.Route),
  *   PLUGIN_VM_DETAILS: (undefined|!settings.Route),
+ *   PLUGIN_VM_SHARED_PATHS: (undefined|!settings.Route),
  *   POINTERS: (undefined|!settings.Route),
  *   POWER: (undefined|!settings.Route),
  *   PRINTING: (undefined|!settings.Route),
@@ -292,6 +293,8 @@
         loadTimeData.getBoolean('showPluginVm')) {
       r.PLUGIN_VM = r.BASIC.createSection('/pluginVm', 'pluginVm');
       r.PLUGIN_VM_DETAILS = r.PLUGIN_VM.createChild('/pluginVm/details');
+      r.PLUGIN_VM_SHARED_PATHS =
+          r.PLUGIN_VM.createChild('/pluginVm/sharedPaths');
     }
     // </if>
 
diff --git a/chrome/browser/resources/settings/settings_resources.grd b/chrome/browser/resources/settings/settings_resources.grd
index fa4b6f25..4c5d2e9 100644
--- a/chrome/browser/resources/settings/settings_resources.grd
+++ b/chrome/browser/resources/settings/settings_resources.grd
@@ -1544,18 +1544,34 @@
         <structure name="IDR_SETTINGS_PEOPLE_FINGERPRINT_BROWSER_PROXY_HTML"
                    file="people_page/fingerprint_browser_proxy.html"
                    type="chrome_html" />
-        <structure name="IDR_SETTINGS_PLUGIN_VM_PAGE_HTML"
+       <structure name="IDR_SETTINGS_PLUGIN_VM_PAGE_HTML"
                    file="plugin_vm_page/plugin_vm_page.html"
                    type="chrome_html" />
         <structure name="IDR_SETTINGS_PLUGIN_VM_PAGE_JS"
                    file="plugin_vm_page/plugin_vm_page.js"
                    type="chrome_html" />
+        <structure name="IDR_SETTINGS_PLUGIN_VM_SHARED_PATHS_HTML"
+                   file="plugin_vm_page/plugin_vm_shared_paths.html"
+                   type="chrome_html" />
+        <structure name="IDR_SETTINGS_PLUGIN_VM_SHARED_PATHS_JS"
+                   file="plugin_vm_page/plugin_vm_shared_paths.js"
+                   type="chrome_html" />
         <structure name="IDR_SETTINGS_PLUGIN_VM_SUBPAGE_HTML"
                    file="plugin_vm_page/plugin_vm_subpage.html"
                    type="chrome_html" />
         <structure name="IDR_SETTINGS_PLUGIN_VM_SUBPAGE_JS"
                    file="plugin_vm_page/plugin_vm_subpage.js"
                    type="chrome_html" />
+         <structure name="IDR_SETTINGS_PLUGIN_VM_BROWSER_PROXY_JS"
+                   file="plugin_vm_page/plugin_vm_browser_proxy.js"
+                   type="chrome_html"
+                   preprocess="true"
+                   allowexternalscript="true" />
+        <structure name="IDR_SETTINGS_PLUGIN_VM_BROWSER_PROXY_HTML"
+                   file="plugin_vm_page/plugin_vm_browser_proxy.html"
+                   type="chrome_html"
+                   preprocess="true"
+                   allowexternalscript="true" />
         <structure name="IDR_SETTINGS_USERS_PAGE_ADD_USER_DIALOG_JS"
                    file="people_page/users_add_user_dialog.js"
                    type="chrome_html" />
diff --git a/chrome/browser/search/instant_service.cc b/chrome/browser/search/instant_service.cc
index 8e9fbaf..2a537e7 100644
--- a/chrome/browser/search/instant_service.cc
+++ b/chrome/browser/search/instant_service.cc
@@ -532,8 +532,6 @@
 
 namespace {
 
-const int kSectionBorderAlphaTransparency = 80;
-
 // Converts SkColor to RGBAColor
 RGBAColor SkColorToRGBAColor(const SkColor& sKColor) {
   RGBAColor color;
@@ -563,25 +561,13 @@
   SkColor background_color =
       theme_provider.GetColor(ThemeProperties::COLOR_NTP_BACKGROUND);
   SkColor text_color = theme_provider.GetColor(ThemeProperties::COLOR_NTP_TEXT);
-  SkColor link_color = theme_provider.GetColor(ThemeProperties::COLOR_NTP_LINK);
   SkColor text_color_light =
       theme_provider.GetColor(ThemeProperties::COLOR_NTP_TEXT_LIGHT);
-  SkColor header_color =
-      theme_provider.GetColor(ThemeProperties::COLOR_NTP_HEADER);
-  // Generate section border color from the header color.
-  SkColor section_border_color =
-      SkColorSetARGB(kSectionBorderAlphaTransparency,
-                     SkColorGetR(header_color),
-                     SkColorGetG(header_color),
-                     SkColorGetB(header_color));
 
   // Set colors.
   theme_info_->background_color = SkColorToRGBAColor(background_color);
   theme_info_->text_color = SkColorToRGBAColor(text_color);
-  theme_info_->link_color = SkColorToRGBAColor(link_color);
   theme_info_->text_color_light = SkColorToRGBAColor(text_color_light);
-  theme_info_->header_color = SkColorToRGBAColor(header_color);
-  theme_info_->section_border_color = SkColorToRGBAColor(section_border_color);
 
   int logo_alternate =
       theme_provider.GetDisplayProperty(ThemeProperties::NTP_LOGO_ALTERNATE);
diff --git a/chrome/browser/search/local_ntp_source.cc b/chrome/browser/search/local_ntp_source.cc
index cd5bda9c..e2f1c901 100644
--- a/chrome/browser/search/local_ntp_source.cc
+++ b/chrome/browser/search/local_ntp_source.cc
@@ -470,17 +470,6 @@
     result->SetString("fullPageUrl", url);
   }
 
-  // If support for interactive Doodles is disabled, treat them as simple
-  // Doodles instead and use the full page URL as the target URL.
-  if (meta.type == search_provider_logos::LogoType::INTERACTIVE &&
-      !base::GetFieldTrialParamByFeatureAsBool(features::kDoodlesOnLocalNtp,
-                                               "local_ntp_interactive_doodles",
-                                               /*default_value=*/true)) {
-    result->SetString(
-        "type", LogoTypeToString(search_provider_logos::LogoType::SIMPLE));
-    result->SetString("onClickUrl", meta.full_page_url.spec());
-  }
-
   return result;
 }
 
@@ -750,10 +739,8 @@
   if (promo_service_)
     promo_service_observer_.Add(promo_service_);
 
-  if (base::FeatureList::IsEnabled(features::kDoodlesOnLocalNtp)) {
-    logo_service_ = LogoServiceFactory::GetForProfile(profile_);
-    logo_observer_ = std::make_unique<DesktopLogoObserver>();
-  }
+  logo_service_ = LogoServiceFactory::GetForProfile(profile_);
+  logo_observer_ = std::make_unique<DesktopLogoObserver>();
 
   TemplateURLService* template_url_service =
       TemplateURLServiceFactory::GetForProfile(profile_);
diff --git a/chrome/browser/search/ntp_features.cc b/chrome/browser/search/ntp_features.cc
index de86b97..53116fc 100644
--- a/chrome/browser/search/ntp_features.cc
+++ b/chrome/browser/search/ntp_features.cc
@@ -13,26 +13,10 @@
 const base::Feature kNtpCustomizationMenuV2{"NtpCustomizationMenuV2",
                                             base::FEATURE_DISABLED_BY_DEFAULT};
 
-// If enabled, the user will see Doodles on the New Tab Page.
-const base::Feature kDoodlesOnLocalNtp{"DoodlesOnLocalNtp",
-                                       base::FEATURE_ENABLED_BY_DEFAULT};
-
-// If enabled, the user will sometimes see promos on the NTP.
-const base::Feature kPromosOnLocalNtp{"PromosOnLocalNtp",
-                                      base::FEATURE_ENABLED_BY_DEFAULT};
-
 // If enabled, the fakebox will not be shown on the NTP.
 const base::Feature kRemoveNtpFakebox{"RemoveNtpFakebox",
                                       base::FEATURE_DISABLED_BY_DEFAULT};
 
-// If enabled, the user will sometimes see search suggestions on the NTP.
-const base::Feature kSearchSuggestionsOnLocalNtp{
-    "SearchSuggestionsOnLocalNtp", base::FEATURE_ENABLED_BY_DEFAULT};
-
-// Enables using the local NTP if Google is the default search engine.
-const base::Feature kUseGoogleLocalNtp{"UseGoogleLocalNtp",
-                                       base::FEATURE_ENABLED_BY_DEFAULT};
-
 // If enabled, show a search icon (magnifier glass) in the NTP fakebox.
 const base::Feature kFakeboxSearchIconOnNtp{"FakeboxSearchIconOnNtp",
                                             base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/search/ntp_features.h b/chrome/browser/search/ntp_features.h
index 6e84003..ef794f6 100644
--- a/chrome/browser/search/ntp_features.h
+++ b/chrome/browser/search/ntp_features.h
@@ -13,11 +13,7 @@
 // the .cc file.
 
 extern const base::Feature kNtpCustomizationMenuV2;
-extern const base::Feature kDoodlesOnLocalNtp;
-extern const base::Feature kPromosOnLocalNtp;
 extern const base::Feature kRemoveNtpFakebox;
-extern const base::Feature kSearchSuggestionsOnLocalNtp;
-extern const base::Feature kUseGoogleLocalNtp;
 
 extern const base::Feature kFakeboxSearchIconOnNtp;
 extern const base::Feature kUseAlternateFakeboxOnNtp;
diff --git a/chrome/browser/search/promos/promo_service_factory.cc b/chrome/browser/search/promos/promo_service_factory.cc
index 40ad0432..1ea08fd 100644
--- a/chrome/browser/search/promos/promo_service_factory.cc
+++ b/chrome/browser/search/promos/promo_service_factory.cc
@@ -13,7 +13,6 @@
 #include "chrome/browser/content_settings/cookie_settings_factory.h"
 #include "chrome/browser/google/google_url_tracker_factory.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/search/ntp_features.h"
 #include "chrome/browser/search/promos/promo_service.h"
 #include "chrome/browser/signin/account_consistency_mode_manager.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
@@ -47,10 +46,6 @@
 
 KeyedService* PromoServiceFactory::BuildServiceInstanceFor(
     content::BrowserContext* context) const {
-  if (!base::FeatureList::IsEnabled(features::kPromosOnLocalNtp)) {
-    return nullptr;
-  }
-
   Profile* profile = Profile::FromBrowserContext(context);
   GoogleURLTracker* google_url_tracker =
       GoogleURLTrackerFactory::GetForProfile(profile);
diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
index f19f0b9..a2b2d6dc 100644
--- a/chrome/browser/search/search.cc
+++ b/chrome/browser/search/search.cc
@@ -162,10 +162,7 @@
 
 bool ShouldShowLocalNewTab(Profile* profile) {
 #if !defined(OS_ANDROID)
-  base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
-  return command_line->HasSwitch(switches::kForceLocalNtp) ||
-         (base::FeatureList::IsEnabled(features::kUseGoogleLocalNtp) &&
-          profile && DefaultSearchProviderIsGoogle(profile));
+  return DefaultSearchProviderIsGoogle(profile);
 #endif
   return false;
 }
diff --git a/chrome/browser/search/search_suggest/search_suggest_service_factory.cc b/chrome/browser/search/search_suggest/search_suggest_service_factory.cc
index 131d0a8..2d5239d 100644
--- a/chrome/browser/search/search_suggest/search_suggest_service_factory.cc
+++ b/chrome/browser/search/search_suggest/search_suggest_service_factory.cc
@@ -50,9 +50,6 @@
 
 KeyedService* SearchSuggestServiceFactory::BuildServiceInstanceFor(
     content::BrowserContext* context) const {
-  if (!base::FeatureList::IsEnabled(features::kSearchSuggestionsOnLocalNtp)) {
-    return nullptr;
-  }
   Profile* profile = Profile::FromBrowserContext(context);
   identity::IdentityManager* identity_manager =
       IdentityManagerFactory::GetForProfile(profile);
diff --git a/chrome/browser/send_tab_to_self/send_tab_to_self_util.cc b/chrome/browser/send_tab_to_self/send_tab_to_self_util.cc
index 77137e3..d74b7d0 100644
--- a/chrome/browser/send_tab_to_self/send_tab_to_self_util.cc
+++ b/chrome/browser/send_tab_to_self/send_tab_to_self_util.cc
@@ -34,15 +34,19 @@
 }
 
 bool IsUserSyncTypeActive(Profile* profile) {
-  return SendTabToSelfSyncServiceFactory::GetForProfile(profile)
-      ->GetSendTabToSelfModel()
-      ->IsReady();
+  SendTabToSelfSyncService* service =
+      SendTabToSelfSyncServiceFactory::GetForProfile(profile);
+  // The service will be null if the user is in incognito mode so better to
+  // check for that.
+  return service && service->GetSendTabToSelfModel() &&
+         service->GetSendTabToSelfModel()->IsReady();
 }
 
 bool IsSyncingOnMultipleDevices(Profile* profile) {
   syncer::DeviceInfoSyncService* device_sync_service =
       DeviceInfoSyncServiceFactory::GetForProfile(profile);
-  return device_sync_service &&
+
+  return device_sync_service && device_sync_service->GetDeviceInfoTracker() &&
          device_sync_service->GetDeviceInfoTracker()->CountActiveDevices() > 1;
 }
 
@@ -55,8 +59,9 @@
 }
 
 bool ShouldOfferFeature(content::WebContents* web_contents) {
-  if (!web_contents)
+  if (!web_contents) {
     return false;
+  }
   Profile* profile =
       Profile::FromBrowserContext(web_contents->GetBrowserContext());
 
diff --git a/chrome/browser/sync/test/integration/two_client_send_tab_to_self_sync_test.cc b/chrome/browser/sync/test/integration/two_client_send_tab_to_self_sync_test.cc
index 18a1ee5..c276929a 100644
--- a/chrome/browser/sync/test/integration/two_client_send_tab_to_self_sync_test.cc
+++ b/chrome/browser/sync/test/integration/two_client_send_tab_to_self_sync_test.cc
@@ -7,12 +7,14 @@
 #include "chrome/browser/send_tab_to_self/send_tab_to_self_util.h"
 #include "chrome/browser/sync/device_info_sync_service_factory.h"
 #include "chrome/browser/sync/send_tab_to_self_sync_service_factory.h"
+#include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
 #include "chrome/browser/sync/test/integration/send_tab_to_self_helper.h"
 #include "chrome/browser/sync/test/integration/sync_test.h"
 #include "components/history/core/browser/history_service.h"
 #include "components/send_tab_to_self/features.h"
 #include "components/send_tab_to_self/send_tab_to_self_model.h"
 #include "components/send_tab_to_self/send_tab_to_self_sync_service.h"
+#include "components/sync/device_info/device_info.h"
 #include "components/sync/device_info/device_info_sync_service.h"
 #include "components/sync/driver/sync_driver_switches.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -134,3 +136,55 @@
 
   EXPECT_TRUE(send_tab_to_self::IsSyncingOnMultipleDevices(GetProfile(0)));
 }
+
+IN_PROC_BROWSER_TEST_F(TwoClientSendTabToSelfSyncTest,
+                       SendTabToSelfReceivingEnabled) {
+  ASSERT_TRUE(SetupSync());
+
+  DeviceInfoSyncServiceFactory::GetForProfile(GetProfile(1))
+      ->GetDeviceInfoTracker()
+      ->ForcePulseForTest();
+  DeviceInfoSyncServiceFactory::GetForProfile(GetProfile(0))
+      ->GetDeviceInfoTracker()
+      ->ForcePulseForTest();
+
+  ASSERT_TRUE(send_tab_to_self_helper::SendTabToSelfMultiDeviceActiveChecker(
+                  DeviceInfoSyncServiceFactory::GetForProfile(GetProfile(1))
+                      ->GetDeviceInfoTracker())
+                  .Wait());
+
+  std::vector<std::unique_ptr<syncer::DeviceInfo>> device_infos =
+      DeviceInfoSyncServiceFactory::GetForProfile(GetProfile(1))
+          ->GetDeviceInfoTracker()
+          ->GetAllDeviceInfo();
+  ASSERT_EQ(2u, device_infos.size());
+  EXPECT_TRUE(device_infos[0]->send_tab_to_self_receiving_enabled());
+  EXPECT_TRUE(device_infos[1]->send_tab_to_self_receiving_enabled());
+}
+
+IN_PROC_BROWSER_TEST_F(TwoClientSendTabToSelfSyncTest,
+                       SendTabToSelfReceivingDisabled) {
+  ASSERT_TRUE(SetupSync());
+  GetClient(0)->DisableSyncForType(syncer::UserSelectableType::kTabs);
+
+  DeviceInfoSyncServiceFactory::GetForProfile(GetProfile(1))
+      ->GetDeviceInfoTracker()
+      ->ForcePulseForTest();
+  DeviceInfoSyncServiceFactory::GetForProfile(GetProfile(0))
+      ->GetDeviceInfoTracker()
+      ->ForcePulseForTest();
+
+  ASSERT_TRUE(send_tab_to_self_helper::SendTabToSelfMultiDeviceActiveChecker(
+                  DeviceInfoSyncServiceFactory::GetForProfile(GetProfile(1))
+                      ->GetDeviceInfoTracker())
+                  .Wait());
+
+  std::vector<std::unique_ptr<syncer::DeviceInfo>> device_infos =
+      DeviceInfoSyncServiceFactory::GetForProfile(GetProfile(1))
+          ->GetDeviceInfoTracker()
+          ->GetAllDeviceInfo();
+  EXPECT_EQ(2u, device_infos.size());
+
+  EXPECT_NE(device_infos[0]->send_tab_to_self_receiving_enabled(),
+            device_infos[1]->send_tab_to_self_receiving_enabled());
+}
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 476a18eb..dac312c 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1774,6 +1774,8 @@
       "webui/settings/chromeos/multidevice_handler.h",
       "webui/settings/chromeos/os_settings_ui.cc",
       "webui/settings/chromeos/os_settings_ui.h",
+      "webui/settings/chromeos/plugin_vm_handler.cc",
+      "webui/settings/chromeos/plugin_vm_handler.h",
       "webui/settings/tts_handler.cc",
       "webui/settings/tts_handler.h",
       "webui/signin/inline_login_handler_chromeos.cc",
diff --git a/chrome/browser/ui/search/local_ntp_backgrounds_browsertest.cc b/chrome/browser/ui/search/local_ntp_backgrounds_browsertest.cc
index c634ce9..4fdcc11 100644
--- a/chrome/browser/ui/search/local_ntp_backgrounds_browsertest.cc
+++ b/chrome/browser/ui/search/local_ntp_backgrounds_browsertest.cc
@@ -4,13 +4,11 @@
 
 #include <string>
 
-#include "base/test/scoped_feature_list.h"
 #include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/extensions/extension_browsertest.h"
 #include "chrome/browser/search/instant_service.h"
 #include "chrome/browser/search/instant_service_factory.h"
 #include "chrome/browser/search/instant_service_observer.h"
-#include "chrome/browser/search/ntp_features.h"
 #include "chrome/browser/search/search.h"
 #include "chrome/browser/themes/theme_service.h"
 #include "chrome/browser/themes/theme_service_factory.h"
@@ -30,15 +28,7 @@
 
 namespace {
 
-class LocalNTPCustomBackgroundsTest : public InProcessBrowserTest {
- public:
-  LocalNTPCustomBackgroundsTest() {
-    feature_list_.InitWithFeatures({features::kUseGoogleLocalNtp}, {});
-  }
-
- private:
-  base::test::ScopedFeatureList feature_list_;
-};
+using LocalNTPCustomBackgroundsTest = InProcessBrowserTest;
 
 IN_PROC_BROWSER_TEST_F(LocalNTPCustomBackgroundsTest,
                        EmbeddedSearchAPIEndToEnd) {
@@ -233,11 +223,6 @@
 
 class LocalNTPCustomBackgroundsThemeTest
     : public extensions::ExtensionBrowserTest {
- public:
-  LocalNTPCustomBackgroundsThemeTest() {
-    feature_list_.InitWithFeatures({features::kUseGoogleLocalNtp}, {});
-  }
-
  protected:
   void InstallThemeAndVerify(const std::string& theme_dir,
                              const std::string& theme_name) {
@@ -270,9 +255,6 @@
     ASSERT_NE(nullptr, new_theme);
     ASSERT_EQ(new_theme->name(), theme_name);
   }
-
- private:
-  base::test::ScopedFeatureList feature_list_;
 };
 
 IN_PROC_BROWSER_TEST_F(LocalNTPCustomBackgroundsThemeTest,
diff --git a/chrome/browser/ui/search/local_ntp_browsertest.cc b/chrome/browser/ui/search/local_ntp_browsertest.cc
index 773d6c6..5731cd0 100644
--- a/chrome/browser/ui/search/local_ntp_browsertest.cc
+++ b/chrome/browser/ui/search/local_ntp_browsertest.cc
@@ -89,7 +89,7 @@
   }
 
   LocalNTPTest()
-      : LocalNTPTest(/*enabled_features=*/{features::kUseGoogleLocalNtp},
+      : LocalNTPTest(/*enabled_features=*/{},
                      /*disabled_features=*/{features::kRemoveNtpFakebox}) {}
 
   void SetUpOnMainThread() override {
diff --git a/chrome/browser/ui/search/local_ntp_doodle_browsertest.cc b/chrome/browser/ui/search/local_ntp_doodle_browsertest.cc
index 942a62ce..20b0f63c 100644
--- a/chrome/browser/ui/search/local_ntp_doodle_browsertest.cc
+++ b/chrome/browser/ui/search/local_ntp_doodle_browsertest.cc
@@ -253,9 +253,7 @@
 
  private:
   void SetUp() override {
-    feature_list_.InitWithFeatures(
-        {features::kUseGoogleLocalNtp, features::kDoodlesOnLocalNtp},
-        {features::kRemoveNtpFakebox});
+    feature_list_.InitWithFeatures({}, {features::kRemoveNtpFakebox});
     InProcessBrowserTest::SetUp();
   }
 
diff --git a/chrome/browser/ui/search/local_ntp_one_google_bar_browsertest.cc b/chrome/browser/ui/search/local_ntp_one_google_bar_browsertest.cc
index fd07f0fd..a20b14b 100644
--- a/chrome/browser/ui/search/local_ntp_one_google_bar_browsertest.cc
+++ b/chrome/browser/ui/search/local_ntp_one_google_bar_browsertest.cc
@@ -7,9 +7,7 @@
 
 #include "base/bind.h"
 #include "base/optional.h"
-#include "base/test/scoped_feature_list.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/search/ntp_features.h"
 #include "chrome/browser/search/one_google_bar/one_google_bar_data.h"
 #include "chrome/browser/search/one_google_bar/one_google_bar_loader.h"
 #include "chrome/browser/search/one_google_bar/one_google_bar_service.h"
@@ -59,7 +57,6 @@
 
  private:
   void SetUp() override {
-    feature_list_.InitWithFeatures({features::kUseGoogleLocalNtp}, {});
     InProcessBrowserTest::SetUp();
   }
 
@@ -88,8 +85,6 @@
             &LocalNTPOneGoogleBarSmokeTest::CreateOneGoogleBarService));
   }
 
-  base::test::ScopedFeatureList feature_list_;
-
   std::unique_ptr<
       base::CallbackList<void(content::BrowserContext*)>::Subscription>
       will_create_browser_context_services_subscription_;
diff --git a/chrome/browser/ui/search/local_ntp_promos_browsertest.cc b/chrome/browser/ui/search/local_ntp_promos_browsertest.cc
index b4b95f1d..569d370 100644
--- a/chrome/browser/ui/search/local_ntp_promos_browsertest.cc
+++ b/chrome/browser/ui/search/local_ntp_promos_browsertest.cc
@@ -13,8 +13,6 @@
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
 #include "base/test/metrics/histogram_tester.h"
-#include "base/test/scoped_feature_list.h"
-#include "chrome/browser/search/ntp_features.h"
 #include "chrome/browser/search/promos/promo_service.h"
 #include "chrome/browser/search/promos/promo_service_factory.h"
 #include "chrome/browser/search_provider_logos/logo_service_factory.h"
@@ -59,8 +57,6 @@
 
 class LocalNTPPromoTest : public InProcessBrowserTest {
  protected:
-  LocalNTPPromoTest() {}
-
   MockPromoService* promo_service() {
     return static_cast<MockPromoService*>(
         PromoServiceFactory::GetForProfile(browser()->profile()));
@@ -68,8 +64,6 @@
 
  private:
   void SetUp() override {
-    feature_list_.InitWithFeatures(
-        {features::kUseGoogleLocalNtp, features::kPromosOnLocalNtp}, {});
     InProcessBrowserTest::SetUp();
   }
 
@@ -92,8 +86,6 @@
         context, base::BindRepeating(&LocalNTPPromoTest::CreatePromoService));
   }
 
-  base::test::ScopedFeatureList feature_list_;
-
   std::unique_ptr<
       base::CallbackList<void(content::BrowserContext*)>::Subscription>
       will_create_browser_context_services_subscription_;
diff --git a/chrome/browser/ui/search/local_ntp_render_browsertest.cc b/chrome/browser/ui/search/local_ntp_render_browsertest.cc
index 759480016..7876c1c 100644
--- a/chrome/browser/ui/search/local_ntp_render_browsertest.cc
+++ b/chrome/browser/ui/search/local_ntp_render_browsertest.cc
@@ -12,12 +12,10 @@
 #include "base/path_service.h"
 #include "base/run_loop.h"
 #include "base/strings/utf_string_conversions.h"
-#include "base/test/scoped_feature_list.h"
 #include "base/threading/thread_restrictions.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/search/instant_service.h"
 #include "chrome/browser/search/instant_service_factory.h"
-#include "chrome/browser/search/ntp_features.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/search/local_ntp_test_utils.h"
 #include "chrome/common/chrome_paths.h"
@@ -53,11 +51,6 @@
 
 class LocalNTPRenderTest : public InProcessBrowserTest {
  public:
-  LocalNTPRenderTest() {
-    // Making sure we are running with the Local NTP.
-    feature_list_.InitWithFeatures({features::kUseGoogleLocalNtp}, {});
-  }
-
   void SetUpCommandLine(base::CommandLine* command_line) override {
     // This is required for the output to be rendered, then captured.
     command_line->AppendSwitch(switches::kEnablePixelOutputInTests);
@@ -107,7 +100,6 @@
     run_loop_->Quit();
   }
 
-  base::test::ScopedFeatureList feature_list_;
   std::unique_ptr<base::RunLoop> run_loop_;
 };
 
diff --git a/chrome/browser/ui/search/local_ntp_suggestions_browsertest.cc b/chrome/browser/ui/search/local_ntp_suggestions_browsertest.cc
index ad739a2..7b4cbd8 100644
--- a/chrome/browser/ui/search/local_ntp_suggestions_browsertest.cc
+++ b/chrome/browser/ui/search/local_ntp_suggestions_browsertest.cc
@@ -3,9 +3,7 @@
 // found in the LICENSE file.
 
 #include "base/optional.h"
-#include "base/test/scoped_feature_list.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/search/ntp_features.h"
 #include "chrome/browser/search/one_google_bar/one_google_bar_service.h"
 #include "chrome/browser/search/one_google_bar/one_google_bar_service_factory.h"
 #include "chrome/browser/search/search_suggest/search_suggest_service.h"
@@ -56,12 +54,6 @@
 
 class LocalNTPSearchSuggestTest : public InProcessBrowserTest {
  protected:
-  LocalNTPSearchSuggestTest() {
-    feature_list_.InitWithFeatures(
-        {features::kUseGoogleLocalNtp, features::kSearchSuggestionsOnLocalNtp},
-        {});
-  }
-
   MockSearchSuggestService* search_suggest_service() {
     return static_cast<MockSearchSuggestService*>(
         SearchSuggestServiceFactory::GetForProfile(browser()->profile()));
@@ -89,8 +81,6 @@
                      &LocalNTPSearchSuggestTest::CreateSearchSuggestService));
   }
 
-  base::test::ScopedFeatureList feature_list_;
-
   std::unique_ptr<
       base::CallbackList<void(content::BrowserContext*)>::Subscription>
       subscription_;
diff --git a/chrome/browser/ui/search/local_ntp_uitest.cc b/chrome/browser/ui/search/local_ntp_uitest.cc
index 75468df..2f23d68 100644
--- a/chrome/browser/ui/search/local_ntp_uitest.cc
+++ b/chrome/browser/ui/search/local_ntp_uitest.cc
@@ -36,7 +36,7 @@
  private:
   void SetUp() override {
     feature_list_.InitWithFeatures(
-        /*enabled_features=*/{features::kUseGoogleLocalNtp},
+        /*enabled_features=*/{},
         /*disabled_features=*/{features::kRemoveNtpFakebox});
     InProcessBrowserTest::SetUp();
   }
diff --git a/chrome/browser/ui/search/local_ntp_voice_search_browsertest.cc b/chrome/browser/ui/search/local_ntp_voice_search_browsertest.cc
index 37315dd3..3fd6e56 100644
--- a/chrome/browser/ui/search/local_ntp_voice_search_browsertest.cc
+++ b/chrome/browser/ui/search/local_ntp_voice_search_browsertest.cc
@@ -31,8 +31,7 @@
 
  private:
   void SetUp() override {
-    feature_list_.InitWithFeatures({features::kUseGoogleLocalNtp},
-                                   {features::kRemoveNtpFakebox});
+    feature_list_.InitWithFeatures({}, {features::kRemoveNtpFakebox});
     InProcessBrowserTest::SetUp();
   }
 
diff --git a/chrome/browser/ui/views/extensions/extensions_menu_view.cc b/chrome/browser/ui/views/extensions/extensions_menu_view.cc
index 75c34d4f..623b956b 100644
--- a/chrome/browser/ui/views/extensions/extensions_menu_view.cc
+++ b/chrome/browser/ui/views/extensions/extensions_menu_view.cc
@@ -51,8 +51,8 @@
   model_observer_.Add(model_);
   set_margins(gfx::Insets(0));
 
-  AddAccelerator(ui::Accelerator(ui::VKEY_DOWN, ui::EF_NONE));
-  AddAccelerator(ui::Accelerator(ui::VKEY_UP, ui::EF_NONE));
+  EnableUpDownKeyboardAccelerators();
+
   SetLayoutManager(
       std::make_unique<views::BoxLayout>(views::BoxLayout::kVertical));
   Repopulate();
@@ -77,17 +77,6 @@
   return true;
 }
 
-bool ExtensionsMenuView::AcceleratorPressed(
-    const ui::Accelerator& accelerator) {
-  if (accelerator.key_code() != ui::VKEY_DOWN &&
-      accelerator.key_code() != ui::VKEY_UP)
-    return BubbleDialogDelegateView::AcceleratorPressed(accelerator);
-
-  // Move the focus up or down.
-  GetFocusManager()->AdvanceFocus(accelerator.key_code() != ui::VKEY_DOWN);
-  return true;
-}
-
 int ExtensionsMenuView::GetDialogButtons() const {
   return ui::DIALOG_BUTTON_NONE;
 }
diff --git a/chrome/browser/ui/views/extensions/extensions_menu_view.h b/chrome/browser/ui/views/extensions/extensions_menu_view.h
index 3d4d0d1..3e84b965 100644
--- a/chrome/browser/ui/views/extensions/extensions_menu_view.h
+++ b/chrome/browser/ui/views/extensions/extensions_menu_view.h
@@ -44,7 +44,6 @@
   // views::BubbleDialogDelegateView:
   base::string16 GetWindowTitle() const override;
   bool ShouldShowCloseButton() const override;
-  bool AcceleratorPressed(const ui::Accelerator& accelerator) override;
   int GetDialogButtons() const override;
   bool ShouldSnapFrameWidth() const override;
 
diff --git a/chrome/browser/ui/views/profiles/profile_menu_view_base.cc b/chrome/browser/ui/views/profiles/profile_menu_view_base.cc
index 7ed236dc..d0ddde5 100644
--- a/chrome/browser/ui/views/profiles/profile_menu_view_base.cc
+++ b/chrome/browser/ui/views/profiles/profile_menu_view_base.cc
@@ -119,9 +119,7 @@
     set_parent_window(parent_window);
   }
 
-  // The arrow keys can be used to tab between items.
-  AddAccelerator(ui::Accelerator(ui::VKEY_DOWN, ui::EF_NONE));
-  AddAccelerator(ui::Accelerator(ui::VKEY_UP, ui::EF_NONE));
+  EnableUpDownKeyboardAccelerators();
 
   bool dice_enabled = AccountConsistencyModeManager::IsDiceEnabledForProfile(
       browser->profile());
@@ -150,17 +148,6 @@
       ui::NativeTheme::kColorId_DialogBackground)));
 }
 
-bool ProfileMenuViewBase::AcceleratorPressed(
-    const ui::Accelerator& accelerator) {
-  if (accelerator.key_code() != ui::VKEY_DOWN &&
-      accelerator.key_code() != ui::VKEY_UP)
-    return BubbleDialogDelegateView::AcceleratorPressed(accelerator);
-
-  // Move the focus up or down.
-  GetFocusManager()->AdvanceFocus(accelerator.key_code() != ui::VKEY_DOWN);
-  return true;
-}
-
 int ProfileMenuViewBase::GetDialogButtons() const {
   return ui::DIALOG_BUTTON_NONE;
 }
diff --git a/chrome/browser/ui/views/profiles/profile_menu_view_base.h b/chrome/browser/ui/views/profiles/profile_menu_view_base.h
index 29da73a..7c837e64 100644
--- a/chrome/browser/ui/views/profiles/profile_menu_view_base.h
+++ b/chrome/browser/ui/views/profiles/profile_menu_view_base.h
@@ -104,7 +104,6 @@
   // views::BubbleDialogDelegateView:
   void WindowClosing() override;
   void OnNativeThemeChanged(const ui::NativeTheme* native_theme) override;
-  bool AcceleratorPressed(const ui::Accelerator& accelerator) override;
   int GetDialogButtons() const override;
   ax::mojom::Role GetAccessibleWindowRole() override;
 
diff --git a/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc b/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
index b598922..75dd036 100644
--- a/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
+++ b/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
@@ -159,6 +159,7 @@
       views::style::STYLE_PRIMARY);
   title_label->SetMultiLine(true);
   title_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+  title_label->SetAllowCharacterBreak(true);
   label_container->AddChildView(title_label.release());
 
   auto description_label = std::make_unique<views::Label>(
@@ -166,6 +167,7 @@
       views::style::CONTEXT_MESSAGE_BOX_BODY_TEXT);
   description_label->SetMultiLine(true);
   description_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+  description_label->SetAllowCharacterBreak(true);
   label_container->AddChildView(description_label.release());
 
   base::Optional<base::string16> additional_desciption =
@@ -176,6 +178,7 @@
         views::style::CONTEXT_MESSAGE_BOX_BODY_TEXT);
     label->SetMultiLine(true);
     label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+    label->SetAllowCharacterBreak(true);
     label_container->AddChildView(label.release());
   }
 
diff --git a/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc
index 540df02..77fc36b 100644
--- a/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.cc
@@ -185,13 +185,13 @@
 }
 
 void AssistantOptInFlowScreenHandler::OnSpeakerIdEnrollmentDone() {
-  settings_manager_->StopSpeakerIdEnrollment(base::DoNothing());
+  StopSpeakerIdEnrollment();
   CallJS("login.AssistantOptInFlowScreen.onVoiceMatchUpdate",
          base::Value("done"));
 }
 
 void AssistantOptInFlowScreenHandler::OnSpeakerIdEnrollmentFailure() {
-  settings_manager_->StopSpeakerIdEnrollment(base::DoNothing());
+  StopSpeakerIdEnrollment();
   RecordAssistantOptInStatus(VOICE_MATCH_ENROLLMENT_ERROR);
   CallJS("login.AssistantOptInFlowScreen.onVoiceMatchUpdate",
          base::Value("failure"));
@@ -289,6 +289,12 @@
   send_request_time_ = base::TimeTicks::Now();
 }
 
+void AssistantOptInFlowScreenHandler::StopSpeakerIdEnrollment() {
+  settings_manager_->StopSpeakerIdEnrollment(base::DoNothing());
+  // Close the binding so it can be used again if enrollment is retried.
+  client_binding_.Close();
+}
+
 void AssistantOptInFlowScreenHandler::ReloadContent(const base::Value& dict) {
   CallJS("login.AssistantOptInFlowScreen.reloadContent", dict);
 }
@@ -335,9 +341,6 @@
     ::assistant::prefs::SetConsentStatus(
         prefs, consented ? ash::mojom::ConsentStatus::kActivityControlAccepted
                          : ash::mojom::ConsentStatus::kUnknown);
-
-    // Skip activity control and users will be in opted out mode.
-    ShowNextScreen();
   } else {
     AddSettingZippy("settings",
                     CreateZippyData(activity_control_ui.setting_zippy()));
@@ -349,9 +352,7 @@
   if (third_party_disclosure_ui.disclosures().size()) {
     AddSettingZippy("disclosure", CreateDisclosureData(
                                       third_party_disclosure_ui.disclosures()));
-  } else if (skip_third_party_disclosure) {
-    ShowNextScreen();
-  } else {
+  } else if (!skip_third_party_disclosure) {
     // TODO(llin): Show an error message and log it properly.
     LOG(ERROR) << "Missing third Party disclosure data.";
     return;
@@ -370,9 +371,7 @@
       skip_third_party_disclosure && !get_more_data.GetList().size();
   if (get_more_data.GetList().size()) {
     AddSettingZippy("get-more", get_more_data);
-  } else if (skip_get_more) {
-    ShowNextScreen();
-  } else {
+  } else if (!skip_get_more) {
     // TODO(llin): Show an error message and log it properly.
     LOG(ERROR) << "Missing get more data.";
     return;
@@ -380,10 +379,28 @@
 
   // Pass string constants dictionary.
   auto dictionary = GetSettingsUiStrings(settings_ui, activity_control_needed_);
-  dictionary.SetKey("voiceMatchEnabled",
-                    base::Value(IsVoiceMatchEnabled(
-                        ProfileManager::GetActiveUserProfile()->GetPrefs())));
+  const bool voice_match_enabled =
+      IsVoiceMatchEnabled(ProfileManager::GetActiveUserProfile()->GetPrefs());
+  dictionary.SetKey("voiceMatchEnabled", base::Value(voice_match_enabled));
   ReloadContent(dictionary);
+
+  // Now that screen's content has been reloaded, skip screens that can be
+  // skipped - if this is done before content reload, internal screen
+  // transitions might be based on incorrect data. For example, if both activity
+  // control and third party disclosure are skipped, opt in flow might skip
+  // voice match enrollment, thinking that voice match is not enabled.
+
+  // Skip activity control and users will be in opted out mode.
+  if (skip_activity_control)
+    ShowNextScreen();
+
+  if (skip_third_party_disclosure)
+    ShowNextScreen();
+
+  // If voice match is enabled, the screen that follows third party disclosure
+  // is the "voice match" screen, not "get more" screen.
+  if (skip_get_more && !voice_match_enabled)
+    ShowNextScreen();
 }
 
 void AssistantOptInFlowScreenHandler::OnUpdateSettingsResponse(
@@ -463,7 +480,7 @@
       // No need to disable hotword for retrain flow since user has a model.
       prefs->SetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled, false);
     }
-    settings_manager_->StopSpeakerIdEnrollment(base::DoNothing());
+    StopSpeakerIdEnrollment();
     ShowNextScreen();
   } else if (action == kRecordPressed) {
     if (!prefs->GetBoolean(arc::prefs::kVoiceInteractionHotwordEnabled)) {
diff --git a/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.h
index a1e4273..2c3d048 100644
--- a/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/assistant_optin_flow_screen_handler.h
@@ -101,6 +101,9 @@
   // Send GetSettings request for the opt-in UI.
   void SendGetSettingsRequest();
 
+  // Stops the current speaker ID enrollment flow.
+  void StopSpeakerIdEnrollment();
+
   // Send message and consent data to the page.
   void ReloadContent(const base::Value& dict);
   void AddSettingZippy(const std::string& type, const base::Value& data);
diff --git a/chrome/browser/ui/webui/settings/chromeos/plugin_vm_handler.cc b/chrome/browser/ui/webui/settings/chromeos/plugin_vm_handler.cc
new file mode 100644
index 0000000..c45f879
--- /dev/null
+++ b/chrome/browser/ui/webui/settings/chromeos/plugin_vm_handler.cc
@@ -0,0 +1,72 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/webui/settings/chromeos/plugin_vm_handler.h"
+
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "base/bind.h"
+#include "base/bind_helpers.h"
+#include "chrome/browser/chromeos/crostini/crostini_share_path.h"
+#include "chrome/browser/chromeos/file_manager/path_util.h"
+#include "chrome/browser/profiles/profile.h"
+#include "content/public/browser/browser_thread.h"
+
+namespace chromeos {
+namespace settings {
+
+PluginVmHandler::PluginVmHandler(Profile* profile)
+    : profile_(profile), weak_ptr_factory_(this) {}
+
+PluginVmHandler::~PluginVmHandler() = default;
+
+void PluginVmHandler::RegisterMessages() {
+  web_ui()->RegisterMessageCallback(
+      "getPluginVmSharedPathsDisplayText",
+      base::BindRepeating(
+          &PluginVmHandler::HandleGetPluginVmSharedPathsDisplayText,
+          weak_ptr_factory_.GetWeakPtr()));
+  web_ui()->RegisterMessageCallback(
+      "removePluginVmSharedPath",
+      base::BindRepeating(&PluginVmHandler::HandleRemovePluginVmSharedPath,
+                          weak_ptr_factory_.GetWeakPtr()));
+}
+
+void PluginVmHandler::HandleGetPluginVmSharedPathsDisplayText(
+    const base::ListValue* args) {
+  AllowJavascript();
+  CHECK_EQ(2U, args->GetSize());
+  std::string callback_id = args->GetList()[0].GetString();
+
+  base::ListValue texts;
+  for (const auto& path : args->GetList()[1].GetList()) {
+    texts.AppendString(file_manager::util::GetPathDisplayTextForSettings(
+        profile_, path.GetString()));
+  }
+  ResolveJavascriptCallback(base::Value(callback_id), texts);
+}
+
+void PluginVmHandler::HandleRemovePluginVmSharedPath(
+    const base::ListValue* args) {
+  CHECK_EQ(2U, args->GetSize());
+  std::string vm_name = args->GetList()[0].GetString();
+  std::string path = args->GetList()[1].GetString();
+
+  crostini::CrostiniSharePath::GetForProfile(profile_)->UnsharePath(
+      vm_name, base::FilePath(path),
+      /*unpersist=*/true,
+      base::BindOnce(
+          [](const std::string& path, bool result, std::string failure_reason) {
+            if (!result) {
+              LOG(ERROR) << "Error unsharing " << path << ": "
+                         << failure_reason;
+            }
+          },
+          path));
+}
+
+}  // namespace settings
+}  // namespace chromeos
diff --git a/chrome/browser/ui/webui/settings/chromeos/plugin_vm_handler.h b/chrome/browser/ui/webui/settings/chromeos/plugin_vm_handler.h
new file mode 100644
index 0000000..64e9d850
--- /dev/null
+++ b/chrome/browser/ui/webui/settings/chromeos/plugin_vm_handler.h
@@ -0,0 +1,46 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_WEBUI_SETTINGS_CHROMEOS_PLUGIN_VM_HANDLER_H_
+#define CHROME_BROWSER_UI_WEBUI_SETTINGS_CHROMEOS_PLUGIN_VM_HANDLER_H_
+
+#include <vector>
+
+#include "base/memory/weak_ptr.h"
+#include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h"
+
+class Profile;
+
+namespace chromeos {
+namespace settings {
+
+class PluginVmHandler : public ::settings::SettingsPageUIHandler {
+ public:
+  explicit PluginVmHandler(Profile* profile);
+  ~PluginVmHandler() override;
+
+  // SettingsPageUIHandler
+  void RegisterMessages() override;
+  void OnJavascriptAllowed() override {}
+  void OnJavascriptDisallowed() override {}
+
+ private:
+  // Callback for the "getSharedPathsDisplayText" message.  Converts actual
+  // paths in chromeos to values suitable to display to users.
+  // E.g. /home/chronos/u-<hash>/Downloads/foo => "Downloads > foo".
+  void HandleGetPluginVmSharedPathsDisplayText(const base::ListValue* args);
+  // Remove a specified path from being shared.
+  void HandleRemovePluginVmSharedPath(const base::ListValue* args);
+
+  Profile* profile_;
+  // weak_ptr_factory_ should always be last member.
+  base::WeakPtrFactory<PluginVmHandler> weak_ptr_factory_;
+
+  DISALLOW_COPY_AND_ASSIGN(PluginVmHandler);
+};
+
+}  // namespace settings
+}  // namespace chromeos
+
+#endif  // CHROME_BROWSER_UI_WEBUI_SETTINGS_CHROMEOS_PLUGIN_VM_HANDLER_H_
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
index 4a85a85..ef5f34f 100644
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -499,6 +499,15 @@
       {"pluginVmPageTitle", IDS_SETTINGS_PLUGIN_VM_PAGE_TITLE},
       {"pluginVmPageLabel", IDS_SETTINGS_PLUGIN_VM_PAGE_LABEL},
       {"pluginVmPrinterAccess", IDS_SETTINGS_PLUGIN_VM_PRINTER_ACCESS},
+      {"pluginVmSharedPaths", IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS},
+      {"pluginVmSharedPathsListHeading",
+       IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS_LIST_HEADING},
+      {"pluginVmSharedPathsInstructionsAdd",
+       IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS_INSTRUCTIONS_ADD},
+      {"pluginVmSharedPathsInstructionsRemove",
+       IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS_INSTRUCTIONS_REMOVE},
+      {"pluginVmSharedPathsRemoveSharing",
+       IDS_SETTINGS_PLUGIN_VM_SHARED_PATHS_REMOVE_SHARING},
   };
   AddLocalizedStringsBulk(html_source, kLocalizedStrings,
                           base::size(kLocalizedStrings));
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
index 22b404d3..f735e6b 100644
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
@@ -106,6 +106,7 @@
 #include "chrome/browser/ui/webui/settings/chromeos/google_assistant_handler.h"
 #include "chrome/browser/ui/webui/settings/chromeos/internet_handler.h"
 #include "chrome/browser/ui/webui/settings/chromeos/multidevice_handler.h"
+#include "chrome/browser/ui/webui/settings/chromeos/plugin_vm_handler.h"
 #include "chrome/browser/web_applications/system_web_app_manager.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/grit/browser_resources.h"
@@ -398,6 +399,10 @@
   }
   web_ui->AddMessageHandler(
       std::make_unique<chromeos::settings::KeyboardHandler>());
+  if (plugin_vm::IsPluginVmEnabled(profile)) {
+    web_ui->AddMessageHandler(
+        std::make_unique<chromeos::settings::PluginVmHandler>(profile));
+  }
   web_ui->AddMessageHandler(
       std::make_unique<chromeos::settings::PointerHandler>());
   web_ui->AddMessageHandler(
diff --git a/chrome/browser/ui/webui/welcome/nux/constants.cc b/chrome/browser/ui/webui/welcome/nux/constants.cc
index 8b488fc..73a31c2 100644
--- a/chrome/browser/ui/webui/welcome/nux/constants.cc
+++ b/chrome/browser/ui/webui/welcome/nux/constants.cc
@@ -11,8 +11,6 @@
 const base::Feature kNuxOnboardingFeature{"NuxOnboarding",
                                           base::FEATURE_ENABLED_BY_DEFAULT};
 
-// nux-ntp-background should not be added here until we can guarantee that
-// kUseGoogleLocalNtp is enabled
 const char kDefaultNewUserModules[] =
     "nux-google-apps,nux-set-as-default,signin-view";
 const char kDefaultReturningUserModules[] = "nux-set-as-default";
diff --git a/chrome/browser/ui/webui/welcome/nux_helper.cc b/chrome/browser/ui/webui/welcome/nux_helper.cc
index ab52a72..1601a02 100644
--- a/chrome/browser/ui/webui/welcome/nux_helper.cc
+++ b/chrome/browser/ui/webui/welcome/nux_helper.cc
@@ -97,16 +97,9 @@
         &kNuxOnboardingForceEnabled, "returning-user-modules",
         "nux-set-as-default"};
 
-// Our current running experiment of testing the nux-ntp-background module
-// depends on the Local NTP feature/experiment being enabled. To avoid polluting
-// our data with users who cannot use the nux-ntp-background module, we need
-// to check to make sure the Local NTP feature is enabled before running
-// any experiment or even reading any feature params from our experiment.
+// Onboarding experiments depend on Google being the default search provider.
 bool CanExperimentWithVariations(Profile* profile) {
-  return (base::CommandLine::ForCurrentProcess()->HasSwitch(
-              switches::kForceLocalNtp) ||
-          base::FeatureList::IsEnabled(features::kUseGoogleLocalNtp)) &&
-         search::DefaultSearchProviderIsGoogle(profile);
+  return search::DefaultSearchProviderIsGoogle(profile);
 }
 
 // Must match study name in configs.
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index df50f2de..7e09d16 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -348,9 +348,6 @@
 // whether or not it's actually the First Run (this overrides kNoFirstRun).
 const char kForceFirstRun[]                 = "force-first-run";
 
-// Forces Chrome to use localNTP instead of server (GWS) NTP.
-const char kForceLocalNtp[]                 = "force-local-ntp";
-
 // Forces Chrome to use a stacked tab strip layout.
 const char kForceStackedTabStripLayout[]    = "force-stacked-tab-strip-layout";
 
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index b2434bf..25ed4a84 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -111,7 +111,6 @@
 extern const char kForceAndroidAppMode[];
 extern const char kForceAppMode[];
 extern const char kForceFirstRun[];
-extern const char kForceLocalNtp[];
 extern const char kForceStackedTabStripLayout[];
 extern const char kHomePage[];
 extern const char kIncognito[];
diff --git a/chrome/common/instant_struct_traits.h b/chrome/common/instant_struct_traits.h
index 5fac96a..698800bf 100644
--- a/chrome/common/instant_struct_traits.h
+++ b/chrome/common/instant_struct_traits.h
@@ -67,10 +67,7 @@
   IPC_STRUCT_TRAITS_MEMBER(custom_background_attribution_action_url)
   IPC_STRUCT_TRAITS_MEMBER(background_color)
   IPC_STRUCT_TRAITS_MEMBER(text_color)
-  IPC_STRUCT_TRAITS_MEMBER(link_color)
   IPC_STRUCT_TRAITS_MEMBER(text_color_light)
-  IPC_STRUCT_TRAITS_MEMBER(header_color)
-  IPC_STRUCT_TRAITS_MEMBER(section_border_color)
   IPC_STRUCT_TRAITS_MEMBER(theme_id)
   IPC_STRUCT_TRAITS_MEMBER(image_horizontal_alignment)
   IPC_STRUCT_TRAITS_MEMBER(image_vertical_alignment)
diff --git a/chrome/common/search/instant_types.cc b/chrome/common/search/instant_types.cc
index aee253b..658748a4 100644
--- a/chrome/common/search/instant_types.cc
+++ b/chrome/common/search/instant_types.cc
@@ -33,10 +33,7 @@
       custom_background_attribution_action_url(std::string()),
       background_color(),
       text_color(),
-      link_color(),
       text_color_light(),
-      header_color(),
-      section_border_color(),
       image_horizontal_alignment(THEME_BKGRND_IMAGE_ALIGN_CENTER),
       image_vertical_alignment(THEME_BKGRND_IMAGE_ALIGN_CENTER),
       image_tiling(THEME_BKGRND_IMAGE_NO_REPEAT),
@@ -57,11 +54,8 @@
          custom_background_attribution_action_url ==
              rhs.custom_background_attribution_action_url &&
          background_color == rhs.background_color &&
-         text_color == rhs.text_color && link_color == rhs.link_color &&
-         text_color_light == rhs.text_color_light &&
-         header_color == rhs.header_color &&
-         section_border_color == rhs.section_border_color &&
-         theme_id == rhs.theme_id &&
+         text_color == rhs.text_color &&
+         text_color_light == rhs.text_color_light && theme_id == rhs.theme_id &&
          image_horizontal_alignment == rhs.image_horizontal_alignment &&
          image_vertical_alignment == rhs.image_vertical_alignment &&
          image_tiling == rhs.image_tiling &&
diff --git a/chrome/common/search/instant_types.h b/chrome/common/search/instant_types.h
index a6ea2f1..8b4e137a 100644
--- a/chrome/common/search/instant_types.h
+++ b/chrome/common/search/instant_types.h
@@ -88,18 +88,9 @@
   // The theme text color in RGBA format.
   RGBAColor text_color;
 
-  // The theme link color in RGBA format.
-  RGBAColor link_color;
-
   // The theme text color light in RGBA format.
   RGBAColor text_color_light;
 
-  // The theme color for the header in RGBA format.
-  RGBAColor header_color;
-
-  // The theme color for the section border in RGBA format.
-  RGBAColor section_border_color;
-
   // The theme id for the theme background image.
   // Value is only valid if there's a custom theme background image.
   std::string theme_id;
diff --git a/chrome/common/thread_profiler.cc b/chrome/common/thread_profiler.cc
index ca9b35b..8ceb728a 100644
--- a/chrome/common/thread_profiler.cc
+++ b/chrome/common/thread_profiler.cc
@@ -158,14 +158,15 @@
   ScheduleNextPeriodicCollection();
 }
 
-void ThreadProfiler::AddAuxUnwinder(std::unique_ptr<base::Unwinder> unwinder) {
+void ThreadProfiler::SetAuxUnwinderFactory(
+    const base::RepeatingCallback<std::unique_ptr<base::Unwinder>()>& factory) {
   if (!StackSamplingConfiguration::Get()->IsProfilerEnabledForCurrentProcess())
     return;
 
-  aux_unwinder_ = std::move(unwinder);
-  startup_profiler_->AddAuxUnwinder(aux_unwinder_.get());
+  aux_unwinder_factory_ = factory;
+  startup_profiler_->AddAuxUnwinder(aux_unwinder_factory_.Run());
   if (periodic_profiler_)
-    periodic_profiler_->AddAuxUnwinder(aux_unwinder_.get());
+    periodic_profiler_->AddAuxUnwinder(aux_unwinder_factory_.Run());
 }
 
 // static
@@ -288,8 +289,8 @@
           base::BindOnce(&ThreadProfiler::OnPeriodicCollectionCompleted,
                          owning_thread_task_runner_,
                          weak_factory_.GetWeakPtr())));
-  if (aux_unwinder_)
-    periodic_profiler_->AddAuxUnwinder(aux_unwinder_.get());
+  if (aux_unwinder_factory_)
+    periodic_profiler_->AddAuxUnwinder(aux_unwinder_factory_.Run());
 
   periodic_profiler_->Start();
 }
diff --git a/chrome/common/thread_profiler.h b/chrome/common/thread_profiler.h
index 16edefe..4abf2e2 100644
--- a/chrome/common/thread_profiler.h
+++ b/chrome/common/thread_profiler.h
@@ -67,10 +67,12 @@
   void SetMainThreadTaskRunner(
       scoped_refptr<base::SingleThreadTaskRunner> task_runner);
 
-  // Adds an auxiliary unwinder to supply to the StackSamplingProfiler to handle
-  // additional, non-native-code unwind scenarios. Currently used to support
+  // Sets a callback to create auxiliary unwinders, for handling additional,
+  // non-native-code unwind scenarios. Currently used to support
   // unwinding V8 JavaScript frames.
-  void AddAuxUnwinder(std::unique_ptr<base::Unwinder> unwinder);
+  void SetAuxUnwinderFactory(
+      const base::RepeatingCallback<std::unique_ptr<base::Unwinder>()>&
+          factory);
 
   // Creates a profiler for a child thread and immediately starts it. This
   // should be called from a task posted on the child thread immediately after
@@ -124,7 +126,8 @@
 
   std::unique_ptr<WorkIdRecorder> work_id_recorder_;
 
-  std::unique_ptr<base::Unwinder> aux_unwinder_;
+  base::RepeatingCallback<std::unique_ptr<base::Unwinder>()>
+      aux_unwinder_factory_;
 
   std::unique_ptr<base::StackSamplingProfiler> startup_profiler_;
 
diff --git a/chrome/credential_provider/gaiacp/strings/gaia_resources_ca.xtb b/chrome/credential_provider/gaiacp/strings/gaia_resources_ca.xtb
index 980a8139..98395a4 100644
--- a/chrome/credential_provider/gaiacp/strings/gaia_resources_ca.xtb
+++ b/chrome/credential_provider/gaiacp/strings/gaia_resources_ca.xtb
@@ -21,7 +21,7 @@
 <translation id="7536769223115622137">Afegeix el compte de la feina</translation>
 <translation id="7856245195110636219">No es pot continuar sense introduir la contrasenya actual de Windows. Contacta amb un administrador del sistema.</translation>
 <translation id="8474372283141585908">Proveïdor de credencials de Google</translation>
-<translation id="8639729688781680518">Oblida la contrasenya de Windows</translation>
+<translation id="8639729688781680518">He oblidat la contrasenya de Windows</translation>
 <translation id="866458870819756755">No s'ha pogut crear cap usuari.</translation>
 <translation id="8860262547644202689">Aplicació d'ajuda del proveïdor de credencials de Google</translation>
 <translation id="8875753657315897487">Inicia la sessió amb el compte de la feina</translation>
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index 673b95d..522d236 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -296,6 +296,11 @@
   DISALLOW_COPY_AND_ASSIGN(MediaLoadDeferrer);
 };
 
+std::unique_ptr<base::Unwinder> CreateV8Unwinder(
+    const v8::UnwindState& unwind_state) {
+  return std::make_unique<V8Unwinder>(unwind_state);
+}
+
 }  // namespace
 
 ChromeContentRendererClient::ChromeContentRendererClient()
@@ -320,8 +325,8 @@
 void ChromeContentRendererClient::RenderThreadStarted() {
   RenderThread* thread = RenderThread::Get();
 
-  main_thread_profiler_->AddAuxUnwinder(std::make_unique<V8Unwinder>(
-      v8::Isolate::GetCurrent()->GetUnwindState()));
+  main_thread_profiler_->SetAuxUnwinderFactory(base::BindRepeating(
+      &CreateV8Unwinder, v8::Isolate::GetCurrent()->GetUnwindState()));
 
   thread->SetRendererProcessType(
       IsStandaloneContentExtensionProcess()
diff --git a/chrome/renderer/extensions/automation_internal_custom_bindings.cc b/chrome/renderer/extensions/automation_internal_custom_bindings.cc
index 9bcb730..6a53d9b 100644
--- a/chrome/renderer/extensions/automation_internal_custom_bindings.cc
+++ b/chrome/renderer/extensions/automation_internal_custom_bindings.cc
@@ -1127,6 +1127,8 @@
                 ToString(static_cast<api::automation::ActionType>(action)));
         }
 
+        // TODO(crbug/955633): Set doDefault, increment, and decrement directly
+        //     on the AXNode.
         // The doDefault action is implied by having a default action verb.
         int default_action_verb =
             static_cast<int>(ax::mojom::DefaultActionVerb::kNone);
@@ -1140,6 +1142,22 @@
                   ax::mojom::Action::kDoDefault)));
         }
 
+        // Increment and decrement are available when the role is a slider or
+        // spin button.
+        std::string role_string;
+        node->GetStringAttribute(ax::mojom::StringAttribute::kRole,
+                                 &role_string);
+        ax::mojom::Role role = ui::ParseRole(role_string.c_str());
+        if (role == ax::mojom::Role::kSlider ||
+            role == ax::mojom::Role::kSpinButton) {
+          standard_actions.push_back(
+              ToString(static_cast<api::automation::ActionType>(
+                  ax::mojom::Action::kIncrement)));
+          standard_actions.push_back(
+              ToString(static_cast<api::automation::ActionType>(
+                  ax::mojom::Action::kDecrement)));
+        }
+
         auto actions_result = v8::Array::New(isolate, standard_actions.size());
         for (size_t i = 0; i < standard_actions.size(); i++) {
           const v8::Maybe<bool>& did_set_value = actions_result->Set(
diff --git a/chrome/renderer/searchbox/searchbox_extension.cc b/chrome/renderer/searchbox/searchbox_extension.cc
index 23999ff1..7311716 100644
--- a/chrome/renderer/searchbox/searchbox_extension.cc
+++ b/chrome/renderer/searchbox/searchbox_extension.cc
@@ -216,27 +216,11 @@
   builder.Set("textColorRgba",
               internal::RGBAColorToArray(isolate, theme_info.text_color));
 
-  // Theme color for links as an array with the RGBA components in order.
-  // Value is always valid.
-  builder.Set("linkColorRgba",
-              internal::RGBAColorToArray(isolate, theme_info.link_color));
-
   // Theme color for light text as an array with the RGBA components in order.
   // Value is always valid.
   builder.Set("textColorLightRgba",
               internal::RGBAColorToArray(isolate, theme_info.text_color_light));
 
-  // Theme color for header as an array with the RGBA components in order.
-  // Value is always valid.
-  builder.Set("headerColorRgba",
-              internal::RGBAColorToArray(isolate, theme_info.header_color));
-
-  // Theme color for section border as an array with the RGBA components in
-  // order. Value is always valid.
-  builder.Set(
-      "sectionBorderColorRgba",
-      internal::RGBAColorToArray(isolate, theme_info.section_border_color));
-
   // The theme alternate logo value indicates a white logo when TRUE and a
   // colorful one when FALSE.
   builder.Set("alternateLogo", theme_info.logo_alternate);
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 33de0915..c04a5f92 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1863,6 +1863,7 @@
         "../browser/chromeos/login/reset_browsertest.cc",
         "../browser/chromeos/login/saml/saml_browsertest.cc",
         "../browser/chromeos/login/screens/app_downloading_screen_browsertest.cc",
+        "../browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc",
         "../browser/chromeos/login/screens/fingerprint_setup_browsertest.cc",
         "../browser/chromeos/login/screens/hid_detection_screen_browsertest.cc",
         "../browser/chromeos/login/screens/mock_arc_terms_of_service_screen.cc",
@@ -1890,6 +1891,8 @@
         "../browser/chromeos/login/test/active_directory_login_mixin.h",
         "../browser/chromeos/login/test/device_state_mixin.cc",
         "../browser/chromeos/login/test/device_state_mixin.h",
+        "../browser/chromeos/login/test/embedded_test_server_mixin.cc",
+        "../browser/chromeos/login/test/embedded_test_server_mixin.h",
         "../browser/chromeos/login/test/enrollment_helper_mixin.cc",
         "../browser/chromeos/login/test/enrollment_helper_mixin.h",
         "../browser/chromeos/login/test/enrollment_ui_mixin.cc",
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/compositor/layouts/DisableChromeAnimations.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/compositor/layouts/DisableChromeAnimations.java
index 4b71a11..46b68fa 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/compositor/layouts/DisableChromeAnimations.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/compositor/layouts/DisableChromeAnimations.java
@@ -7,30 +7,21 @@
 import org.junit.rules.ExternalResource;
 
 import org.chromium.chrome.browser.compositor.animation.CompositorAnimationHandler;
-import org.chromium.chrome.browser.compositor.layouts.ChromeAnimation;
 
 /**
- * JUnit 4 rule that disables animations in ChromeAnimation / CompositorAnimationHandler for tests.
+ * JUnit 4 rule that disables animations in CompositorAnimationHandler for tests.
  */
 public class DisableChromeAnimations extends ExternalResource {
     private boolean mOldTestingMode;
-    private float mOldAnimationMultiplier;
 
     @Override
     protected void before() {
-        // old API (ChromeAnimation)
-        mOldAnimationMultiplier = ChromeAnimation.Animation.getAnimationMultiplier();
-        ChromeAnimation.Animation.setAnimationMultiplierForTesting(0f);
-        // new API
         mOldTestingMode = CompositorAnimationHandler.isInTestingMode();
         CompositorAnimationHandler.setTestingMode(true);
     }
 
     @Override
     protected void after() {
-        // old API (ChromeAnimation)
-        ChromeAnimation.Animation.setAnimationMultiplierForTesting(mOldAnimationMultiplier);
-        // new API
         CompositorAnimationHandler.setTestingMode(mOldTestingMode);
     }
 }
diff --git a/chrome/test/data/extensions/api_test/content_scripts/ntp/background.js b/chrome/test/data/extensions/api_test/content_scripts/ntp/background.js
index d31eb37..8ff28ade 100644
--- a/chrome/test/data/extensions/api_test/content_scripts/ntp/background.js
+++ b/chrome/test/data/extensions/api_test/content_scripts/ntp/background.js
@@ -4,8 +4,7 @@
 
 var newTabUrls = [
   'chrome://newtab/',
-  // The tab URL will be redirected to the Local New Tab Page if
-  // features::kUseGoogleLocalNtp is not enabled.
+  // The tab URL for the Local New Tab Page.
   'chrome-search://local-ntp/local-ntp.html',
 ];
 
diff --git a/chrome/test/data/extensions/api_test/tabs/basics/crud2.js b/chrome/test/data/extensions/api_test/tabs/basics/crud2.js
index d0f37879..bdae450 100644
--- a/chrome/test/data/extensions/api_test/tabs/basics/crud2.js
+++ b/chrome/test/data/extensions/api_test/tabs/basics/crud2.js
@@ -4,8 +4,7 @@
 
 var newTabUrls = [
   'chrome://newtab/',
-  // The tab URL will be redirected to the Local New Tab Page if
-  // features::kUseGoogleLocalNtp is not enabled.
+  // The tab URL for to the Local New Tab Page.
   'chrome-search://local-ntp/local-ntp.html',
 ];
 
diff --git a/chrome/test/data/extensions/api_test/tabs/basics/move.js b/chrome/test/data/extensions/api_test/tabs/basics/move.js
index e64c15f..4a0e944 100644
--- a/chrome/test/data/extensions/api_test/tabs/basics/move.js
+++ b/chrome/test/data/extensions/api_test/tabs/basics/move.js
@@ -9,8 +9,7 @@
 
 var newTabUrls = [
   kChromeUINewTabURL,
-  // The tab URL will be redirected to the Local New Tab Page if
-  // features::kUseGoogleLocalNtp is not enabled.
+  // The tab URL for the Local New Tab Page.
   'chrome-search://local-ntp/local-ntp.html',
 ];
 
diff --git a/chrome/test/data/webui/settings/cr_settings_browsertest.js b/chrome/test/data/webui/settings/cr_settings_browsertest.js
index 7f16bff..086ed3c 100644
--- a/chrome/test/data/webui/settings/cr_settings_browsertest.js
+++ b/chrome/test/data/webui/settings/cr_settings_browsertest.js
@@ -2278,6 +2278,30 @@
 });
 
 /**
+ * Test fixture for the Plugin VM page.
+ * @constructor
+ * @extends {CrSettingsBrowserTest}
+ */
+function CrSettingsPluginVmPageTest() {}
+
+CrSettingsPluginVmPageTest.prototype = {
+  __proto__: CrSettingsBrowserTest.prototype,
+
+  /** @override */
+  browsePreload: 'chrome://settings/plugin_vm_page/plugin_vm_page.html',
+
+  extraLibraries: CrSettingsBrowserTest.prototype.extraLibraries.concat([
+    ROOT_PATH + 'ui/webui/resources/js/promise_resolver.js',
+    '../test_browser_proxy.js',
+    'plugin_vm_page_test.js',
+  ]),
+};
+
+TEST_F('CrSettingsPluginVmPageTest', 'All', function() {
+  mocha.run();
+});
+
+/**
  * Test fixture for the Google Play Store (ARC) page.
  * @constructor
  * @extends {CrSettingsBrowserTest}
diff --git a/chrome/test/data/webui/settings/plugin_vm_page_test.js b/chrome/test/data/webui/settings/plugin_vm_page_test.js
new file mode 100644
index 0000000..a858284
--- /dev/null
+++ b/chrome/test/data/webui/settings/plugin_vm_page_test.js
@@ -0,0 +1,120 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/** @implements {settings.PluginVmBrowserProxy} */
+class TestPluginVmBrowserProxy extends TestBrowserProxy {
+  constructor() {
+    super([
+      'getPluginVmSharedPathsDisplayText',
+      'removePluginVmSharedPath',
+    ]);
+  }
+
+  /** override */
+  getPluginVmSharedPathsDisplayText(paths) {
+    this.methodCalled('getPluginVmSharedPathsDisplayText');
+    return Promise.resolve(paths.map(path => path + '-displayText'));
+  }
+
+  /** override */
+  removePluginVmSharedPath(vmName, path) {
+    this.methodCalled('removePluginVmSharedPath', [vmName, path]);
+  }
+}
+
+/** @type {?TestPluginVmBrowserProxy} */
+let pluginVmBrowserProxy = null;
+
+suite('Details', function() {
+  /** @type {?SettingsPluginVmSubpageElement} */
+  let page = null;
+
+  setup(function() {
+    pluginVmBrowserProxy = new TestPluginVmBrowserProxy();
+    settings.PluginVmBrowserProxyImpl.instance_ = pluginVmBrowserProxy;
+    PolymerTest.clearBody();
+    page = document.createElement('settings-plugin-vm-subpage');
+    document.body.appendChild(page);
+  });
+
+  teardown(function() {
+    page.remove();
+  });
+
+  test('Sanity', function() {
+    assertTrue(!!page.$$('#plugin-vm-shared-paths'));
+  });
+});
+
+suite('SharedPaths', function() {
+  /** @type {?SettingsPluginVmSharedPathsElement} */
+  let page = null;
+
+  function setPrefs(sharedPaths) {
+    pluginVmBrowserProxy.resetResolver('getPluginVmSharedPathsDisplayText');
+    page.prefs = {
+      guest_os: {
+        paths_shared_to_vms: {value: sharedPaths},
+      }
+    };
+    return pluginVmBrowserProxy.whenCalled('getPluginVmSharedPathsDisplayText')
+        .then(() => {
+          Polymer.dom.flush();
+        });
+  }
+
+  setup(function() {
+    pluginVmBrowserProxy = new TestPluginVmBrowserProxy();
+    settings.PluginVmBrowserProxyImpl.instance_ = pluginVmBrowserProxy;
+    PolymerTest.clearBody();
+    page = document.createElement('settings-plugin-vm-shared-paths');
+    document.body.appendChild(page);
+  });
+
+  teardown(function() {
+    page.remove();
+  });
+
+  test('Remove', function() {
+    return setPrefs({'path1': ['PluginVm'], 'path2': ['PluginVm']})
+        .then(() => {
+          assertEquals(
+              2, page.shadowRoot.querySelectorAll('.settings-box').length);
+          assertEquals(
+              2, page.shadowRoot.querySelectorAll('.list-item').length);
+          assertFalse(page.$.pluginVmInstructionsRemove.hidden);
+          assertTrue(!!page.$$('.list-item cr-icon-button'));
+
+          // Remove first shared path, still one left.
+          page.$$('.list-item cr-icon-button').click();
+          return pluginVmBrowserProxy.whenCalled('removePluginVmSharedPath');
+        })
+        .then(([vmName, path]) => {
+          assertEquals('PluginVm', vmName);
+          assertEquals('path1', path);
+          return setPrefs({'path2': ['PluginVm']});
+        })
+        .then(() => {
+          assertEquals(
+              1, page.shadowRoot.querySelectorAll('.list-item').length);
+          assertFalse(page.$.pluginVmInstructionsRemove.hidden);
+
+          // Remove remaining shared path, none left.
+          pluginVmBrowserProxy.resetResolver('removePluginVmSharedPath');
+          page.$$('.list-item cr-icon-button').click();
+          return pluginVmBrowserProxy.whenCalled('removePluginVmSharedPath');
+        })
+        .then(([vmName, path]) => {
+          assertEquals('PluginVm', vmName);
+          assertEquals('path2', path);
+          return setPrefs({'ignored': ['ignore']});
+        })
+        .then(() => {
+          assertEquals(
+              0, page.shadowRoot.querySelectorAll('.list-item').length);
+          // Verify remove instructions are hidden.
+          assertTrue(page.$.pluginVmInstructionsRemove.hidden);
+        });
+  });
+});
diff --git a/chromecast/browser/cast_browser_main_parts.cc b/chromecast/browser/cast_browser_main_parts.cc
index 91bde69..021442d 100644
--- a/chromecast/browser/cast_browser_main_parts.cc
+++ b/chromecast/browser/cast_browser_main_parts.cc
@@ -588,9 +588,11 @@
 #endif
 
   // Initializing metrics service and network delegates must happen after cast
-  // service is intialized because CastMetricsServiceClient and
-  // CastNetworkDelegate may use components initialized by cast service.
+  // service is initialized because CastMetricsServiceClient,
+  // CastURLLoaderThrottle and CastNetworkDelegate may use components
+  // initialized by cast service.
   cast_browser_process_->metrics_service_client()->Initialize();
+  cast_content_browser_client_->InitializeURLLoaderThrottleDelegate();
   url_request_context_factory_->InitializeNetworkDelegates();
 
   cast_content_browser_client_->CreateGeneralAudienceBrowsingService();
diff --git a/chromecast/browser/cast_content_browser_client.cc b/chromecast/browser/cast_content_browser_client.cc
index 5ad00bf..85b7ed6 100644
--- a/chromecast/browser/cast_content_browser_client.cc
+++ b/chromecast/browser/cast_content_browser_client.cc
@@ -265,6 +265,8 @@
   return nullptr;
 }
 
+void CastContentBrowserClient::InitializeURLLoaderThrottleDelegate() {}
+
 scoped_refptr<base::SingleThreadTaskRunner>
 CastContentBrowserClient::GetMediaTaskRunner() {
 #if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
diff --git a/chromecast/browser/cast_content_browser_client.h b/chromecast/browser/cast_content_browser_client.h
index 408a2cc..99a2cc6 100644
--- a/chromecast/browser/cast_content_browser_client.h
+++ b/chromecast/browser/cast_content_browser_client.h
@@ -92,6 +92,8 @@
 
   virtual media::VideoModeSwitcher* GetVideoModeSwitcher();
 
+  virtual void InitializeURLLoaderThrottleDelegate();
+
   // Returns the task runner that must be used for media IO.
   scoped_refptr<base::SingleThreadTaskRunner> GetMediaTaskRunner();
 
diff --git a/chromeos/dbus/debug_daemon_client.cc b/chromeos/dbus/debug_daemon_client.cc
index 8e2004f..6cf5b8e 100644
--- a/chromeos/dbus/debug_daemon_client.cc
+++ b/chromeos/dbus/debug_daemon_client.cc
@@ -191,24 +191,6 @@
                        weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
   }
 
-  void GetModemStatus(DBusMethodCallback<std::string> callback) override {
-    dbus::MethodCall method_call(debugd::kDebugdInterface,
-                                 debugd::kGetModemStatus);
-    debugdaemon_proxy_->CallMethod(
-        &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
-        base::BindOnce(&DebugDaemonClientImpl::OnStringMethod,
-                       weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
-  }
-
-  void GetWiMaxStatus(DBusMethodCallback<std::string> callback) override {
-    dbus::MethodCall method_call(debugd::kDebugdInterface,
-                                 debugd::kGetWiMaxStatus);
-    debugdaemon_proxy_->CallMethod(
-        &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
-        base::BindOnce(&DebugDaemonClientImpl::OnStringMethod,
-                       weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
-  }
-
   void GetNetworkInterfaces(DBusMethodCallback<std::string> callback) override {
     dbus::MethodCall method_call(debugd::kDebugdInterface,
                                  debugd::kGetInterfaces);
diff --git a/chromeos/dbus/debug_daemon_client.h b/chromeos/dbus/debug_daemon_client.h
index 5a94a705..258fd18 100644
--- a/chromeos/dbus/debug_daemon_client.h
+++ b/chromeos/dbus/debug_daemon_client.h
@@ -63,12 +63,6 @@
   // Gets information about network status as json.
   virtual void GetNetworkStatus(DBusMethodCallback<std::string> callback) = 0;
 
-  // Gets information about modem status as json.
-  virtual void GetModemStatus(DBusMethodCallback<std::string> callback) = 0;
-
-  // Gets information about WiMAX status as json.
-  virtual void GetWiMaxStatus(DBusMethodCallback<std::string> callback) = 0;
-
   // Gets information about network interfaces as json.
   // For details, please refer to
   // http://gerrit.chromium.org/gerrit/#/c/28045/5/src/helpers/netif.cc
diff --git a/chromeos/dbus/fake_debug_daemon_client.cc b/chromeos/dbus/fake_debug_daemon_client.cc
index 5a2832d..4efff0a7 100644
--- a/chromeos/dbus/fake_debug_daemon_client.cc
+++ b/chromeos/dbus/fake_debug_daemon_client.cc
@@ -90,18 +90,6 @@
       FROM_HERE, base::BindOnce(std::move(callback), base::nullopt));
 }
 
-void FakeDebugDaemonClient::GetModemStatus(
-    DBusMethodCallback<std::string> callback) {
-  base::ThreadTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE, base::BindOnce(std::move(callback), base::nullopt));
-}
-
-void FakeDebugDaemonClient::GetWiMaxStatus(
-    DBusMethodCallback<std::string> callback) {
-  base::ThreadTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE, base::BindOnce(std::move(callback), base::nullopt));
-}
-
 void FakeDebugDaemonClient::GetNetworkInterfaces(
     DBusMethodCallback<std::string> callback) {
   base::ThreadTaskRunnerHandle::Get()->PostTask(
diff --git a/chromeos/dbus/fake_debug_daemon_client.h b/chromeos/dbus/fake_debug_daemon_client.h
index 0079e940..02ca1a9c 100644
--- a/chromeos/dbus/fake_debug_daemon_client.h
+++ b/chromeos/dbus/fake_debug_daemon_client.h
@@ -46,8 +46,6 @@
       bool ipv6,
       DBusMethodCallback<std::vector<std::string>> callback) override;
   void GetNetworkStatus(DBusMethodCallback<std::string> callback) override;
-  void GetModemStatus(DBusMethodCallback<std::string> callback) override;
-  void GetWiMaxStatus(DBusMethodCallback<std::string> callback) override;
   void GetNetworkInterfaces(DBusMethodCallback<std::string> callback) override;
   void GetPerfOutput(base::TimeDelta duration,
                      const std::vector<std::string>& perf_args,
diff --git a/chromeos/services/assistant/assistant_manager_service_impl.cc b/chromeos/services/assistant/assistant_manager_service_impl.cc
index 2c5b55c..c663d5f 100644
--- a/chromeos/services/assistant/assistant_manager_service_impl.cc
+++ b/chromeos/services/assistant/assistant_manager_service_impl.cc
@@ -629,6 +629,8 @@
 void AssistantManagerServiceImpl::OnOpenAndroidApp(
     const action::AndroidAppInfo& app_info,
     const action::InteractionInfo& interaction) {
+  ENSURE_MAIN_THREAD(&AssistantManagerServiceImpl::OnOpenAndroidApp, app_info,
+                     interaction);
   mojom::AndroidAppInfoPtr app_info_ptr = mojom::AndroidAppInfo::New();
   app_info_ptr->package_name = app_info.package_name;
   service_->device_actions()->OpenAndroidApp(
@@ -640,6 +642,8 @@
 void AssistantManagerServiceImpl::OnVerifyAndroidApp(
     const std::vector<action::AndroidAppInfo>& apps_info,
     const action::InteractionInfo& interaction) {
+  ENSURE_MAIN_THREAD(&AssistantManagerServiceImpl::OnVerifyAndroidApp,
+                     apps_info, interaction);
   std::vector<mojom::AndroidAppInfoPtr> apps_info_list;
   for (auto& app_info : apps_info) {
     mojom::AndroidAppInfoPtr app_info_ptr = mojom::AndroidAppInfo::New();
diff --git a/chromeos/strings/chromeos_strings_mr.xtb b/chromeos/strings/chromeos_strings_mr.xtb
index ad8deb0..f0c2e1a 100644
--- a/chromeos/strings/chromeos_strings_mr.xtb
+++ b/chromeos/strings/chromeos_strings_mr.xtb
@@ -6,7 +6,7 @@
 <translation id="2049639323467105390"><ph name="DOMAIN" /> याद्वारे हे डिव्हाइस व्यवस्‍थापित केले जाते.</translation>
 <translation id="2083960536266308407">स्क्रीनवर काहीही आढळले नाही</translation>
 <translation id="2338501278241028356">जवळपासचे डिव्हाइस शोधण्यासाठी ब्लूटूथ सुरू करा</translation>
-<translation id="2805756323405976993">अॅप्लिकेशन</translation>
+<translation id="2805756323405976993">ॲप्लिकेशन</translation>
 <translation id="2872961005593481000">बंद करा</translation>
 <translation id="3147142846278915599">लाँचर (संकालन अॅप्स...)</translation>
 <translation id="4731797938093519117">पालक अ‍ॅक्सेस</translation>
diff --git a/components/arc/arc_util.cc b/components/arc/arc_util.cc
index d6e0d2b..ce030e00 100644
--- a/components/arc/arc_util.cc
+++ b/components/arc/arc_util.cc
@@ -198,7 +198,9 @@
     return;
   }
 
-  if (chromeos::switches::IsArcCpuRestrictionDisabled())
+  // Ignore any calls to restrict the ARC container if the specified command
+  // line flag is set.
+  if (chromeos::switches::IsArcCpuRestrictionDisabled() && do_restrict)
     return;
 
   const login_manager::ContainerCpuRestrictionState state =
diff --git a/components/autofill/core/browser/payments/credit_card_save_manager.cc b/components/autofill/core/browser/payments/credit_card_save_manager.cc
index 284c607..d5d711d 100644
--- a/components/autofill/core/browser/payments/credit_card_save_manager.cc
+++ b/components/autofill/core/browser/payments/credit_card_save_manager.cc
@@ -106,7 +106,7 @@
     bool has_non_focusable_field,
     const CreditCard& card) {
   local_card_save_candidate_ = card;
-  show_save_prompt_ = base::nullopt;
+  show_save_prompt_.reset();
   has_non_focusable_field_ = has_non_focusable_field;
   from_dynamic_change_form_ = from_dynamic_change_form;
 
@@ -143,7 +143,7 @@
   upload_request_ = payments::PaymentsClient::UploadRequestDetails();
   upload_request_.card = card;
   uploading_local_card_ = uploading_local_card;
-  show_save_prompt_ = base::nullopt;
+  show_save_prompt_.reset();
 
   // In an ideal scenario, when uploading a card, we would have:
   //  1) Card number and expiration
@@ -373,7 +373,7 @@
           base::DoNothing());
     }
   } else {
-    if (show_save_prompt_.value()) {
+    if (show_save_prompt_.has_value() && show_save_prompt_.value()) {
       if (base::FeatureList::IsEnabled(
               features::kAutofillSaveCreditCardUsesStrikeSystemV2)) {
         // If the upload failed and the bubble was actually shown (NOT just the
@@ -471,7 +471,7 @@
     // LegacyStrikeDatabase have returned their decisions. Use presence of
     // |show_save_prompt_| as an indicator of LegacyStrikeDatabase retrieving
     // its data.
-    if (show_save_prompt_ != base::nullopt)
+    if (show_save_prompt_.has_value())
       OfferCardUploadSave();
   } else {
     // If the upload details request failed and we *know* we have all possible
@@ -514,16 +514,16 @@
   bool is_mobile_build = false;
 #endif  // #if defined(OS_ANDROID) || defined(OS_IOS)
 
-  // If |show_save_prompt_.value()| is false, desktop builds will still offer
+  // If |show_save_prompt_|'s value is false, desktop builds will still offer
   // save in the omnibox without popping-up the bubble. Mobile builds, however,
   // should not display the offer-to-save infobar at all.
-  if (!is_mobile_build || show_save_prompt_.value()) {
+  if (!is_mobile_build || show_save_prompt_.value_or(true)) {
     if (observer_for_testing_)
       observer_for_testing_->OnOfferLocalSave();
     client_->ConfirmSaveCreditCardLocally(
         local_card_save_candidate_,
         AutofillClient::SaveCreditCardOptions().with_show_prompt(
-            show_save_prompt_.value()),
+            show_save_prompt_.value_or(true)),
         base::BindOnce(&CreditCardSaveManager::OnUserDidDecideOnLocalSave,
                        weak_ptr_factory_.GetWeakPtr()));
 
@@ -532,7 +532,7 @@
       AutofillMetrics::LogSaveCardWithFirstAndLastNameOffered(
           /*is_local=*/true);
   }
-  if (!show_save_prompt_.value()) {
+  if (show_save_prompt_.has_value() && !show_save_prompt_.value()) {
     AutofillMetrics::LogCreditCardSaveNotOfferedDueToMaxStrikesMetric(
         AutofillMetrics::SaveTypeMetric::LOCAL);
   }
@@ -544,10 +544,10 @@
 #else
   bool is_mobile_build = false;
 #endif  // #if defined(OS_ANDROID) || defined(OS_IOS)
-  // If |show_save_prompt_.value()| is false, desktop builds will still offer
+  // If |show_save_prompt_|'s value is false, desktop builds will still offer
   // save in the omnibox without popping-up the bubble. Mobile builds, however,
   // should not display the offer-to-save infobar at all.
-  if (!is_mobile_build || show_save_prompt_.value()) {
+  if (!is_mobile_build || show_save_prompt_.value_or(true)) {
     user_did_accept_upload_prompt_ = false;
     client_->ConfirmSaveCreditCardToCloud(
         upload_request_.card, std::move(legal_message_),
@@ -557,7 +557,7 @@
             .with_should_request_name_from_user(should_request_name_from_user_)
             .with_should_request_expiration_date_from_user(
                 should_request_expiration_date_from_user_)
-            .with_show_prompt(show_save_prompt_.value()),
+            .with_show_prompt(show_save_prompt_.value_or(true)),
         base::BindOnce(&CreditCardSaveManager::OnUserDidDecideOnUploadSave,
                        weak_ptr_factory_.GetWeakPtr()));
     client_->LoadRiskData(
@@ -581,7 +581,7 @@
         AutofillMetrics::UPLOAD_NOT_OFFERED_MAX_STRIKES_ON_MOBILE;
   }
   LogCardUploadDecisions(upload_decision_metrics_);
-  if (!show_save_prompt_.value()) {
+  if (show_save_prompt_.has_value() && !show_save_prompt_.value()) {
     AutofillMetrics::LogCreditCardSaveNotOfferedDueToMaxStrikesMetric(
         AutofillMetrics::SaveTypeMetric::SERVER);
   }
@@ -992,7 +992,7 @@
 
 void CreditCardSaveManager::OnUserDidIgnoreOrDeclineSave(
     const base::string16& card_last_four_digits) {
-  if (show_save_prompt_ != base::nullopt && show_save_prompt_.value()) {
+  if (show_save_prompt_.has_value() && show_save_prompt_.value()) {
     if (base::FeatureList::IsEnabled(
             features::kAutofillSaveCreditCardUsesStrikeSystemV2)) {
       // If the user rejected or ignored save and the offer-to-save bubble or
diff --git a/components/autofill/core/browser/suggestion_selection.cc b/components/autofill/core/browser/suggestion_selection.cc
index 05fd1c4..014881e 100644
--- a/components/autofill/core/browser/suggestion_selection.cc
+++ b/components/autofill/core/browser/suggestion_selection.cc
@@ -228,8 +228,8 @@
   DCHECK_EQ(suggestions->size(), labels.size());
 
   for (size_t i = 0; i < labels.size(); ++i) {
-    (*suggestions)[i].additional_label = base::string16(labels[i]);
-    (*suggestions)[i].label = base::string16(labels[i]);
+    (*suggestions)[i].additional_label = labels[i];
+    (*suggestions)[i].label = labels[i];
 
 #if !defined(OS_ANDROID) && !defined(OS_IOS)
     if (base::FeatureList::IsEnabled(
diff --git a/components/download/content/DEPS b/components/download/content/DEPS
index 98f5933d..aea8a94 100644
--- a/components/download/content/DEPS
+++ b/components/download/content/DEPS
@@ -5,4 +5,5 @@
   "+content/public/test",
   "+base",
   "+net",
+  "+services/network/public/cpp/shared_url_loader_factory.h",
 ]
diff --git a/components/download/content/factory/download_service_factory_helper.cc b/components/download/content/factory/download_service_factory_helper.cc
index 720653b..9d93731d 100644
--- a/components/download/content/factory/download_service_factory_helper.cc
+++ b/components/download/content/factory/download_service_factory_helper.cc
@@ -25,6 +25,7 @@
 #include "components/download/public/task/empty_task_scheduler.h"
 #include "components/leveldb_proto/content/proto_database_provider_factory.h"
 #include "components/leveldb_proto/public/proto_database_provider.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
 
 #if defined(OS_ANDROID)
 #include "components/download/internal/background_service/android/battery_status_listener_android.h"
@@ -95,7 +96,6 @@
 
 // Create download service for normal profile.
 DownloadService* BuildDownloadService(
-    content::BrowserContext* browser_context,
     SimpleFactoryKey* simple_factory_key,
     PrefService* prefs,
     std::unique_ptr<DownloadClientMap> clients,
@@ -107,7 +107,6 @@
   auto config = Configuration::CreateFromFinch();
 
   auto driver = std::make_unique<DownloadDriverImpl>(
-      content::BrowserContext::GetDownloadManager(browser_context),
       download_manager_coordinator);
 
   auto entry_db_storage_dir = storage_dir.Append(kEntryDBStorageDir);
diff --git a/components/download/content/factory/download_service_factory_helper.h b/components/download/content/factory/download_service_factory_helper.h
index f683e03c..70e8a61 100644
--- a/components/download/content/factory/download_service_factory_helper.h
+++ b/components/download/content/factory/download_service_factory_helper.h
@@ -17,10 +17,6 @@
 class SimpleFactoryKey;
 class PrefService;
 
-namespace content {
-class BrowserContext;
-}  // namespace content
-
 namespace network {
 class NetworkConnectionTracker;
 class SharedURLLoaderFactory;
@@ -43,7 +39,6 @@
 // restarts, no files written on completion, etc.).
 // |background_task_runner| will be used for all disk reads and writes.
 DownloadService* BuildDownloadService(
-    content::BrowserContext* browser_context,
     SimpleFactoryKey* simple_factory_key,
     PrefService* prefs,
     std::unique_ptr<DownloadClientMap> clients,
diff --git a/components/download/content/internal/download_driver_impl.cc b/components/download/content/internal/download_driver_impl.cc
index deff1ab8..6d6606e 100644
--- a/components/download/content/internal/download_driver_impl.cc
+++ b/components/download/content/internal/download_driver_impl.cc
@@ -113,18 +113,17 @@
 }
 
 DownloadDriverImpl::DownloadDriverImpl(
-    content::DownloadManager* manager,
     SimpleDownloadManagerCoordinator* download_manager_coordinator)
-    : download_manager_(manager),
-      client_(nullptr),
+    : client_(nullptr),
       download_manager_coordinator_(download_manager_coordinator),
       weak_ptr_factory_(this) {
-  DCHECK(download_manager_);
-  DCHECK(!download_manager_coordinator_ ||
-         !download_manager_coordinator_->HasSetDownloadManager());
+  DCHECK(download_manager_coordinator_);
 }
 
-DownloadDriverImpl::~DownloadDriverImpl() = default;
+DownloadDriverImpl::~DownloadDriverImpl() {
+  if (download_manager_coordinator_)
+    download_manager_coordinator_->GetNotifier()->RemoveObserver(this);
+}
 
 void DownloadDriverImpl::Initialize(DownloadDriver::Client* client) {
   DCHECK(!client_);
@@ -132,13 +131,12 @@
   DCHECK(client_);
 
   // |download_manager_| may be shut down. Informs the client.
-  if (!download_manager_) {
+  if (!download_manager_coordinator_) {
     client_->OnDriverReady(false);
     return;
   }
 
-  notifier_ =
-      std::make_unique<AllDownloadItemNotifier>(download_manager_, this);
+  download_manager_coordinator_->GetNotifier()->AddObserver(this);
 }
 
 void DownloadDriverImpl::HardRecover() {
@@ -149,8 +147,9 @@
 }
 
 bool DownloadDriverImpl::IsReady() const {
-  return client_ && download_manager_ &&
-         download_manager_->IsManagerInitialized();
+  // TODO(qinmin): return true when only active downloads are available.
+  return client_ && download_manager_coordinator_ &&
+         download_manager_coordinator_->has_all_history_downloads();
 }
 
 void DownloadDriverImpl::Start(
@@ -161,7 +160,7 @@
     const net::NetworkTrafficAnnotationTag& traffic_annotation) {
   DCHECK(!request_params.url.is_empty());
   DCHECK(!guid.empty());
-  if (!download_manager_)
+  if (!download_manager_coordinator_)
     return;
 
   std::unique_ptr<DownloadUrlParameters> download_url_params(
@@ -187,9 +186,7 @@
   download_url_params->set_upload_progress_callback(
       base::BindRepeating(&DownloadDriverImpl::OnUploadProgress,
                           weak_ptr_factory_.GetWeakPtr(), guid));
-  download_manager_->DownloadUrl(std::move(download_url_params),
-                                 nullptr /* blob_data_handle */,
-                                 nullptr /* blob_url_loader_factory */);
+  download_manager_coordinator_->DownloadUrl(std::move(download_url_params));
 }
 
 void DownloadDriverImpl::Remove(const std::string& guid, bool remove_file) {
@@ -205,9 +202,9 @@
 
 void DownloadDriverImpl::DoRemoveDownload(const std::string& guid,
                                           bool remove_file) {
-  if (!download_manager_)
+  if (!download_manager_coordinator_)
     return;
-  DownloadItem* item = download_manager_->GetDownloadByGuid(guid);
+  DownloadItem* item = download_manager_coordinator_->GetDownloadByGuid(guid);
   // Cancels the download and removes the persisted records in content layer.
   if (item) {
     // Remove the download file for completed download.
@@ -218,25 +215,25 @@
 }
 
 void DownloadDriverImpl::Pause(const std::string& guid) {
-  if (!download_manager_)
+  if (!download_manager_coordinator_)
     return;
-  DownloadItem* item = download_manager_->GetDownloadByGuid(guid);
+  DownloadItem* item = download_manager_coordinator_->GetDownloadByGuid(guid);
   if (item)
     item->Pause();
 }
 
 void DownloadDriverImpl::Resume(const std::string& guid) {
-  if (!download_manager_)
+  if (!download_manager_coordinator_)
     return;
-  DownloadItem* item = download_manager_->GetDownloadByGuid(guid);
+  DownloadItem* item = download_manager_coordinator_->GetDownloadByGuid(guid);
   if (item)
     item->Resume(true);
 }
 
 base::Optional<DriverEntry> DownloadDriverImpl::Find(const std::string& guid) {
-  if (!download_manager_)
+  if (!download_manager_coordinator_)
     return base::nullopt;
-  DownloadItem* item = download_manager_->GetDownloadByGuid(guid);
+  DownloadItem* item = download_manager_coordinator_->GetDownloadByGuid(guid);
   if (item)
     return CreateDriverEntry(item);
   return base::nullopt;
@@ -244,11 +241,11 @@
 
 std::set<std::string> DownloadDriverImpl::GetActiveDownloads() {
   std::set<std::string> guids;
-  if (!download_manager_)
+  if (!download_manager_coordinator_)
     return guids;
 
   std::vector<DownloadItem*> items;
-  download_manager_->GetAllDownloads(&items);
+  download_manager_coordinator_->GetAllDownloads(&items);
 
   for (auto* item : items) {
     DriverEntry::State state = ToDriverEntryState(item->GetState());
@@ -260,12 +257,12 @@
 }
 
 size_t DownloadDriverImpl::EstimateMemoryUsage() const {
-  return base::trace_event::EstimateMemoryUsage(guid_to_remove_) +
-         notifier_->EstimateMemoryUsage();
+  return base::trace_event::EstimateMemoryUsage(guid_to_remove_);
 }
 
-void DownloadDriverImpl::OnDownloadUpdated(content::DownloadManager* manager,
-                                           DownloadItem* item) {
+void DownloadDriverImpl::OnDownloadUpdated(
+    SimpleDownloadManagerCoordinator* coordinator,
+    DownloadItem* item) {
   DCHECK(client_);
   // Blocks the observer call if we asked to remove the download.
   if (guid_to_remove_.find(item->GetGuid()) != guid_to_remove_.end())
@@ -287,14 +284,16 @@
   }
 }
 
-void DownloadDriverImpl::OnDownloadRemoved(content::DownloadManager* manager,
-                                           DownloadItem* download) {
+void DownloadDriverImpl::OnDownloadRemoved(
+    SimpleDownloadManagerCoordinator* coordinator,
+    DownloadItem* download) {
   guid_to_remove_.erase(download->GetGuid());
   // |download| is about to be deleted.
 }
 
-void DownloadDriverImpl::OnDownloadCreated(content::DownloadManager* manager,
-                                           DownloadItem* item) {
+void DownloadDriverImpl::OnDownloadCreated(
+    SimpleDownloadManagerCoordinator* coordinator,
+    DownloadItem* item) {
   if (guid_to_remove_.find(item->GetGuid()) != guid_to_remove_.end()) {
     // Client has removed the download before content persistence layer created
     // the record, remove the download immediately.
@@ -321,17 +320,24 @@
   client_->OnUploadProgress(guid, bytes_uploaded);
 }
 
-void DownloadDriverImpl::OnManagerInitialized(
-    content::DownloadManager* manager) {
-  DCHECK_EQ(download_manager_, manager);
-  DCHECK(client_);
-  DCHECK(download_manager_);
-  client_->OnDriverReady(true);
+void DownloadDriverImpl::OnDownloadsInitialized(
+    SimpleDownloadManagerCoordinator* coordinator,
+    bool active_downloads_only) {
+  DCHECK_EQ(download_manager_coordinator_, coordinator);
+  DCHECK(download_manager_coordinator_);
+
+  if (!client_)
+    return;
+  // TODO(qinmin): allow client_ to be used even if only active downloads are
+  // ready.
+  if (!active_downloads_only)
+    client_->OnDriverReady(true);
 }
 
-void DownloadDriverImpl::OnManagerGoingDown(content::DownloadManager* manager) {
-  DCHECK_EQ(download_manager_, manager);
-  download_manager_ = nullptr;
+void DownloadDriverImpl::OnManagerGoingDown(
+    SimpleDownloadManagerCoordinator* coordinator) {
+  DCHECK_EQ(download_manager_coordinator_, coordinator);
+  download_manager_coordinator_ = nullptr;
 }
 
 void DownloadDriverImpl::OnHardRecoverComplete(bool success) {
diff --git a/components/download/content/internal/download_driver_impl.h b/components/download/content/internal/download_driver_impl.h
index 67702bf..38c406ed 100644
--- a/components/download/content/internal/download_driver_impl.h
+++ b/components/download/content/internal/download_driver_impl.h
@@ -11,11 +11,9 @@
 
 #include "base/files/file_path.h"
 #include "base/memory/weak_ptr.h"
-#include "components/download/content/public/all_download_item_notifier.h"
 #include "components/download/internal/background_service/download_driver.h"
 #include "components/download/public/background_service/download_params.h"
-#include "content/public/browser/browser_context.h"
-#include "content/public/browser/download_manager.h"
+#include "components/download/public/common/all_download_event_notifier.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
 
 namespace download {
@@ -27,14 +25,13 @@
 // Aggregates and handles all interaction between download service and content
 // download logic.
 class DownloadDriverImpl : public DownloadDriver,
-                           public AllDownloadItemNotifier::Observer {
+                           public AllDownloadEventNotifier::Observer {
  public:
   // Creates a driver entry based on a download item.
   static DriverEntry CreateDriverEntry(const download::DownloadItem* item);
 
   // Create the driver.
   DownloadDriverImpl(
-      content::DownloadManager* manager,
       SimpleDownloadManagerCoordinator* download_manager_coordinator);
   ~DownloadDriverImpl() override;
 
@@ -56,14 +53,16 @@
   size_t EstimateMemoryUsage() const override;
 
  private:
-  // content::AllDownloadItemNotifier::Observer implementation.
-  void OnManagerInitialized(content::DownloadManager* manager) override;
-  void OnManagerGoingDown(content::DownloadManager* manager) override;
-  void OnDownloadCreated(content::DownloadManager* manager,
+  // content::AllDownloadEventNotifier::Observer implementation.
+  void OnDownloadsInitialized(SimpleDownloadManagerCoordinator* coordinator,
+                              bool active_downloads_only) override;
+  void OnManagerGoingDown(
+      SimpleDownloadManagerCoordinator* coordinator) override;
+  void OnDownloadCreated(SimpleDownloadManagerCoordinator* coordinator,
                          download::DownloadItem* item) override;
-  void OnDownloadUpdated(content::DownloadManager* manager,
+  void OnDownloadUpdated(SimpleDownloadManagerCoordinator* coordinator,
                          download::DownloadItem* item) override;
-  void OnDownloadRemoved(content::DownloadManager* manager,
+  void OnDownloadRemoved(SimpleDownloadManagerCoordinator* coordinator,
                          download::DownloadItem* item) override;
 
   void OnUploadProgress(const std::string& guid, uint64_t bytes_uploaded);
@@ -73,15 +72,9 @@
   // Remove the download, used to be posted to the task queue.
   void DoRemoveDownload(const std::string& guid, bool remove_file);
 
-  // Low level download handle.
-  content::DownloadManager* download_manager_;
-
   // The client that receives updates from low level download logic.
   DownloadDriver::Client* client_;
 
-  // Built lazily on initialize and destroyed when/if the manager is torn down.
-  std::unique_ptr<AllDownloadItemNotifier> notifier_;
-
   // Pending guid set of downloads that will be removed soon.
   std::set<std::string> guid_to_remove_;
 
diff --git a/components/download/content/internal/download_driver_impl_unittest.cc b/components/download/content/internal/download_driver_impl_unittest.cc
index 28628fd..19d24286 100644
--- a/components/download/content/internal/download_driver_impl_unittest.cc
+++ b/components/download/content/internal/download_driver_impl_unittest.cc
@@ -12,8 +12,8 @@
 #include "base/threading/thread_task_runner_handle.h"
 #include "components/download/content/public/all_download_item_notifier.h"
 #include "components/download/internal/background_service/test/mock_download_driver_client.h"
+#include "components/download/public/common//mock_simple_download_manager.h"
 #include "content/public/test/fake_download_item.h"
-#include "content/public/test/mock_download_manager.h"
 #include "net/http/http_response_headers.h"
 #include "net/http/http_util.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -59,11 +59,13 @@
   void SetUp() override {
     EXPECT_CALL(mock_client_, IsTrackingDownload(_))
         .WillRepeatedly(Return(true));
-    driver_ = std::make_unique<DownloadDriverImpl>(&mock_manager_, nullptr);
+    driver_ = std::make_unique<DownloadDriverImpl>(&coordinator_);
+    coordinator_.SetSimpleDownloadManager(&mock_manager_, true);
   }
 
   // TODO(xingliu): implements test download manager for embedders to test.
-  NiceMock<content::MockDownloadManager> mock_manager_;
+  SimpleDownloadManagerCoordinator coordinator_;
+  NiceMock<MockSimpleDownloadManager> mock_manager_;
   MockDriverClient mock_client_;
   std::unique_ptr<DownloadDriverImpl> driver_;
 
@@ -77,20 +79,18 @@
 
 // Ensure the download manager can be initialized after the download driver.
 TEST_F(DownloadDriverImplTest, ManagerLateInitialization) {
-  EXPECT_CALL(mock_manager_, IsManagerInitialized())
-      .Times(1)
-      .WillOnce(Return(false));
   driver_->Initialize(&mock_client_);
 
-  EXPECT_CALL(mock_client_, OnDriverReady(true));
-  static_cast<AllDownloadItemNotifier::Observer*>(driver_.get())
-      ->OnManagerInitialized(&mock_manager_);
+  EXPECT_CALL(mock_client_, OnDriverReady(true)).Times(0);
+  static_cast<AllDownloadEventNotifier::Observer*>(driver_.get())
+      ->OnDownloadsInitialized(&coordinator_, true);
+
+  EXPECT_CALL(mock_client_, OnDriverReady(true)).Times(1);
+  static_cast<AllDownloadEventNotifier::Observer*>(driver_.get())
+      ->OnDownloadsInitialized(&coordinator_, false);
 }
 
 TEST_F(DownloadDriverImplTest, TestHardRecover) {
-  EXPECT_CALL(mock_manager_, IsManagerInitialized())
-      .Times(1)
-      .WillOnce(Return(false));
   driver_->Initialize(&mock_client_);
 
   EXPECT_CALL(mock_client_, OnDriverHardRecoverComplete(true)).Times(1);
@@ -102,14 +102,10 @@
 TEST_F(DownloadDriverImplTest, RemoveBeforeCreated) {
   using DownloadState = download::DownloadItem::DownloadState;
 
-  EXPECT_CALL(mock_manager_, IsManagerInitialized())
-      .Times(1)
-      .WillOnce(Return(false));
   driver_->Initialize(&mock_client_);
 
   EXPECT_CALL(mock_client_, OnDriverReady(true));
-  static_cast<AllDownloadItemNotifier::Observer*>(driver_.get())
-      ->OnManagerInitialized(&mock_manager_);
+  mock_manager_.NotifyOnDownloadInitialized();
 
   const std::string kTestGuid = "abc";
   content::FakeDownloadItem fake_item;
@@ -126,8 +122,8 @@
   ON_CALL(mock_manager_, GetDownloadByGuid(kTestGuid))
       .WillByDefault(Return(&fake_item));
   EXPECT_CALL(mock_client_, OnDownloadCreated(_)).Times(0);
-  static_cast<AllDownloadItemNotifier::Observer*>(driver_.get())
-      ->OnDownloadCreated(&mock_manager_, &fake_item);
+  static_cast<AllDownloadEventNotifier::Observer*>(driver_.get())
+      ->OnDownloadCreated(&coordinator_, &fake_item);
   task_runner_->RunUntilIdle();
 
   // Expect a remove call down to content layer download item.
@@ -139,9 +135,7 @@
   using DownloadState = download::DownloadItem::DownloadState;
   using DownloadInterruptReason = download::DownloadInterruptReason;
 
-  EXPECT_CALL(mock_manager_, IsManagerInitialized())
-      .Times(1)
-      .WillOnce(Return(true));
+  mock_manager_.NotifyOnDownloadInitialized();
   EXPECT_CALL(mock_client_, OnDriverReady(true)).Times(1);
   driver_->Initialize(&mock_client_);
 
@@ -155,13 +149,13 @@
   EXPECT_CALL(mock_client_, OnDownloadUpdated(DriverEntryEqual(entry)))
       .Times(1)
       .RetiresOnSaturation();
-  static_cast<AllDownloadItemNotifier::Observer*>(driver_.get())
-      ->OnDownloadUpdated(&mock_manager_, &fake_item);
+  static_cast<AllDownloadEventNotifier::Observer*>(driver_.get())
+      ->OnDownloadUpdated(&coordinator_, &fake_item);
 
   // Nothing happens for cancelled state.
   fake_item.SetState(DownloadState::CANCELLED);
-  static_cast<AllDownloadItemNotifier::Observer*>(driver_.get())
-      ->OnDownloadUpdated(&mock_manager_, &fake_item);
+  static_cast<AllDownloadEventNotifier::Observer*>(driver_.get())
+      ->OnDownloadUpdated(&coordinator_, &fake_item);
 
   fake_item.SetReceivedBytes(1024);
   fake_item.SetState(DownloadState::COMPLETE);
@@ -170,8 +164,8 @@
   EXPECT_CALL(mock_client_, OnDownloadSucceeded(DriverEntryEqual(entry)))
       .Times(1)
       .RetiresOnSaturation();
-  static_cast<AllDownloadItemNotifier::Observer*>(driver_.get())
-      ->OnDownloadUpdated(&mock_manager_, &fake_item);
+  static_cast<AllDownloadEventNotifier::Observer*>(driver_.get())
+      ->OnDownloadUpdated(&coordinator_, &fake_item);
 
   fake_item.SetState(DownloadState::INTERRUPTED);
   fake_item.SetLastReason(
@@ -181,8 +175,8 @@
                                              FailureType::RECOVERABLE))
       .Times(1)
       .RetiresOnSaturation();
-  static_cast<AllDownloadItemNotifier::Observer*>(driver_.get())
-      ->OnDownloadUpdated(&mock_manager_, &fake_item);
+  static_cast<AllDownloadEventNotifier::Observer*>(driver_.get())
+      ->OnDownloadUpdated(&coordinator_, &fake_item);
 }
 
 TEST_F(DownloadDriverImplTest, TestGetActiveDownloadsCall) {
@@ -208,9 +202,7 @@
   ON_CALL(mock_manager_, GetAllDownloads(_))
       .WillByDefault(PopulateVector(items));
 
-  EXPECT_CALL(mock_manager_, IsManagerInitialized())
-      .Times(1)
-      .WillOnce(Return(true));
+  mock_manager_.NotifyOnDownloadInitialized();
   EXPECT_CALL(mock_client_, OnDriverReady(true)).Times(1);
   driver_->Initialize(&mock_client_);
 
diff --git a/components/download/internal/common/simple_download_manager_coordinator.cc b/components/download/internal/common/simple_download_manager_coordinator.cc
index 3eb8196..86fbb1e 100644
--- a/components/download/internal/common/simple_download_manager_coordinator.cc
+++ b/components/download/internal/common/simple_download_manager_coordinator.cc
@@ -20,6 +20,8 @@
       weak_factory_(this) {}
 
 SimpleDownloadManagerCoordinator::~SimpleDownloadManagerCoordinator() {
+  if (simple_download_manager_)
+    simple_download_manager_->RemoveObserver(this);
   for (auto& observer : observers_)
     observer.OnManagerGoingDown();
 }
@@ -70,10 +72,6 @@
   return nullptr;
 }
 
-bool SimpleDownloadManagerCoordinator::HasSetDownloadManager() {
-  return simple_download_manager_;
-}
-
 void SimpleDownloadManagerCoordinator::OnDownloadsInitialized() {
   initialized_ = true;
   has_all_history_downloads_ = current_manager_has_all_history_downloads_;
diff --git a/components/download/public/common/simple_download_manager_coordinator.h b/components/download/public/common/simple_download_manager_coordinator.h
index 9294e60..e73cb2c1 100644
--- a/components/download/public/common/simple_download_manager_coordinator.h
+++ b/components/download/public/common/simple_download_manager_coordinator.h
@@ -63,9 +63,6 @@
   // Get the download item for |guid|.
   DownloadItem* GetDownloadByGuid(const std::string& guid);
 
-  // Return whether this object has download manager set.
-  bool HasSetDownloadManager();
-
   // Returns a non-empty notifier to be used for observing download events.
   AllDownloadEventNotifier* GetNotifier();
 
diff --git a/components/error_page/common/localized_error.cc b/components/error_page/common/localized_error.cc
index 760b7dc..1c19737 100644
--- a/components/error_page/common/localized_error.cc
+++ b/components/error_page/common/localized_error.cc
@@ -252,12 +252,6 @@
    SUGGEST_CONTACT_ADMINISTRATOR,
    SHOW_NO_BUTTONS,
   },
-  {net::ERR_SSL_VERSION_INTERFERENCE,
-   IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
-   IDS_ERRORPAGES_SUMMARY_CONNECTION_FAILED,
-   SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG,
-   SHOW_BUTTON_RELOAD,
-  },
   {net::ERR_TLS13_DOWNGRADE_DETECTED,
    IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
    IDS_ERRORPAGES_SUMMARY_CONNECTION_FAILED,
diff --git a/components/offline_items_collection/core/rename_result.h b/components/offline_items_collection/core/rename_result.h
index 67e4e5c..7370611 100644
--- a/components/offline_items_collection/core/rename_result.h
+++ b/components/offline_items_collection/core/rename_result.h
@@ -7,6 +7,8 @@
 
 // The type of download rename dialog that should by shown by Android.
 // A Java counterpart will be generated for this enum.
+// Please treat this list as append only and keep it in sync with
+// Android.Download.Rename.Result in enums.xml.
 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.offline_items_collection
 enum class RenameResult {
   SUCCESS = 0,                // Rename filename successfully
diff --git a/components/omnibox/browser/autocomplete_match.cc b/components/omnibox/browser/autocomplete_match.cc
index e1c8d69..78432c9 100644
--- a/components/omnibox/browser/autocomplete_match.cc
+++ b/components/omnibox/browser/autocomplete_match.cc
@@ -244,7 +244,9 @@
 
     case Type::SEARCH_HISTORY: {
       if (base::FeatureList::IsEnabled(
-              omnibox::kOmniboxSuggestionTransparencyOptions)) {
+              omnibox::kOmniboxSuggestionTransparencyOptions) ||
+          base::FeatureList::IsEnabled(
+              omnibox::kOmniboxUICuesForSearchHistoryMatches)) {
         return omnibox::kClockIcon;
       }
       return vector_icons::kSearchIcon;
diff --git a/components/omnibox/browser/keyword_provider.cc b/components/omnibox/browser/keyword_provider.cc
index a3a1a95..b4e2fbb 100644
--- a/components/omnibox/browser/keyword_provider.cc
+++ b/components/omnibox/browser/keyword_provider.cc
@@ -505,16 +505,14 @@
       // No query input; return a generic, no-destination placeholder.
       match->contents.assign(
           l10n_util::GetStringUTF16(IDS_EMPTY_KEYWORD_VALUE));
-      match->contents_class.push_back(
-          ACMatchClassification(0, ACMatchClassification::DIM));
+      match->contents_class.emplace_back(0, ACMatchClassification::DIM);
     } else {
       // Keyword or extension that has no replacement text (aka a shorthand for
       // a URL).
       match->destination_url = GURL(element->url());
       match->contents.assign(element->short_name());
-      AutocompleteMatch::ClassifyLocationInString(0, match->contents.length(),
-          match->contents.length(), ACMatchClassification::NONE,
-          &match->contents_class);
+      if (!element->short_name().empty())
+        match->contents_class.emplace_back(0, ACMatchClassification::MATCH);
     }
   } else {
     // Create destination URL by escaping user input and substituting into
@@ -529,8 +527,7 @@
     match->destination_url = GURL(element_ref.ReplaceSearchTerms(
         search_terms_args, GetTemplateURLService()->search_terms_data()));
     match->contents = remaining_input;
-    match->contents_class.push_back(
-        ACMatchClassification(0, ACMatchClassification::NONE));
+    match->contents_class.emplace_back(0, ACMatchClassification::NONE);
   }
 }
 
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
index 6d3cb390..4faf829 100644
--- a/components/omnibox/common/omnibox_features.cc
+++ b/components/omnibox/common/omnibox_features.cc
@@ -117,6 +117,12 @@
 const base::Feature kOmniboxSuggestionTransparencyOptions{
     "OmniboxSuggestionTransparencyOptions", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Feature that shows UI cues to differentiate Search History matches from
+// other search suggestions provided by the default search provider. This
+// feature is a narrow subset of kOmniboxSuggestionTransparencyOptions.
+const base::Feature kOmniboxUICuesForSearchHistoryMatches{
+    "OmniboxUICuesForSearchHistoryMatches", base::FEATURE_DISABLED_BY_DEFAULT};
+
 // Feature to enable clipboard provider to suggest copied text.
 const base::Feature kEnableClipboardProviderTextSuggestions{
     "OmniboxEnableClipboardProviderTextSuggestions",
diff --git a/components/omnibox/common/omnibox_features.h b/components/omnibox/common/omnibox_features.h
index 9e866100d..5607734 100644
--- a/components/omnibox/common/omnibox_features.h
+++ b/components/omnibox/common/omnibox_features.h
@@ -25,6 +25,7 @@
 extern const base::Feature kExperimentalKeywordMode;
 extern const base::Feature kOmniboxPedalSuggestions;
 extern const base::Feature kOmniboxSuggestionTransparencyOptions;
+extern const base::Feature kOmniboxUICuesForSearchHistoryMatches;
 extern const base::Feature kEnableClipboardProviderTextSuggestions;
 extern const base::Feature kEnableClipboardProviderImageSuggestions;
 extern const base::Feature kSearchProviderWarmUpOnFocus;
diff --git a/components/policy/resources/policy_templates_ar.xtb b/components/policy/resources/policy_templates_ar.xtb
index ea6c797e..94f14d3 100644
--- a/components/policy/resources/policy_templates_ar.xtb
+++ b/components/policy/resources/policy_templates_ar.xtb
@@ -54,6 +54,13 @@
 <translation id="1049138910114524876">‏تهيئ اللغة التي تم فرضها في شاشة تسجيل الدخول لـ <ph name="PRODUCT_OS_NAME" />.
 
       إذا تم تعيين هذه السياسة، فسيتم دائمًا عرض شاشة تسجيل الدخول باللغة التي يتم تقديمها من خلال القيمة الأولى لهذه السياسة (يتم تعريف السياسة كقائمة لتوافق إعادة التوجيه).  وإذا لم يتم تعيين هذه السياسة أو تم تعيينها إلى قائمة فارغة، فسيتم عرض شاشة تسجيل الدخول باللغة التابعة لآخر جلسة مستخدم. وإذا تم تعيين هذه السياسة على قيمة لا تمثل لغة صالحة، فسيتم عرض شاشة تسجيل الدخول باللغة البديلة (حاليًا، "en-US").</translation>
+<translation id="1052499923181221200">‏ليس لهذه السياسة تأثير إلا إذا تم ضبط SamlInSessionPasswordChangeEnabled على "True".
+      في حال ضبط هذه السياسة على "True"، وتم ضبط هذه السياسة على (مثلاً) 14، ذلك يعني أنه سيتم إشعار مستخدمي SAML قبل 14 يومًا من انتهاء صلاحية كلمة مرورهم في يوم معين.
+      وبعد ذلك يمكنهم التعامل مع هذا الأمر فورًا عن طريق إجراء تغيير كلمة المرور في الجلسة وتحديث كلمة مرورهم قبل انتهاء صلاحيتها.
+      ولكن سيتم عرض هذه الإشعارات فقط في حال إرسال معلومات انتهاء صلاحية كلمة المرور إلى الجهاز من خلال موفّر هوية SAML أثناء تدفق تسجيل الدخول إلى SAML.
+      ويعني إعداد هذه السياسة على "ZERO" أنه لن يتم إشعار المستخدمين مسبقًا - سيتم إشعارهم فقط عند انتهاء صلاحية كلمة المرور سابقًا.
+
+      في حال ضبط هذه السياسة، لا يمكن للمستخدم تغييرها أو إلغاؤها.</translation>
 <translation id="1062011392452772310">تفعيل التأكيد عن بُعد للجهاز</translation>
 <translation id="1062407476771304334">استبدال</translation>
 <translation id="1079801999187584280">عدم السماح باستخدام "أدوات المطوّرين"</translation>
@@ -209,6 +216,7 @@
       في حال تفعيل السياسة، سيتم السماح لـ "مساعد Google" بالوصول إلى سياق الشاشة.
       في حال إيقاف السياسة، لن يتم السماح لـ "مساعد Google" بالوصول إلى سياق الشاشة.
       في حال عدم ضبط السياسة، يمكن للمستخدمين تقرير إما السماح لـ "مساعد Google" بالوصول إلى سياق الشاشة أو لا.</translation>
+<translation id="1376119291123231789">تفعيل وضع شحن البطارية المتقدم</translation>
 <translation id="1383493480903114193">‏تفرض هذه السياسة تشغيل رمز الاتصال بالشبكات في معالجة المتصفِّح.
 
       يتم إيقاف هذه السياسة تلقائيًا وفي حال تم تفعيلها، سيؤدي ذلك إلى تعرُّض المستخدمين لمشاكل الأمان بعد إدخال معالجة الاتصال بالشبكات في وضع الحماية.
@@ -307,6 +315,18 @@
 <translation id="1477934438414550161">طبقة النقل الآمنة 1.2</translation>
 <translation id="1502843533062797703">تفعيل حظر إدخال برامج الجهات الخارجية</translation>
 <translation id="1504431521196476721">التأكيد عن بُعد</translation>
+<translation id="1507382822467487898">‏
+          تضبط هذه السياسة عنوان MAC (عنصر تحكُّم الوسائط) الذي سيتم استخدامه عندما يرتبط الإرساء بالجهاز.
+
+          عند ربط الإرساء ببعض نماذج الأجهزة، سيتم استخدام عنوان MAC للإرساء المُحدّد للجهاز للتعرّف على الجهاز على الإيثرنت تلقائيًا. تتيح هذه السياسة للمشرف تغيير مصدر عنوان MAC أثناء الإرساء.
+
+          في حال اختيار "DeviceDockMacAddress" أو ترك السياسة بدون ضبط، سيتم استخدام عنوان MAC للإرساء المُحدّد للجهاز.
+
+          في حال تم اختيار "DeviceNicMacAddress"، سيتم استخدام عنوان NIC (وحدة تحكم واجهة مستخدم الشبكة) MAC للجهاز.
+
+          في حال تم اختيار "DockNicMacAddress"، سيتم استخدام عنوان إرساء NIC MAC.
+
+          لا يمكن للمستخدم تغيير هذا الإعداد.</translation>
 <translation id="1507957856411744193">‏في حال ضبط هذه السياسة على القيمة "صحيح"، سيتصل <ph name="PRODUCT_NAME" /> بأجهزة البث في جميع عناوين IP، وليس عناوين RFC1918/RFC4193 الخاصة فقط.
           في حال ضبط هذه السياسة على القيمة "خطأ"، لن يتصل <ph name="PRODUCT_NAME" /> بأجهزة البث إلا في عناوين RFC1918/RFC4193 الخاصة.
 
@@ -736,6 +756,17 @@
 <translation id="2303795211377219696">تفعيل الملء التلقائي لبطاقات الائتمان</translation>
 <translation id="2309390639296060546">إعدادات الموقع الجغرافي التلقائي</translation>
 <translation id="2327252517317514801">‏تحديد النطاقات المسموح لها بالوصول إلى G Suite</translation>
+<translation id="2356878440219553005">‏تحدّد هذه السياسة سياسة إدارة الطاقة لوضع شحن البطارية.
+
+          تتحكَّم هذه السياسة في شحن البطارية ديناميكيًا للحد من تآكل البطارية بسبب ضغط البطارية وإطالة عمرها الافتراضي.
+
+          في حال اختيار وضع شحن البطارية المُخصّص، حينئذٍ يجب تحديد DeviceBatteryChargeCustomStartCharging وDeviceBatteryChargeCustomStopCharging.
+
+          في حال ضبط هذه السياسة، حينئذٍ سيتم تطبيق وضع شحن البطارية في حال توفره على الجهاز.
+
+          في حال ترك هذه السياسة بدون ضبط مع توفير السياسة على الجهاز، سيتم تطبيق وضع شحن البطارية القياسي ولا يمكن للمستخدم تغييره.
+
+          ملاحظة: يلغي <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> هذه السياسة في حال تحديد السابق.</translation>
 <translation id="237494535617297575">‏للسماح لك بتعيين قائمة أنماط عناوين URL التي تحدد المواقع التي يُسمح لها بعرض الإشعارات. إذا تم ترك هذه السياسة بدون تعيين، فسيتم استخدام القيمة التلقائية العامة لجميع المواقع إما من السياسة 'DefaultNotificationsSetting' إذا كان قد تم تعيينها أو من التهيئة الشخصية للمستخدم.</translation>
 <translation id="2386362615870139244">السماح بمفاتيح قفل تشغيل الشاشة</translation>
 <translation id="2411817661175306360">تم إيقاف تحذير حماية كلمة المرور.</translation>
@@ -771,6 +802,7 @@
 
       في حالة ضبط هذه السياسة على False، لا يمكن تجاوز إعداد تسجيل الدخول تلقائيًا بدون مهلة (في حالة تهيئته).</translation>
 <translation id="2454228136871844693">تحسين الثبات</translation>
+<translation id="2463034609187171371">‏تفعّل هذه السياسة مجموعات تشفير DHE في طبقة النقل الآمنة</translation>
 <translation id="2463365186486772703">لغة التطبيق</translation>
 <translation id="2466131534462628618">تتجاهل مصادقة المداخل مقيدة الوصول الخادم الوكيل</translation>
 <translation id="2482676533225429905">الرسائل الأصلية</translation>
@@ -931,6 +963,7 @@
 <translation id="2769952903507981510">تهيئة اسم النطاق المطلوب لعمليات استضافة الدخول عن بُعد</translation>
 <translation id="2787173078141616821">‏إبلاغ المعلومات حول حالة Android</translation>
 <translation id="2799297758492717491">‏السماح بالتشغيل التلقائي للوسائط في أنماط عناوين URL المُدرجة في القائمة البيضاء</translation>
+<translation id="2801155097555584385">تضبط هذه السياسة شحن البطارية المُخصص عند بدء الشحن بالنسبة المئوية</translation>
 <translation id="2801230735743888564">‏السماح للمستخدمين بتشغيل لعبة Dinosaur Easter Egg عندما يكون الجهاز بلا اتصال.
 
       إذا تم تعيين هذه السياسة على "False"، فلن يتمكن المستخدمون من تشغيل لعبة Dinosaur Easter Egg عندما يكون الجهاز بلا اتصال. وإذا تم تعيين هذا الإعداد على "True"، فسيتم السماح للمستخدمين بتشغيل لعبة Dinosaur. وإذا لم يتم تعيين هذه السياسة، فلن يتم السماح للمستخدمين بتشغيل لعبة Dinosaur Easter Egg في نظام تشغيل Chrome المُسجل، ولكن يتم السماح لهم بتشغيل هذه اللعبة في ظل ظروف أخرى.</translation>
@@ -1006,6 +1039,7 @@
       إذا عطَّلتَ هذا الإعداد أو لم تعيّن قيمة، فستستخدم معاينة الطباعة آخر طابعة مستخدمة باعتبارها خيار الوجهة التلقائي.
 
       إذا مكَّنتَ هذا الإعداد، فستستخدم معاينة الطباعة الطابعة التلقائية لنظام التشغيل باعتبارها خيار الوجهة التلقائي.</translation>
+<translation id="285627849510728211">ضبط إعداد يومي لوضع شحن البطارية المتقدم</translation>
 <translation id="2856674246949497058">‏يمكنك العودة إلى الإصدار المستهدف والاستمرار في استخدامه في حال كان إصدار نظام التشغيل أحدث من الإصدار المستهدف. ويمكنك تنفيذ عملية Powerwash في هذه الأثناء.</translation>
 <translation id="2872961005593481000">إيقاف التشغيل</translation>
 <translation id="2873651257716068683">يُلغَي حجم صفحة الطباعة التلقائية. وفي حال عدم توفُّر حجم الصفحة، سيتم تجاهل هذه السياسة.</translation>
@@ -1135,12 +1169,26 @@
 <translation id="3072045631333522102">شاشة التوقف المراد استخدامها على شاشة تسجيل الدخول في وضع البيع بالتجزئة</translation>
 <translation id="3072847235228302527">تعيين بنود الخدمة لحساب محلي على الجهاز</translation>
 <translation id="3077183141551274418">تفعيل دورات حياة علامات التبويب أو إيقافها</translation>
+<translation id="3079417254871857650">‏تُحدِّد هذه السياسة الإجراء الذي يجب اتخاذه عند إنشاء دليل الصفحة الرئيسية للمستخدم باستخدام نظام التشفير ecryptfs.
+
+      في حال ضبط هذه السياسة على "DisallowArc"، سيتم إيقاف تطبيقات Android للمستخدمين ولن يتم تنفيذ عمليات ترحيل من نظام التشفير ecryptfs إلى تشفير ext4. لن يتم منع تطبيقات Android من العمل عندما يكون دليل الصفحة الرئيسية مشفّرًا باستخدام ext4 من قبل.
+
+      في حال ضبط هذه السياسة على "Migrate"، سيتم ترحيل أدلة الصفحة الرئيسية بنظام التشفير ecryptfs إلى نظام التشفير ext4 تلقائيًا عند تسجيل الدخول وبدون طلب موافقة المستخدم.
+
+      في حال ضبط هذه السياسة على "Wipe"، سيتم حذف أدلة الصفحة الرئيسية بنظام تشفير ecryptfs عند تسجيل الدخول وسيتم إنشاء أدلة صفحة رئيسية بنظام تشفير ext4 بدلاً منها. تحذير: سيؤدي هذا إلى إزالة البيانات المحلية للمستخدم.
+
+      في حال ضبط هذه السياسة على "MinimalMigrate"، سيتم حذف أدلة الصفحة الرئيسية بنظام تشفير ecryptfs عند تسجيل الدخول وسيتم إنشاء أدلة صفحة رئيسية بنظام تشفير ext4 بدلاً منها. ولكن ستتم محاولة الاحتفاظ برموز تسجيل الدخول المميزة حتى يجب ألا يسجّل المستخدم دخوله مرة أخرى. تحذير: سيؤدي هذا إلى إزالة البيانات المحلية للمستخدم.
+
+      في حال ضبط هذه السياسة على خيار لا يتم توفيره بعد ذلك ("AskUser" أو "AskForEcryptfsArcUsers")، سيتم التعامل معه كما لو تم اختيار "Migrate" بدلاً منه.
+
+      لا تسري هذه السياسة على مستخدمي kiosk. وفي حال ترك هذه السياسة بدون ضبط، سيعمل الجهاز كما لو تم اختيار "DisallowArc".</translation>
 <translation id="3086995894968271156">‏تهيئة مستقبِل Cast في <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">‏تسمح لك بإعداد قائمة بأنماط عناوين url التي تحدّد المواقع الإلكترونية المسموح لها بعرض الصور.
 
           إذا لم يتم وضع هذه السياسة، ستُستخدم القيمة التلقائية العامة لكل المواقع الإلكترونية إما من سياسة "DefaultImagesSetting" في حال وضعها، أو من التهيئة الشخصية للمستخدم بدلاً من ذلك.
 
           تجدر الإشارة إلى أنه تم تفعيل هذه السياسة مسبقًا بطريق الخطأ على نظام Android، ولكن لم تكن هذه الوظيفة مدعومة مطلقًا بشكلٍ كامل على نظام Android.</translation>
+<translation id="3091832372132789233">يمكنك شحن بطارية الجهاز المتّصل بمصدر الطاقة الخارجية بشكلٍ أساسي.</translation>
 <translation id="3096595567015595053">قائمة المكونات الإضافية الممَّكنة</translation>
 <translation id="3101501961102569744">اختيار كيفية تحديد إعدادات الخادم الوكيل</translation>
 <translation id="3101709781009526431">التاريخ والوقت</translation>
@@ -1165,6 +1213,7 @@
           وفي حال إيقاف هذا الإعداد، لن يستخدم <ph name="PRODUCT_NAME" /> سوى مضيفي المراسلة الأصلية المثبتة على مستوى النظام.
 
           وفي حال ترك هذا الإعداد بدون ضبط، سيسمح <ph name="PRODUCT_NAME" /> باستخدام مضيفي المراسلة الأصلية على مستوى المستخدمين.</translation>
+<translation id="3177802893484440532">‏عمليات فحص OCSP/CRL على الإنترنت مطلوبة لكيانات الثقة المحلية</translation>
 <translation id="3185009703220253572">منذ الإصدار <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">‏يتعذّر على تطبيقات Android الحصول على إمكانية الوصول إلى مفاتيح الشركة. ولا تؤثر هذه السياسة على هذه التطبيقات.</translation>
 <translation id="3205825995289802549">زيادة حجم نافذة المتصفح الأولى إلى الحد الأقصى عند التشغيل لأول مرة</translation>
@@ -1174,6 +1223,7 @@
 <translation id="3220624000494482595">‏إذا كان تطبيق Kiosk أحد تطبيقات Android، فلن يكون لديه تحكم عبر إصدار <ph name="PRODUCT_OS_NAME" />، حتى وإن تم تعيين هذه السياسة على <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">‏أنماط عناوين URL المراد السماح بالإضافات والتطبيقات وعمليات تثبيت النص البرمجي للمستخدم منها</translation>
 <translation id="3240609035816615922">سياسة الوصول لتهيئة الطابعات.</translation>
+<translation id="3240655340884151271">‏عنوان NIC MAC المدمج للإرساء</translation>
 <translation id="3243309373265599239">لتحديد المدة الزمنية التي تنقضي بدون تعامل المستخدم مع الجهاز، والتي بعد انقضائها يتم تعتيم الشاشة عند استخدام طاقة التيار المتردد.
 
           عند تعيين هذه السياسة على قيمة أكبر من الصفر، يتم تحديد المدة الزمنية التي يجب أن يظل المستخدم خلالها في وضع الخمول قبل أن يعمل <ph name="PRODUCT_OS_NAME" /> على تعتيم الشاشة.
@@ -1195,6 +1245,12 @@
        في حالة تفعيل هذا الإعداد أو لم تتم تهيئته، يتمكن المستخدمون من تفعيل الخادم الوكيل للطباعة السحابية من خلال المصادقة مع حساب Google.
 
        في حالة إيقاف هذا الإعداد، لن يتمكن المستخدمون من تفعيل الخادم الوكيل ولن يتم السماح للجهاز بمشاركة الطابعات التابعة له مع <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">‏تعمل هذه السياسة على تفعيل الصفحة على الرابط chrome://password-change الذي يسمح لمستخدمي SAML بتغيير كلمات مرور SAML أثناء حضور الجلسة، مما يضمن مزامنة كلمة مرور SAML وكلمة مرور شاشة قفل الجهاز باستمرار.
+
+      تفعّل هذه السياسة أيضًا الإشعارات التي تحّذر مستخدمي SAML في حال انتهاء صلاحية كلمات مرور SAML قريبًا حتى يتمكنوا من التعامل مع ذلك فورًا عن طريق إجراء تغيير كلمة المرور في الجلسة.
+      ولكن سيتم عرض هذه الإشعارات فقط في حال إرسال معلومات انتهاء صلاحية كلمة المرور إلى الجهاز من خلال موفّر هوية SAML أثناء تدفق تسجيل الدخول إلى SAML.
+
+      في حال ضبط هذه السياسة، لا يمكن للمستخدم تغييرها أو إلغاؤها.</translation>
 <translation id="3322771899429619102">‏يسمح لك بتعيين قائمة أنماط عناوين URL التي تحدد المواقع التي يُسمح لها باستخدام إنشاء مفتاح. وإذا كان نمط عنوان url في 'KeygenBlockedForUrls'، فإن هذا يلغي هذه الاستثناءات.
 
 
@@ -1277,6 +1333,7 @@
 <translation id="3461279434465463233">الإبلاغ عن حالة الطاقة</translation>
 <translation id="346731943813722404">‏لتحديد ما إذا كان يجب بدء تشغيل تأخيرات إدارة الطاقة والحد الأقصى لطول الجلسة فقط بعد ملاحظة النشاط الأول للمستخدم في الجلسة. وفي حالة تعيين هذه السياسة على "True"، فلن يبدأ تشغيل تأخيرات إدارة الطاقة والحد الأقصى لطول الجلسة لحين ملاحظة النشاط الأول للمستخدم في الجلسة. وفي حالة تعيين هذه السياسة على "False" أو تركها بدون تعيين، فستبدأ تأخيرات إدارة الطاقة والحد الأقصى لطول الجلسة على الفور بمجرد بدء الجلسة.</translation>
 <translation id="3478024346823118645">مسح بيانات المستخدم عند الخروج</translation>
+<translation id="3480961938508521469">بطارية مشحونة بالكامل بمعدل قياسي.</translation>
 <translation id="348495353354674884">تفعيل لوحة المفاتيح الافتراضية</translation>
 <translation id="3487623755010328395">‏
         في حال تعيين هذه السياسة، سيحاول منتج <ph name="PRODUCT_NAME" /> تسجيل نفسه وتطبيق سياسة السحابة الإلكترونية المرتبطة لجميع الملفات الشخصية.
@@ -1321,6 +1378,8 @@
 <translation id="3547954654003013442">إعدادات الخادم الوكيل</translation>
 <translation id="355118380775352753">مواقع الويب المُراد فتحها في متصفِّح بديل</translation>
 <translation id="3554984410014457319">‏السماح "لمساعد Google" بالاستماع إلى عبارة تفعيل الصوت</translation>
+<translation id="356579196325389849">‏يمكن للمستخدمين ضبط قناة الإصدار لنظام التشغيل Chrome</translation>
+<translation id="3575011234198230041">‏مصادقة HTTP</translation>
 <translation id="3577251398714997599">إعداد الإعلانات للمواقع التي تتضمن إعلانات متداخلة</translation>
 <translation id="357917253161699596">السماح للمستخدمين بإدارة شهادات المستخدم</translation>
 <translation id="3583230441447348508">‏تحدّد هذه السياسة قائمة بخوادم مشاركة الملفات على الشبكة التي تم ضبطها مسبّقًا.
@@ -1351,6 +1410,7 @@
 
         يتم استخدام هذه السياسة من خلال التسجيل لسياسة تطبيقات السحابة الإلكترونية لنطاق الجهاز على سطح المكتب ويمكن ضبطها من خلال قاعدة بيانات المسجّلين أو GPO على نظام التشغيل Windows، أو plist على نظام التشغيل Mac وملف سياسة JSON على نظام التشغيل Linux.</translation>
 <translation id="3660562134618097814">‏نقل ملفات تعريف الارتباط SAML IdP أثناء تسجيل الدخول</translation>
+<translation id="3668151900457104753">إلغاء تثبيت الإضافات التي تمت إضافتها إلى القائمة السوداء</translation>
 <translation id="3701121231485832347">تتحكّم هذه السياسة في الإعدادات المُحدّدة لـ <ph name="MS_AD_NAME" /> لأجهزة <ph name="PRODUCT_OS_NAME" /> المُدارة.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (تمّ إيقاف حقل السطر الواحد وستتمّ إزالته في المستقبل. لذا يُرجى البدء في استخدام مربع النص متعدّد الأسطر أدناه.)</translation>
 <translation id="3709266154059827597">تهيئة قائمة الحظر لتثبيت الإضافات</translation>
@@ -1434,6 +1494,16 @@
           عند ترك هذه السياسة بدون تعيين، يتم إيقاف لوحة المفاتيح على الشاشة في البداية ولكن يمكن للمستخدم تفعيلها متى شاء.</translation>
 <translation id="382476126209906314">‏تهيئة بادئة TalkGadget لعمليات استضافة الدخول عن بُعد</translation>
 <translation id="3824972131618513497">تتحكّم هذه السياسة في الإعدادات المرتبطة بإدارة الطاقة وإعادة التشغيل.</translation>
+<translation id="3826475866868158882">‏تم تفعيل خدمات الموقع الجغرافي من Google</translation>
+<translation id="3831054243924627613">‏تتحكَّم هذه السياسة في الحالة الأولية لخدمة "النسخ الاحتياطي واستعادة البيانات" على Android.
+
+      عند عدم ضبط هذه السياسة أو ضبطها على <ph name="BR_DISABLED" />، سيتم مبدئيًا إيقاف "النسخ الاحتياطي واستعادة البيانات" على Android.
+
+      عند ضبط هذه السياسة على <ph name="BR_ENABLED" />، سيتم مبدئيًا تفعيل "النسخ الاحتياطي واستعادة البيانات" على Android.
+
+      عند ضبط هذه السياسة على <ph name="BR_UNDER_USER_CONTROL" />، سيُطلب من المستخدم اختيار إما استخدام "النسخ الاحتياطي واستعادة البيانات" على Android أو لا. وفي حال فعّل المستخدم "النسخ الاحتياطي واستعادة البيانات"، يتم تحميل بيانات تطبيق Android إلى خوادم النسخ الاحتياطي على Android وتتم استعادتها من هذه الخوادم عند إعادة تثبيت التطبيقات للتطبيقات المتوافقة.
+
+      وتجدر الإشارة إلى أن هذه السياسة تتحكَّم في حالة "النسخ الاحتياطي واستعادة البيانات" على Android أثناء الإعداد الأولي فقط. يمكن للمستخدم فتح إعدادات Android بعد ذلك وتفعيل "النسخ الاحتياطي واستعادة البيانات" على Android أو إيقافها.</translation>
 <translation id="3831376478177535007">‏عند تفعيل هذا الإعداد، سيسمح <ph name="PRODUCT_NAME" /> بالوثوق في الشهادات التي تم إصدارها من خلال عمليات البنية الأساسية للمفاتيح العامة (PKI) القديمة لشركة Symantec إذا تم بخلاف ذلك التحقق منها بنجاح وربطها بشهادات CA معروفة.
 
       يُرجى ملاحظة أن هذه السياسة تعتمد على نظام التشغيل الذي لا يزال يتعرّف على الشهادات من البنية الأساسية القديمة لشركة Symantec. وفي حال تغيير تحديث نظام التشغيل لمعالجة نظام التشغيل لمثل هذه الشهادات، لن تكون لهذه السياسة تأثير بعد الآن.  علاوة على ذلك، تُعد هذه السياسة بمثابة حل بديل مؤقت لمنح المؤسسات المزيد من الوقت للانتقال من شهادات شركة Symantic القديمة.  وستتم إزالة هذه السياسة اعتبارًا من 1 كانون الثاني (يناير) 2019 أو بحلول ذلك الوقت.
@@ -1510,6 +1580,15 @@
 
           إذا لم يتم التعيين أو عند التعيين إلى False، فحينئذٍ لن يتمكن المستخدمون من نقل الملفات إلى Google Drive.</translation>
 <translation id="3915395663995367577">‏عنوان URL لملف pac. للخادم الوكيل</translation>
+<translation id="3920892052017026701">‏تضبط هذه السياسة شحن البطارية المُخصص عند بدء الشحن بالنسبة المئوية.
+
+          تبدأ البطارية في الشحن عندما تستهلك شحن البطارية المُخصّص عند بدء قيمة الشحن.
+
+          يجب أن تكون DeviceBatteryChargeCustomStartCharging أقل من DeviceBatteryChargeCustomStopCharging.
+
+          لا يتم استخدام هذه السياسة إلا في حال ضبط DeviceBatteryChargeMode على "مخصص".
+
+          في حال عدم ضبط هذه السياسة أو تركها بدون ضبط، سيتم تطبيق وضع شحن البطارية القياسي.</translation>
 <translation id="3925377537407648234">ضبط عامل المقياس ودرجة دقة العرض</translation>
 <translation id="3939893074578116847">‏إرسال حزم الشبكة إلى خادم الإدارة لمراقبة الحالة على الإنترنت، وللسماح
       للخادم بالكشف عن ما إذا كان الجهاز بلا إنترنت.
@@ -1639,6 +1718,7 @@
 <translation id="4150201353443180367">عرض</translation>
 <translation id="4157003184375321727">تسجيل إصدار نظام التشغيل والبرامج الثابتة</translation>
 <translation id="4157594634940419685">‏السماح بالوصول إلى طابعات CUPS الأصلية</translation>
+<translation id="4160962198980004898">‏مصدر عنوان MAC للجهاز عند الإرساء</translation>
 <translation id="4163705126749612234">‏تتيح هذه السياسة ضبط أسماء النطاقات للبرنامج المطلوب التي سيتم فرضها على برامج الوصول عن بُعد وتمنع المستخدمين من تغييرها.
 
           في حال تفعيل هذا الإعداد، يمكن حينئذٍ للبرامج من النطاق المحدد فقط الاتصال بالمضيف.
@@ -1715,6 +1795,7 @@
       يُرجى ملاحظة أن السياسة التي تتضمن رقم تعريف للتطبيق لا تعني بالضرورة أن المستخدم سيستطيع تفعيل التطبيق كتطبيق تدوين ملاحظات في شاشة التأمين - على سبيل المثال، في Chrome 61، يتم تقييد مجموعة التطبيقات المتاحة بشكل إضافي بواسطة النظام الأساسي.
 
       إذا لم يتم تعيين السياسة، فلن تكون هناك أي قيود تفرضها السياسة على مجموعة التطبيقات التي يستطيع المستخدم تفعيلها في شاشة التأمين.</translation>
+<translation id="4313767483634435271">‏عنوان MAC للإرساء المُحدّد للجهاز</translation>
 <translation id="4322842393287974810">‏السماح لتطبيق kiosk الذي يتم تشغيله تلقائيًا بدون أي تأخير بالتحكم في إصدار <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="4325690621216251241">إضافة زر خروج إلى علبة النظام</translation>
 <translation id="4332177773549877617">‏تسجيل الأحداث لعمليات تثبيت تطبيق Android</translation>
@@ -1746,6 +1827,7 @@
 <translation id="4360826270668210664">‏في حال تحديد هذه السياسة، سيتطلب مضيف الوصول عن بُعد برامج للمصادقة للحصول على رمز المصادقة المميز من عنوان URL هذا للاتصال. ويجب استخدامه مع RemoteAccessHostTokenValidationUrl.
 
           هذه الميزة غير مُفعَّلة حاليًا من جانب الخادم.</translation>
+<translation id="4363057787588706121">السماح بدمج سياسات القائمة من مصادر مختلفة</translation>
 <translation id="436581050240847513">الإبلاغ عن واجهات شبكة الأجهزة</translation>
 <translation id="4372704773119750918">عدم السماح للمستخدمين داخل نطاق المؤسسة بأن يكونوا جزءًا من الملفات الشخصية المتعددة (الأساسية أو الفرعية)</translation>
 <translation id="4377599627073874279">السماح لجميع مواقع الويب بعرض جميع الصور</translation>
@@ -1905,6 +1987,7 @@
 <translation id="4826326557828204741">إجراء يمكن اتخاذه عند الوصول إلى حد التأخير "بعيد" أثناء التشغيل على طاقة البطارية</translation>
 <translation id="4832852360828533362">إعداد تقارير الجهاز والمستخدم</translation>
 <translation id="4834526953114077364">تتم إزالة حسابات المستخدمين الأقل استخدامًا مؤخرًا الذين لم يسجّلوا الدخول خلال آخر 3 أشهر حتى تتوفر مساحة فارغة</translation>
+<translation id="4835622243021053389">‏يمكن لهذه السياسة مصادقة NTLMv2.</translation>
 <translation id="4858735034935305895">السماح بوضع ملء الشاشة</translation>
 <translation id="4861767323695239729">تحديد طرق الإدخال المسموح بها في جلسة المستخدم</translation>
 <translation id="487460824085252184">يمكنك الترحيل تلقائيًا، ولا تطلب موافقة المستخدم.</translation>
@@ -2022,6 +2105,11 @@
 
       على عكس <ph name="URL_LIST_POLICY_NAME" />، تنطبق القواعد على كلا الاتجاهين. أي عندما تكون الوظيفة الإضافية لمتصفِّح Internet Explorer موجودة ومفعَّلة، إنها تتحكَّم أيضًا في ما إذا كان على <ph name="IE_PRODUCT_NAME" /> فتح عناوين URL هذه على <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">تفعيل سياسة "التشغيل من مصدر تيار متردد" (التيار البديل)</translation>
+<translation id="5131211790949066746">تفعّل هذه السياسة دمج سياسات قائمة تثبيت الإضافات <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> و<ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> و<ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" />.
+
+      في حال تفعيل هذا الإعداد، يتم دمج القيم من سياسة وسيط عرض الإعلان للجهاز وسياسة السحابة الإلكترونية للجهاز وسياسة وسيط عرض الإعلانات للمستخدم في قائمة واحدة واستخدامها كلها بدلاً من استخدام القيم ذات الأولوية القصوى من مصدر واحد فقط.
+
+      في حال إيقاف هذا الإعداد أو عدم ضبطه، لن يتم استخدام سوى إدخالات القائمة ذات الأولوية القصوى وسيتم عرض جميع المصادر الأخرى كتعارضات، ولكن سيتم تجاهلها.</translation>
 <translation id="5141670636904227950">تعيين نوع مكبر الشاشة التلقائي على تفعيل في شاشة تسجيل الدخول</translation>
 <translation id="5142301680741828703">‏عرض أنماط عناوين URL التالية دائمًا في <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">تسمح لك بتحديد معلمات إضافية يتم استخدامها عند بدء <ph name="PRODUCT_FRAME_NAME" /> تشغيل <ph name="PRODUCT_NAME" />.
@@ -2127,6 +2215,7 @@
 
       في حالة عدم تعيين السياسة، أو في حالة تعيينها على سلسلة فارغة أو نطاق منفذ غير صالح، يتم السماح لـ WebRTC باستخدام أي منفذ UDP محلي متاح.</translation>
 <translation id="5290940294294002042">تحديد قائمة من المكونات الإضافية التي يمكن للمستخدم تمكينها أو إيقافها</translation>
+<translation id="5306186200045823863">‏تفعيل الثقة في البنية التحتية للمفاتيح العامة (PKI) القديمة لشركة Symantec</translation>
 <translation id="5307432759655324440">توفر وضع التصفح المتخفي</translation>
 <translation id="5318185076587284965">تفعيل استخدام خوادم الترحيل بواسطة مضيف الدخول عن بُعد</translation>
 <translation id="5323128137188992869">‏السماح بإرسال المحتوى إلى الجهاز باستخدام <ph name="PRODUCT_NAME" />.
@@ -2219,6 +2308,7 @@
       في حال تعارض القواعد مع بعضها، يستخدم <ph name="PRODUCT_NAME" /> القاعدة الأكثر تحديدًا.</translation>
 <translation id="5475361623548884387">تفعيل الطباعة</translation>
 <translation id="547601067149622666">عدم السماح بالإعلانات على مواقع تتضمن إعلانات متداخلة</translation>
+<translation id="5483065054530244863">‏السماح لشهادات SHA-1 الموقعة التي أصدرتها كيانات الثقة المحلية</translation>
 <translation id="5483777239978559943">‏تم إيقاف هذه السياسة. يُرجى استخدام <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> للتحكّم في مدى توفّر المكوِّن الإضافي Flash و<ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> للتحكّم في ما إذا كان يجب استخدام عارض PDF المدمج لفتح ملفات PDF أم لا.
 
       تُحدد هذه السياسة قائمة بالمكوِّنات الإضافية التي يمكن للمستخدم تفعيلها أو إيقافها في <ph name="PRODUCT_NAME" />.
@@ -2335,6 +2425,17 @@
           في حال تفعيل هذه السياسة أو عدم تحديدها، يمكن للمستخدمين عرض كلمات المرور بنص واضح في مدير كلمات المرور.</translation>
 <translation id="5620392548325769024">تفعيل عرض صفحة الترحيب عند التشغيل الأول للمتصفِّح عقب ترقية نظام التشغيل</translation>
 <translation id="5630352020869108293">استعادة الجلسة الأخيرة</translation>
+<translation id="5643906875497889108">‏تتحكّم هذه السياسة في أنواع الإضافات/التطبيقات المسموح بتثبيتها وتضع حدودًا للوصول في وقت التشغيل.
+
+          يضيف هذا الإعداد أنواع الإضافات/التطبيقات المسموح بها والتي يمكن تثبيتها في <ph name="PRODUCT_NAME" /> والأطراف المضيفة التي يمكن أن تتفاعل معها إلى القائمة البيضاء. والقيمة هي قائمة من السلاسل، تمثل كل منها واحدة مما يلي: "extension" و"theme" و"user_script" و"hosted_app" و"legacy_packaged_app" و"platform_app". يُرجى الاطّلاع على وثائق إضافات <ph name="PRODUCT_NAME" /> للحصول على مزيد من المعلومات عن هذه الأنواع.
+
+          وتجدر الإشارة إلى أن هذه السياسة تؤثر أيضًا في الإضافات والتطبيقات لتكون مثبّتة من المؤسسة عبر ExtensionInstallForcelist.
+
+          في حال ضبط هذا الإعداد، لن يتم تثبيت الإضافات/التطبيقات من أي نوع بخلاف الأنواع المدرجة في القائمة.
+
+          في حال ترك هذه الإعدادات بدون ضبط، لن يتم فرض أي قيود على أنواع الإضافات/التطبيقات المقبولة.
+
+          قبل إصدار 75، يُعد استخدام أرقام تعريف الإضافات المفصولة بفواصل متعددة غير متاح وسيتم تخطيها. ستتم متابعة تطبيق بقية السياسة.</translation>
 <translation id="5645779841392247734">السماح بملفات تعريف الارتباط في هذه المواقع</translation>
 <translation id="5689430183304951538">حجم صفحة الطباعة التلقائية</translation>
 <translation id="5693469654327063861">السماح بترحيل البيانات</translation>
@@ -2374,6 +2475,7 @@
 <translation id="5765780083710877561">الوصف:</translation>
 <translation id="5770738360657678870">قناة مطوري البرامج (قد لا تكون ثابتة)</translation>
 <translation id="5774856474228476867">‏عنوان URL للبحث باستخدام مزود البحث التلقائي</translation>
+<translation id="5775235485119094648">يمكنك شحن البطارية عندما تكون في نطاق ثابت.</translation>
 <translation id="5776485039795852974">السؤال في كل مرة يريد فيها أحد المواقع عرض  اشعارات سطح المكتب</translation>
 <translation id="5781412041848781654">‏تحدد مكتبة GSSAPI التي سيتم استخدامها في مصادقة HTTP. ويمكنك تعيين إما اسم مكتبة فقط أو مسار كامل.
 
@@ -2435,6 +2537,7 @@
 <translation id="5893553533827140852">‏عند تفعيل هذا الإعداد، سيتم توكيل طلبات مصادقة gnubby على اتصال مضيف بعيد.
 
           وعند إيقافه أو عدم تهيئته، لن يتم توكيل طلبات مصادقة gnubby.</translation>
+<translation id="5897913798715600338">شحن البطارية باستخدام تكنولوجيا الشحن السريع</translation>
 <translation id="5898486742390981550">‏عندما يتمّ تسجيل دخول عدة مستخدمين، لا يمكن سوى للمستخدم الأساسي استخدام تطبيقات Android.</translation>
 <translation id="5900196529149231477">‏
       تنطبق هذه السياسة على شاشة تسجيل الدخول. يُرجى الاطِّلاع أيضًا على سياسة <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> التي تنطبق على جلسة المستخدم. يُنصح بتحديد كلتا السياستين على القيمة نفسها. وفي حال عدم تطابق القيم، قد يحدث تأخير عند الدخول إلى جلسة مستخدم أثناء تطبيق القيم المُحدَّدة في سياسة المستخدم.
@@ -2443,12 +2546,14 @@
       وفي حال عدم ضبط السياسة، سيتم استخدام إعدادات عزل الموقع التلقائية للنظام الأساسي لشاشة تسجيل الدخول.
       </translation>
 <translation id="5901427587865226597">الطباعة المزدوجة فقط</translation>
+<translation id="5905473632148429217">‏تفعيل عمليات التحقُّق من OCSP/CRL على الإنترنت</translation>
 <translation id="5906199912611534122">‏تسمح بتمكين تقييد الشبكة أو إيقافه.
       وينطبق هذا على جميع المستخدمين، وعلى جميع الواجهات على الجهاز. وعند التعيين،
       يستمر التقييد حتى يتم تغيير السياسة لإيقافه.
 
       إذا تم التعيين على "false"، فليس هناك أي تقييد.
       إذا تم التعيين على "true"، فسيتم تقييد النظام لتحقيق معدلات التحميل والتنزيل المتوفرة (بوحدة كيلوبت/ثانية).</translation>
+<translation id="591088232153082363">شحن البطارية المهيأ المستند إلى نمط استخدام البطارية</translation>
 <translation id="5921713479449475707">‏السماح بتنزيلات التحديث التلقائي عبر HTTP</translation>
 <translation id="5921888683953999946">‏تعيين الحالة التلقائية لميزة الدخول إلى المؤشر الكبير في شاشة تسجيل الدخول.
 
@@ -2470,6 +2575,7 @@
 <translation id="5950205771952201658">‏في ضوء حقيقة أن الأعطال البسيطة وفحوصات الإبطال على الإنترنت لا توفر فائدة أمان فعالة، لذلك يتم إيقافها بشكل تلقائي في الإصدار 19 من <ph name="PRODUCT_NAME" /> والإصدارات الأحدث. وعند تعيين هذه السياسة على "true"، يتم استرجاع الإجراء السابق وتنفيذ عمليات فحص OCSP/CRL على الإنترنت.
 
       عند عدم تعيين السياسة أو تعيينها على "false"، لن ينفِّذ <ph name="PRODUCT_NAME" /> عمليات فحص لحالات الإلغاء في الإصدار 19 من <ph name="PRODUCT_NAME" /> والإصدارات الأحدث.</translation>
+<translation id="5961137303188584693">‏عنوان NIC MAC المدمج للجهاز</translation>
 <translation id="5966615072639944554">الإضافات مسموح لها باستخدام واجهة برمجة التطبيقات للتأكيد عن بُعد</translation>
 <translation id="5983708779415553259">طريقة العمل التلقائية للمواقع التي ليست في أي حزمة محتوى</translation>
 <translation id="5997543603646547632">استخدام التنسيق 24 ساعة بشكل تلقائي</translation>
@@ -2550,6 +2656,17 @@
 <translation id="6111936128861357925">‏السماح بلعبة Dinosaur Easter Egg</translation>
 <translation id="6114416803310251055">تم تجاهله</translation>
 <translation id="6133088669883929098">السماح لجميع المواقع باستخدام إنشاء مفتاح</translation>
+<translation id="6136537398661737682">‏تتحكَّم هذه السياسة في الحالة الأولية لخدمات الموقع الجغرافي من Google.
+
+      في حال عدم ضبط هذه السياسة أو ضبطها على <ph name="GLS_DISABLED" />، سيتم مبدئيًا إيقاف خدمات الموقع الجغرافي من Google.
+
+      عند ضبط هذه السياسة على <ph name="GLS_ENABLED" />، سيتم تفعيل خدمات الموقع الجغرافي من Google.
+
+      عند ضبط هذه السياسة على <ph name="GLS_UNDER_USER_CONTROL" />، سيُطلب من المستخدم اختيار إما استخدام خدمات الموقع الجغرافي من Google أم لا. يسمح ذلك لتطبيقات Android باستخدام الخدمات للبحث عن موقع الجهاز الجغرافي، وسيؤدي ذلك أيضًا إلى تفعيل إرسال بيانات الموقع الجغرافي المجهولة إلى Google.
+
+      تجدر الإشارة إلى أن هذه السياسة تتحكّم في حالة خدمات الموقع الجغرافي من Google أثناء الإعداد الأولي فقط. يمكن بعد ذلك للمستخدم فتح إعدادات Android وتفعيل خدمات الموقع الجغرافي من Google أو إيقافها.
+
+      تجدر الإشارة إلى أنه يتم تجاهل هذه السياسة ويتم دائمًا إيقاف خدمات الموقع الجغرافي من Google عندما يتم ضبط السياسة <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> على <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">استخدام الكشف التقريبي عن المنطقة الزمنية دائمًا</translation>
 <translation id="6145799962557135888">‏للسماح لك بتعيين قائمة أنماط عناوين URL التي تحدد المواقع التي يُسمح لها بتشغيل جافا سكريبت. إذا تم ترك هذه السياسة بدون تعيين، فسيتم استخدام القيمة التلقائية العامة لجميع المواقع إما من السياسة 'DefaultJavaScriptSetting' إذا كان قد تم تعيينها أو من التهيئة الشخصية للمستخدم.</translation>
 <translation id="614662973812186053">‏تتحكم هذه السياسة أيضًا في جمع بيانات تشخيص واستخدام Android.</translation>
@@ -2622,9 +2739,17 @@
       إذا تم إيقافها، فلن يتم استيراد بيانات نموذج الملء التلقائي.
 
       إذا لم يتم تعينها، فقد يُطالب المستخدم بإجراء الاستيراد أو قد يحدث الاستيراد تلقائيًا.</translation>
+<translation id="6221175752766085998">‏السماح باستخدام الشهادات التي أصدرتها كيانات الثقة المحلية بدون الإضافة subjectAlternativeName</translation>
 <translation id="6224304369267200483">‏سمحت عناوين URL/النطاقات تلقائيًا بتأكيد مفتاح الأمان المباشر</translation>
 <translation id="6233173491898450179">تعيين دليل التنزيل</translation>
 <translation id="6244210204546589761">‏عناوين URL التي يتم فتحها عند بدء التشغيل</translation>
+<translation id="6255387031094435995">تسمح هذه السياسة بدمج سياسات محددة عندما تنتج من مصادر مختلفة بنفس النطاقات والمستويات.
+
+        في حال كانت سياسة متوفّرة في القائمة، وكان هناك تعارض بين مصدرين لأن لديها نفس النطاقات والمستويات، سيتم دمج القيم في قائمة سياسات جديدة.
+
+        في حال كانت سياسة متوفّرة في القائمة، وكان هناك تعارض بين مصدرين، ولكن هناك أيضًا تعارضًا بين نطاقات و/أو مستويات مختلفة، سيتم تطبيق السياسة ذات الأولوية العُليا.
+
+        في حال لم تكن هناك سياسة متوفرة في القائمة، وكان هناك أي تعارض بين المصادر و/أو النطاقات و/أو المستويات، سيتم تطبيق السياسة ذات الأولوية العُليا.</translation>
 <translation id="6258193603492867656">‏لتحديد ما إذا كان اسم الخدمة الأساسي، الذي تم إنشاؤه لـ Kerberos، سيشتمل على منفذ غير قياسي. إذا تم تفعيل هذا الإعداد وتم إدخال منفذ غير قياسي (أي منفذ بخلاف 80 أو 443)، فسيتم تضمين المنفذ في اسم الخدمة الأساسي لـ Kerberos. إذا تم إيقاف هذا الإعداد أو تركه بدون إعداد، فلن يشتمل اسم الخدمة الأساسي الذي تم إنشاؤه لـ Kerberos على منفذ تحت أي ظرف.</translation>
 <translation id="6261643884958898336">الإبلاغ عن معلومات "تعريف الجهاز"</translation>
 <translation id="6281043242780654992">لتهيئة سياسات الرسائل الأصلية. ولن يتم السماح لمضيفات الرسائل الأصلية ما لم يتم إدراجها ضمن القائمة البيضاء.</translation>
@@ -2819,6 +2944,7 @@
 <translation id="6757438632136860443">‏تتيح لك إعداد قائمة بأنماط عناوين URL التي تحدّد المواقع المخوّلة تشغيل المكّون الإضافي <ph name="FLASH_PLUGIN_NAME" />.
 
          في حال عدم اختيار هذه السياسة، سيتم استخدام القيمة الأصلية العامة لجميع المواقع إما من سياسة 'DefaultPluginsSetting' إذا تم اختيارها أو من التهيئة الشخصية للمستخدم.</translation>
+<translation id="6757613329154374267">تم تفعيل "النسخ الاحتياطي واستعادة البيانات"</translation>
 <translation id="6762235610019366960">‏تسمح لك هذه السياسة بالتحكُّم في كيفية عرض المحتوى الترويجي و/أو المحتوى التعليمي بوضع full-tab في <ph name="PRODUCT_NAME" />. في حال عدم ضبط هذه السياسة أو تفعيلها (ضبطها على الخيار "true")، قد يعرض <ph name="PRODUCT_NAME" /> المحتوى بوضع full-tab أمام المستخدمين لتزويدهم بمعلومات عن المنتج. وفي حال إيقاف هذه السياسة (ضبطها على الخيار "false")، لن يعرض <ph name="PRODUCT_NAME" /> 
 المحتوى بوضع full-tab أمام المستخدمين لتزويدهم بمعلومات عن المنتج. يتحكّم هذا الإعداد أيضًا في كيفية عرض صفحات الترحيب التي إمّا ستساعد المستخدمين على تسجيل الدخول إلى <ph name="PRODUCT_NAME" /> واختياره كالمتصفّح التلقائي، أو ستعرض لهم معلومات أخرى عن ميزات المنتج.</translation>
 <translation id="6766216162565713893">السماح لمواقع الويب بأن تطلب من المستخدم منح إمكانية الوصول إلى جهاز بلوتوث مجاور</translation>
@@ -2836,6 +2962,7 @@
       وقد تحتوي هذه السلسلة على متغيِّرات ${ASSET_ID} و${SERIAL_NUM} و${MAC_ADDR} و${MACHINE_NAME} التي يتم استبدالها بالقيم على الجهاز قبل الاستخدام كاسم مضيف. وينبغي أن تكون نتيجة التبديل اسم مضيف صالحًا (لكل RFC 1035، قسم 3.1).
 
       في حال عدم ضبط هذه السياسة أو لم تكن القيمة بعد التبديل اسم مضيف صالحًا، لن يتم تحديد أي اسم مضيف في طلب DHCP. </translation>
+<translation id="6833988859168635883">صفحة بدء التشغيل والصفحة الرئيسية وصفحة علامة التبويب الجديدة</translation>
 <translation id="6835883744948188639">عرض رسالة مطالبة مكررة للمستخدم تشير إلى أن إعادة التشغيل موصى بها</translation>
 <translation id="6837480141980366278">‏تتحكَّم هذه السياسة في ما إذا كان يتم استخدام برنامج نظام أسماء النطاقات المُدمج في <ph name="PRODUCT_NAME" /> أم لا.
 
@@ -2945,6 +3072,17 @@
 
 ......عندما تكون الشاشة على وشك التعتيم، يقيّم نموذج تعتيم الشاشة الذكي ما إذا كان يجب تأجيل تعتيم الشاشة أم لا. وفي حال تأجيل نموذج تعتيم الشاشة الذكي لتعتيم الشاشة، سيؤدي ذلك إلى مدّ الفترة الزمنية بفعالية حتى يتم تعتيم الشاشة. وفي هذه الحالة، سيتم ضبط مُهلات تعتيم الشاشة وإيقاف وقفلها للحفاظ على الفروق الزمنية نفسها بين هذه المُهلات ومهلة تأخير التعتيم وفقًا للتهيئة الأصلية.
 ......في حال ضبط هذه السياسة على "True" أو عدم ضبطها، سيتم تفعيل نموذج تعتيم الشاشة الذكي والسماح بمدّ الفترة الزمنية حتى يتم تعتيم الشاشة. وفي حال ضبط السياسة على "False"، لن يؤثر نموذج تعتيم الشاشة الذكي على تعتيم الشاشة.</translation>
+<translation id="6967394885063085697">‏تتيح هذه السياسة تفعيل سياسة إدارة الطاقة لوضع شحن البطارية المتقدم.
+
+          يسمح "وضع شحن البطارية المتقدّم" للمستخدم بزيادة سلامة البطارية إلى أقصى حد. وفي "وضع الشحن المتقدّم"، سيستخدم النظام خوارزمية الشحن القياسية وتقنيات أخرى أثناء ساعات العمل لزيادة سلامة البطارية إلى أقصى حد. أثناء ساعات العمل، يتم استخدام الشحن السريع. يسمح هذا الشحن السريع للبطارية بالشحن بشكلٍ أسرع، ولذلك تصبح البطارية كاملة الشحن في أقرب وقت. في كل يوم، يكون الوقت الذي سيتم فيه استخدام النظام كثيرًا محددًا من خلال وقت البدء والمدة الزمنية.
+
+          وفي حال ضبط هذه السياسة على "True" وضبط DeviceAdvancedBatteryChargeModeDayConfig أيضًا، حينئذٍ سيتم دائمًا تفعيل وضع شحن البطارية المتقدم إذا كان متاحًا على الجهاز.
+
+          في حال ضبط هذه السياسة على "False"، سيتم دائمًا إيقاف وضع شحن البطارية المتقدم.
+
+          في حال ضبط هذه السياسة، لن يتمكَّن المستخدمون من تغييرها أو إلغائها.
+
+          في حال ترك هذه السياسة بدون ضبط، سيتم إيقاف وضع شحن البطارية المتقدم ولن يتمكّن المستخدم من تفعيله.</translation>
 <translation id="6972540544240464302">اختيار إعدادات ضبط أداة جدولة المهام</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="6994082778848658360">‏تحدِّد كيفية استخدام أجهزة العنصر الآمن المُدمجة لتوفير عامل المصادقة الثاني إذا كان متوافقًا مع هذه الميزة. يتم استخدام زر تشغيل الجهاز للكشف عن الوجود الفعلي للمستخدم.
@@ -3014,6 +3152,17 @@
       وإذا تم تفعيل هذا الإعداد أو إيقافه، فلن يتمكن المستخدمون من تغييره أو إلغائه.
 
       في حالة ترك السياسة بدون تعيين، يمكن للمستخدم اختيار ما إذا كان يريد أن تتم مطالبته بكلمة المرور لإلغاء قفل الجهاز أم لا.</translation>
+<translation id="7107148737865880402">‏تتيح هذه السياسة تفعيل سياسة إدارة الطاقة عند مشاركة الطاقة عبر USB.
+
+          تتضمن أجهزة معينة منفذ USB محددًا تم تمييزه برمز برق أو رمز بطارية يمكن استخدامه لشحن الأجهزة، مثل الهاتف الجوّال الذي يستخدم بطارية النظام. تؤثر هذه السياسة في أداء الشحن لهذا المنفذ عندما يكون النظام في وضع السكون ووضع إيقاف التشغيل. لا تؤثر هذه السياسة في منافذ USB الأخرى وأداء الشحن عندما يكون النظام في وضع نشط.
+
+          عندما يكون النظام في الوضع النشط، سيوفّر منفذ USB الطاقة دائمًا.
+
+          وعندما يكون النظام في وضع السكون، وفي حال ضبط هذه السياسة على "true"، حينئذٍ سيتم تزويد منفذ USB بالطاقة عندما يكون الجهاز متّصلاً بالشاحن الجداري أو في حال كان مستوى شحن البطارية أكبر من 50%. وإلا لا يتم التزويد بالطاقة.
+
+          عند إيقاف التشغيل، في حال ضبط هذه السياسة على "true"، سيتم تزويد منفذ USB بالطاقة عندما يكون الجهاز متّصلاً بالشاحن الجداري. وإلا لا يتم التزويد بالطاقة.
+
+          في حال ترك هذه السياسة بدون ضبط، سيتم تفعيل السياسة ولن يتمكّن المستخدم من إيقافها.</translation>
 <translation id="7115494316187648452">‏تحدد ما إذا كانت معالجة <ph name="PRODUCT_NAME" /> بدأت عند تسجيل الدخول إلى نظام التشغيل ويستمر تشغيلها عند إغلاق النافذة الأخيرة للمتصفح أم لا، مما يسمح لتطبيقات الخلفية وجلسة المتصفح الحالية بأن تظل نشطة، بما في ذلك أي ملفات تعريف ارتباط للجلسة. وتعرض المعالجة في الخلفية رمزًا في لوحة النظام ويمكن إغلاقها دائمًا من هناك.
 
       في حالة تعيين هذه السياسة إلى True، يتم تفعيل وضع الخلفية ولا يمكن التحكم فيه بواسطة المستخدم في إعدادات المتصفح.
@@ -3064,6 +3213,7 @@
           في حال ضبط هذه السياسة على "true" أو عدم ضبطها، سيتم السماح باستخدام ميزة قفل تنشيط الشاشة لإدارة الطاقة، ما لم يتم ضبط AllowWakeLocks على "false".
 
           وفي حال ضبط هذه السياسة على "false"، سيتم تخفيض ترتيب طلبات قفل تنشيط الشاشة إلى طلبات قفل تنشيط النظام.</translation>
+<translation id="7177857088692019405">فتح القفل السريع</translation>
 <translation id="7185078796915954712">طبقة النقل الآمنة 1.3</translation>
 <translation id="718956142899066210">أنواع الاتصالات المسموح بها للتحديثات</translation>
 <translation id="7194407337890404814">اسم مزود البحث التلقائي</translation>
@@ -3128,6 +3278,7 @@
 <translation id="7273823081800296768">عند تفعيل هذا الإعداد أو عدم تهيئته، سيتمكن المستخدمون من اختيار إقران العملاء بالمضيفين في وقت الاتصال، وبذلك يتم تقليص الحاجة إلى إدخال رقم تعريف شخصي في كل مرة.
 
           عند إيقاف هذا الإعداد، لن تصبح هذه الميزة متاحة.</translation>
+<translation id="7274077256421167535">‏تفعيل مشاركة الطاقة عبر USB</translation>
 <translation id="7275334191706090484">الإشارات المرجعية المُدارة</translation>
 <translation id="7291084543582732020">‏في حال تفعيل هذا الإعداد، سيُسمح للمستخدمين استخدام ميزة Smart Lock في حال استيفاء متطلبات هذه الميزة.
 
@@ -3141,6 +3292,7 @@
 
           يتم الالتزام بهذه السياسة فقط في حالة تفعيل سياسة  'DefaultSearchProviderEnabled'.</translation>
 <translation id="7302043767260300182">مهلة قفل الشاشة عند استخدام طاقة التيار المتردد</translation>
+<translation id="7305262223970835999">‏تعمل هذه السياسة على تفعيل صفحة لإجراء تغيير كلمة المرور في الجلسة لمستخدمي SAML.</translation>
 <translation id="7311458740754205918">‏إذا تم تعيين هذه السياسة على "true" أو لم يتم تعيينها، فقد تُظهر صفحة "علامة التبويب الجديدة" اقتراحات المحتوى بناءً على سجل تصفح المستخدم، أو اهتماماته، أو موقعه.
 
       وإذا تم تعيين هذه السياسة على "false"، فلن تظهر اقتراحات المحتوى التي تم إنشاؤها تلقائيًا في صفحة "علامة التبويب الجديدة".</translation>
@@ -3263,6 +3415,15 @@
       إذا كانت قيمة هذه السياسة هي 0، فسيتم استخدام الحجم التلقائي لذاكرة التخزين المؤقت لكن لن يكون بمقدور المستخدم تغييرها.
 
       في حالة عدم تعيين هذه السياسة، فسيتم استخدام الحجم التلقائي وسيكون بمقدور المستخدم تجاوزه بالعلامة --disk-cache-size.</translation>
+<translation id="759389052790680884">‏تضبط هذه السياسة شحن البطارية المخصص عند إيقاف الشحن بالنسبة المئوية.
+
+          تتوقف البطارية عن الشحن عندما تصل إلى قيمة إيقاف الشحن المخصص لشحن البطارية.
+
+          يجب أن تكون DeviceBatteryChargeCustomStartCharging أقل من DeviceBatteryChargeCustomStopCharging.
+
+          لا يتم استخدام هذه السياسة إلا في حال ضبط DeviceBatteryChargeMode على "مخصص".
+
+          في حال عدم ضبط هذه السياسة أو تركها بدون ضبط، سيتم تطبيق وضع شحن البطارية القياسي.</translation>
 <translation id="759957074386651883">إعدادات التصفح الآمن</translation>
 <translation id="7604169113182304895">‏قد تختار تطبيقات Android استخدام هذه القائمة طوعًا. ولا يمكنك أن تفرض على هذه التطبيقات استخدامها.</translation>
 <translation id="7612157962821894603">علامات عبر النظام يتم تطبيقها عند بدء تشغيل <ph name="PRODUCT_NAME" /></translation>
@@ -3339,6 +3500,15 @@
 <translation id="7712109699186360774">الرجوع إليّ في كل مرة يريد فيها أحد المواقع الدخول إلى الكاميرا و/أو الميكروفون</translation>
 <translation id="7713608076604149344">قيود على التنزيل</translation>
 <translation id="7715711044277116530">النسبة المئوية التي سيتم بمقتضاها تحديد مهلة إعتام الشاشة في وضع العرض التقديمي</translation>
+<translation id="7716781462866245042">‏تضبط هذه السياسة إعدادًا يوميًا لوضع شحن البطارية المتقدم.
+
+          يتم استخدام هذه السياسة فقط في حال ضبط DeviceAdvancedBatteryChargeModeEnabled على "True".
+
+          في حال عدم ضبط هذه السياسة أو تركها بدون ضبط، سيتم دائمًا إيقاف وضع شحن البطارية المتقدّم.
+
+          ملاحظة: يجب أن يكون <ph name="CHARGE_START_TIME_FIELD_NAME" /> أقل من <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          ملاحظة: القيم المسموح بها للحقل <ph name="MINUTE_FIELD_NAME" /> في<ph name="CHARGE_START_TIME_FIELD_NAME" /> و<ph name="CHARGE_END_TIME_FIELD_NAME" /> هي 0 و15 و30 و45.</translation>
 <translation id="7717938661004793600">تهيئة ميزات إمكانية الدخول إلى <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">‏تمكِّن هذه السياسة HTTP / 0.9 في المنافذ الأخرى بخلاف المنفذ 80 لـ HTTP والمنفذ 443 لـ HTTPS.
 
@@ -3412,6 +3582,7 @@
       لتحديد معرف الإضافة المراد استخدامها كشاشة توقف على شاشة تسجيل الدخول. يجب أن تكون الإضافة جزءًا من AppPack والذي تمت تهيئته لهذا النطاق عبر السياسة DeviceAppPack.</translation>
 <translation id="7882857838942884046">‏سيؤدي إيقاف مزامنة Google إلى عدم عمل Android Backup and Restore بشكلٍ صحيح.</translation>
 <translation id="7882890448959833986">إيقاف تحذير نظام التشغيل غير المدعوم</translation>
+<translation id="7895553628261067384">إمكانية الوصول عن بُعد</translation>
 <translation id="7902255855035461275">‏ستتم مطابقة الأنماط المُدرجة في هذه القائمة مع المصدر الأمني
       لعنوان URL المطلوب.  في حال وجود تطابق، سيُمنح إذن الوصول إلى
       أجهزة التقاط الفيديو بدون رسالة مطالبة.
@@ -3425,6 +3596,11 @@
 <translation id="7937491150792971922">دمج سياسات قائمة تثبيت الإضافات من مصادر متعددة</translation>
 <translation id="7937766917976512374">السماح بالتقاط الفيديو أو رفضه</translation>
 <translation id="7941975817681987555">عدم توقع إجراءات الشبكة على أي اتصال بالشبكة</translation>
+<translation id="7952007677054834789">‏تضبط هذه السياسة الصفحات لتحميلها عند بدء التشغيل والصفحة الرئيسية التلقائية وصفحة علامة التبويب الجديدة التلقائية في <ph name="PRODUCT_NAME" /> وتمنع المستخدمين من تغييرها.
+
+      ويتم قفل إعدادات الصفحة الرئيسية للمستخدم بالكامل فقط في حال اختيار الصفحة الرئيسية لتكون صفحة علامة التبويب الجديدة، أو ضبطها لتكون عنوان URL وتحديد عنوان URL للصفحة الرئيسية في حال عدم تحديد عنوان URL للصفحة الرئيسية، حينئذٍ سيظل المستخدم قادرًا على ضبط الصفحة الرئيسية لتكون صفحة علامة التبويب الجديدة من خلال تحديد "chrome://newtab".
+
+      يتم تجاهل السياسة "فتح عناوين URL عند بدء التشغيل" ما لم تختَر "فتح قائمة بعناوين URL" في "إجراءات عند بدء التشغيل".</translation>
 <translation id="7952958573604504839">‏تم إيقاف هذه السياسة في M48 لصالح <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />، وإزالتها في M54.
 
       تفعّل هذه السياسة توقع الشبكة في <ph name="PRODUCT_NAME" /> وتمنع المستخدمين من تغيير هذا الإعداد.
@@ -3562,6 +3738,7 @@
 <translation id="8176035528522326671">السماح لمستخدم المؤسسة بأن يكون مستخدمًا أساسيًا لملفات شخصية متعددة (السلوك التلقائي للمستخدمين تحت إدارة المؤسسات)</translation>
 <translation id="8214600119442850823">توفر تهيئة مدير كلمات المرور.</translation>
 <translation id="8217516105848565518">‏تم إيقاف هذه السياسة. يُرجى استخدام RemoteAccessHostDomainList بدلاً منها.</translation>
+<translation id="8244171102276095471">‏تفعيل مجموعات تشفير RC4 في طبقة النقل الآمنة</translation>
 <translation id="8244525275280476362">الحد الأقصى لتأخر الجلب بعد إبطال السياسة</translation>
 <translation id="8256688113167012935">التحكم في اسم الحساب الذي يعرضه <ph name="PRODUCT_OS_NAME" /> في شاشة تسجيل الدخول للحساب المناظر المحلي على الجهاز.
 
@@ -3600,6 +3777,7 @@
 <translation id="8312129124898414409">‏يسمح لك بتعيين ما إذا كان يُسمح للمواقع الإلكترونية باستخدام إنشاء مفتاح أم لا. يمكن أن يكون استخدام إنشاء مفتاح مسموحًا به لجميع مواقع الويب أو مرفوضًا لجميع مواقع الويب. 
 
 ..........إذا لم تتعيَّن السياسة، فسيُستخدَم 'BlockKeygen' وسيتمكن المستخدم من تغييرها.</translation>
+<translation id="8320149248919453401">وضع شحن البطارية</translation>
 <translation id="8329984337216493753">‏تكون هذه السياسة نشطة في وضع البيع بالتجزئة فقط.
 
       عندما يتم تحديد "DeviceIdleLogoutTimeout"، فإن هذه السياسة تحدد مدة مربع التحذير مع عرض موقت تنازلي للمستخدم قبل تنفيذ تسجيل الخروج.
@@ -3763,6 +3941,7 @@
       إذا لم يتم ضبط السياسة، يتم استخدام الفترة التلقائية التي تبلغ 345600000 مللي ثانية (أربعة أيام) لأجهزة <ph name="PRODUCT_OS_NAME" /> و604800000 مللي ثانية (أسبوع واحد) لـ <ph name="PRODUCT_NAME" />.</translation>
 <translation id="8685024486845674965">تم تشغيل تحذير حماية كلمة المرور من خلال إعادة استخدام كلمة المرور.</translation>
 <translation id="8693243869659262736">استخدام عميل نظام أسماء النطاقات المدمج</translation>
+<translation id="8698286761337647563">‏ما عدد الأيام قبل إشعار مستخدمي SAML عندما توشك كلمة مرورهم على انتهاء صلاحيتها</translation>
 <translation id="8703488928438047864">الإبلاغ عن حالة اللوحة</translation>
 <translation id="8703872185032220081">‏ضبط عملية إعداد يومي لتحويل طاقة الذروة.
 
@@ -3807,6 +3986,7 @@
       في حال إيقاف هذا الإعداد أو عدم ضبطه، سترسل خدمة حماية كلمة المرور المستخدمين إلى https://myaccounts.google.com لتغيير كلمة مرورهم.
       تتوفَّر هذه السياسة فقط على نُسخ Windows الافتراضية المنضمَّة إلى نطاق <ph name="MS_AD_NAME" />. أو نُسخ Windows 10 Pro أو Enterprise الافتراضية التي تم تسجيلها لإدارة الجهاز.</translation>
 <translation id="8798099450830957504">التلقائي</translation>
+<translation id="8800453707696044281">ضبط شحن البطارية المخصص عند إيقاف الشحن بالنسبة المئوية</translation>
 <translation id="8801680448782904838">إبلاغ المستخدم بضرورة إعادة تشغيل المتصفّح أو الجهاز كخطوة موصى بها أو مطلوبة</translation>
 <translation id="8818173863808665831">‏الإبلاغ عن الموقع الجغرافي للجهاز.
 
@@ -3933,6 +4113,11 @@
       لا تؤثر هذه السياسة إلا في المستخدمين الذين تمت المصادقة عليهم باستخدام SAML.
 
       يجب تحديد هذه السياسة بالثواني.</translation>
+<translation id="9018338365267278833">ستزيل الإضافات التي تظهر في <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> أو الإضافات التي تظهر في <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> التي تتضمن وضع التثبيت الذي تم ضبطه على "محظور" وستزيل بيانات المستخدم المحلية عن طريقها.  تشير إلى سياسة خصوصية الإضافات أو سياسة الاحتفاظ بالبيانات لفهم ما يحدث مع بيانات المستخدم التي لم يتم تخزينها محليًا.
+
+      عند تفعيل هذه السياسة، ستتم إزالة الإضافات التي تندرج تحت القوائم المذكورة مُسبّقًا (في حال تثبيتها من قبل على الجهاز) من هذا الجهاز بأكمله (بما في ذلك بيانات المستخدم المحلية).
+
+      عند ضبط هذه السياسة على الإيقاف أو تركها بدون ضبط، سيتم إيقاف الإضافات التي تندرج تحت القوائم المذكورة مُسبّقًا (في حال تثبيتها من قبل على جهاز وتوفّرها في القائمة السوداء <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />) على الجهاز ولن يتم إلغاء تثبيتها.</translation>
 <translation id="9027787254195333560">‏تتيح لك هذه السياسة ضبط الصورة الشخصية التي تمثل المستخدم على شاشة تسجيل الدخول. يتم ضبط السياسة من خلال تحديد عنوان URL الذي يمكن لنظام التشغيل <ph name="PRODUCT_OS_NAME" /> من خلاله تنزيل الصورة الشخصية وتجزئة التشفير المستخدمة للتحقُّق من سلامة عملية التنزيل. يجب أن تكون الصورة بتنسيق JPEG، وألا يتجاوز حجمها 512 كيلوبايت. يجب أن يكون الوصول إلى عنوان URL متاحًا بدون أي مصادقة.
 
       يتم تنزيل الصورة الشخصية وحفظها في ذاكرة التخزين المؤقت. وستتم إعادة تنزيلها كلما تغيّر عنوان URL أو تغيّرت التجزئة.
diff --git a/components/policy/resources/policy_templates_bn.xtb b/components/policy/resources/policy_templates_bn.xtb
index 7a833c6..8ceeda0f 100644
--- a/components/policy/resources/policy_templates_bn.xtb
+++ b/components/policy/resources/policy_templates_bn.xtb
@@ -54,6 +54,13 @@
 <translation id="1049138910114524876"><ph name="PRODUCT_OS_NAME" /> প্রবেশ করার স্ক্রিনে যে লোকেল কার্যকর করা হয় সেটি কনফিগার করে।
 
       এই নীতি সেট করা হলে, প্রবেশ করার স্ক্রিনটি সবসময় এই নীতির (নীতিটিকে ভবিষ্যতে সামঞ্জস্যপূর্ণ হবে এমন এক তালিকা হিসাবে সংজ্ঞায়িত করা হয়) প্রথম মান দ্বারা প্রদত্ত লোকেলে প্রদর্শিত হয়। এই নীতি সেট না করা হলে বা কোনো খালি তালিকায় সেট করা হলে, প্রবেশ করার স্ক্রিনটি সর্বশেষ ব্যবহারকারীর সেশনের লোকেলে প্রদর্শিত হবে। এই নীতিটি যদি বৈধ লোকেল নয় এমন কোনে মানে সেট করা হয়, তাহলে প্রবেশ করার স্ক্রিন একটি ফলব্যাক লোকেলে (বর্তমানে en-US) প্রদর্শিত হবে।</translation>
+<translation id="1052499923181221200">SamlInSessionPasswordChangeEnabled 'ট্রু' না হলে এই নীতির কোনও প্রভাব থাকে না।
+      প্রথমে উল্লেখ করা নীতিটি 'ট্রু' হলে এই নীতি একটি সংখ্যা (যেমন ১৪) হিসেবে সেট করা যায়। অর্থাৎ, পাসওয়ার্ডের মেয়াদ শেষ হওয়ার ১৪ দিন আগে SAML ব্যবহারকারীদের বিজ্ঞপ্তির মাধ্যমে তা জানানো হয়।
+      তাহলে, তারা পাসওয়ার্ডের মেয়াদ শেষ হওয়ার আগে সেশন চলাকালীন সেটি পরিবর্তন করে নিতে পারেন।
+      SAML লগ-ইনের সময় SAML পরিচয় প্রদানকারী ডিভাইসে পাসওয়ার্ডের মেয়াদ শেষ হওয়ার তথ্য পাঠালে, তবেই এই বিজ্ঞপ্তি দেখানো হয়।
+      এই নীতির মান শূন্য হিসেবে সেট করা হলে, ব্যবহারকারীকে আগে জানানো হয় না - পাসওয়ার্ডের মেয়াদ শেষ হয়ে গেলেই শুধুমাত্র তারা জানতে পারেন।
+
+      এই নীতি সেট করা থাকলে, ব্যবহারকারী সেটি পরিবর্তন বা ওভাররাইড করতে পারেন না।</translation>
 <translation id="1062011392452772310">ডিভাইসটির জন্য দূরবর্তী প্রত্যায়ন সক্ষম করুন</translation>
 <translation id="1062407476771304334">প্রতিস্থাপন করুন</translation>
 <translation id="1079801999187584280">ডেভেলপার টুলগুলির ব্যবহারে অনুমতি দেবেন না</translation>
@@ -212,6 +219,7 @@
       এই নীতি চালু থাকলে, Google অ্যাসিস্ট্যান্ট স্ক্রিনের প্রসঙ্গ অ্যাক্সেস করতে পারবে।
       এই নীতি বন্ধ থাকলে, Google অ্যাসিস্ট্যান্ট স্ক্রিনের প্রসঙ্গ অ্যাক্সেস করতে পারবে না।
       সেট করা না থাকলে, Google অ্যাসিস্ট্যান্টকে স্ক্রিনের প্রসঙ্গ অ্যাক্সেস করতে দেওয়া হবে কিনা তা ব্যবহারকারী ঠিক করতে পারেন</translation>
+<translation id="1376119291123231789">উন্নত ব্যাটারি চার্জ করার মোড চালু করা</translation>
 <translation id="1383493480903114193">এই নীতি ব্রাউজার প্রসেসের মধ্যে নেটওয়ার্কিং কোড চালাতে বাধ্য করে।
 
       এই নীতি সাধারণত বন্ধ থাকে। কিন্তু চালু করা হলে এবং নেটওয়ার্ক প্রসেস স্যান্ডবক্স করা হয়ে গেলে ব্যবহারকারীরকে নিরাপত্তা সংক্রান্ত সমস্যায় ফেলতে পারে।
@@ -311,6 +319,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">থার্ড-পার্টি সফ্টওয়্যার ইনজেকশন ব্লক করা চালু করুন</translation>
 <translation id="1504431521196476721">রিমোট প্রত্যয়িত</translation>
+<translation id="1507382822467487898">
+          ডিভাইসের সাথে ডক কানেক্ট করা থাকলে কোন MAC (মিডিয়া অ্যাক্সেস কন্ট্রোল) ঠিকানা ব্যবহার করা হবে তা নিয়ন্ত্রণ করে।
+
+          কোনও ডিভাইস মডেলের সাথে ডক কানেক্ট করা থাকলে, ইথারনেটে ডিফল্ট হিসেবে থাকা ডিভাইস শনাক্ত করতে সেটির নির্দিষ্ট ডক MAC ঠিকানা ব্যবহার করা হয়। এই নীতি অ্যাডমিনিস্ট্রেটরকে, ডক করা অবস্থায় MAC ঠিকানার উৎস পরিবর্তন করতে দেয়।
+
+          'DeviceDockMacAddress' বেছে নেওয়া হলে বা নীতিটি সেট করা না থাকলে, ডিভাইসের নির্দিষ্ট ডক MAC ঠিকানা ব্যবহার করা হয়।
+
+          'DeviceNicMacAddress' বেছে নেওয়া হলে, ডিভাইসের NIC (নেটওয়ার্ক ইন্টারফেস কন্ট্রোলার) MAC ঠিকানা ব্যবহার করা হয়।
+
+          'DockNicMacAddress' বেছে নেওয়া হলে, ডকের NIC MAC ঠিকানা ব্যবহার করা হয়।
+
+          এই সেটিং ব্যবহারকারী পরিবর্তন করতে পারেন না।</translation>
 <translation id="1507957856411744193">যদি এই নীতিটি 'ট্রুতে' সেট করা হয়, তাহলে <ph name="PRODUCT_NAME" />টি শুধু RFC1918/RFC4913 ব্যক্তিগত ঠিকানা নয়, সব আইপি ঠিকানার কাস্ট ডিভাইসগুলিতে কানেক্ট করবে।
 
           যদি এই নীতিটি 'ফল্সে' সেট করা হয়, তাহলে <ph name="PRODUCT_NAME" />টি RFC1918/RFC4913 ব্যক্তিগত ঠিকানার কাস্ট ডিভাইসগুলিতে শুধুমাত্র কানেক্ট হবে।
@@ -737,6 +757,17 @@
 <translation id="2303795211377219696">ক্রেডিট কার্ডগুলির জন্য স্বতঃপূর্ণ সক্ষম করুন</translation>
 <translation id="2309390639296060546">ডিফল্ট ভূঅবস্থান সেটিং</translation>
 <translation id="2327252517317514801">যে ডোমেনগুলি থেকে G Suite অ্যাক্সেস করা যাবে সেগুলি নির্দিষ্ট করুন</translation>
+<translation id="2356878440219553005">ব্যাটারি চার্জ করার মোডের পাওয়ার ম্যানেজমেন্ট নীতি নির্দিষ্ট করে।
+
+          ব্যাটারির অত্যধিক ব্যবহারের দরুন ক্ষতি কমাতে ও আয়ু বাড়াতে ব্যাটারি চার্জ করা ডায়নামিকভাবে নিয়ন্ত্রণ করুন।
+
+          কাস্টম ব্যাটারি চার্জ করার মোড বেছে নিলে, DeviceBatteryChargeCustomStartCharging ও DeviceBatteryChargeCustomStopCharging অবশ্যই উল্লেখ করতে হবে।
+
+          এই নীতি সেট করা থাকলে এবং সেটি ডিভাইসে কাজ করলে, ব্যাটারি চার্জ করার মোড প্রয়োগ করা হবে।
+
+          এই নীতি সেট করা না থাকলে এবং সেটি ডিভাইসে কাজ করলে, স্ট্যান্ডার্ড ব্যাটারি চার্জ করার মোড প্রয়োগ করা হবে এবং ব্যবহারকারী তা পরিবর্তন করতে পারবেন না।
+
+          দ্রষ্টব্য: উল্লেখ করা থাকলে <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> এই নীতিকে ওভাররাইড করে।</translation>
 <translation id="237494535617297575">বিজ্ঞপ্তিগুলি প্রদর্শনের জন্য অনুমোদিত এমন সাইটগুলি নির্দিষ্ট করে এমন url ধরণগুলির একটি তালিকা আপনাকে সেট করার অনুমতি দেয়৷
 
 যদি এই নীতিটি বামে সেট না করে ছেড়ে যাওয়া হয়,  তাহলে গ্লোবাল ডিফল্ট মান সব সাইটগুলির জন্য ব্যবহার করা হবে যদি 'ডিফল্ট বিজ্ঞপ্তি সেটিং' নীতি সেট করা হয় তা থেকে, নয়তো ব্যবহারকারীদের ব্যক্তিগত কনফিগারেশান থেকে৷</translation>
@@ -774,6 +805,7 @@
 
       যদি এই নীতি মিথ্যাতে সেট করা থাকে, তাহলে জিরো-ডিলে অটো-লগইন (যদি কনফিগার করা থাকে) বাইপাস করা যাবে না৷</translation>
 <translation id="2454228136871844693">স্থিতিশীলতার জন্য অপ্টিমাইজ করুন।</translation>
+<translation id="2463034609187171371">TLS-এ DHE সাইফার স্যুট চালু করা</translation>
 <translation id="2463365186486772703">অ্যাপ্লিকেশন লোকেল</translation>
 <translation id="2466131534462628618">অন্তরীণ পোর্টাল প্রমাণীকরণ প্রক্সীকে উপেক্ষা করে</translation>
 <translation id="2482676533225429905">নেটিভ বার্তাপ্রেরণ</translation>
@@ -953,6 +985,7 @@
 <translation id="2769952903507981510">দূরবর্তী অ্যাক্সেস হোস্টের জন্য আবশ্যক ডোমেন নাম কনফিগার করুন</translation>
 <translation id="2787173078141616821">Android এর স্থিতি সম্পর্কে তথ্য প্রতিবেদন করে</translation>
 <translation id="2799297758492717491">URL প্যাটার্নগুলির সাদা তালিকাতে মিডিয়া অটোপ্লে এর অনুমতি দিন</translation>
+<translation id="2801155097555584385">ব্যাটারির চার্জ কত শতাংশ হলে চার্জ করা শুরু হবে তা সেট করা</translation>
 <translation id="2801230735743888564">ডিভাইস অফলাইনে থাকার সময় ব্যবহারকারীদেরকে ডাইনোসর ইস্টার ডিম গেম খেলার অনুমতি দেয়।
 
       এই নীতিটি মিথ্যাতে সেট করা থাকলে, ডিভাইস অফলাইনে থাকা অবস্থায় ব্যবহারকারীর ডাইনোসর ইস্টার ডিম গেম খেলতে পারবে না। এই সেটিং সত্যতে সেট করা থাকলে, ব্যবহারকারীরা ডাইনোসর গেম খেলার অনুমতি পায়। এই নীতিটি সেট না করা থাকলে, ব্যবহারকারীদেরকে নথিভুক্ত Chrome OS এ ডাইনোসর ইস্টার ডিম গেম খেলার অনুমতি দেওয়া হয় না, কিন্তু অন্যান্য পরিস্থিতিতে এটি খেলার অনুমতি দেওয়া হয়।</translation>
@@ -1025,6 +1058,7 @@
       যদি আপনি এই সেটিংসটি বন্ধ করেন বা মান সেট না করে থাকেন তাহলে প্রিন্টিং প্রিভিউ ডিফল্ট হিসাবে সম্প্রতি ব্যবহার করা প্রিন্টার ব্যবহার করবে।
 
       যদি আপনি এই সেটিংসটি চালু করেন, তাহলে প্রিন্টিং প্রিভিউ ডিফল্ট হিসাবে OS সিস্টেমের ডিফল্ট প্রিন্টিং ব্যবহার করবে।</translation>
+<translation id="285627849510728211">উন্নত ব্যাটারি চার্জ করার মোডের দিনের কনফিগারেশন সেট করা</translation>
 <translation id="2856674246949497058">OS ভার্সন টাগের্টের থেকে নতুন হলে টার্গেট ভার্সনে রোলব্যাক করুন এবং সেখানেই থাকুন। এই প্রসেস চলার সময় একবার পাওয়ারওয়াশ করে নিন।</translation>
 <translation id="2872961005593481000">বন্ধ করুন</translation>
 <translation id="2873651257716068683">প্রিন্টের পৃষ্ঠার ডিফল্ট সাইজ ওভাররাইড করে। পৃষ্ঠার সাইজ উপলভ্য না থাকলে এই নীতি উপেক্ষা করা হয়।</translation>
@@ -1160,12 +1194,26 @@
 <translation id="3072045631333522102">সাইন-ইন স্ক্রিনে খুচরো মোডে স্ক্রিন সেভার ব্যবহৃত হতে পারে</translation>
 <translation id="3072847235228302527">একটি ডিভাইস-স্থানীয় অ্যাকাউন্টের জন্য পরিষেবার শর্তাদি সেট করুন</translation>
 <translation id="3077183141551274418">ট্যাব লাইফসাইকেল চালু অথবা বন্ধ করা</translation>
+<translation id="3079417254871857650">ব্যবহারকারীর হোম ডিরেক্টরি ecryptfs এনক্রিপশন ব্যবহার করে তৈরি করা হলে কী অ্যাকশন নিতে হবে তা উল্লেখ করে।
+
+      আপনি এই নীতি 'DisallowArc'-এ সেট করলে, ব্যবহারকারীর জন্য Android অ্যাপগুলি বন্ধ হয়ে যাবে এবং ecryptfs-কে ext4 এনক্রিপশনে মাইগ্রেট করা হবে না। হোম ডিরেক্টরি আগে থেকেই ext4-এ এনক্রিপ্ট করা থাকলে Android অ্যাপগুলি চালু থাকবে।
+
+      আপনি এই নীতি 'Migrate'-এ সেট করলে, সাইন-ইন করার সময় ecryptfs-এ এনক্রিপ্ট করা হোম ডিরেক্টরি ব্যবহারকারীর সম্মতি ছাড়াই ext4 এনক্রিপশনে অটোমেটিক মাইগ্রেট হয়ে যাবে।
+
+      আপনি এই নীতি 'Wipe'-এ সেট করলে, সাইন-ইন করার সময় ecryptfs-এ এনক্রিপ্ট করা হোম ডিরেক্টরিগুলি মুছে যাবে এবং সেগুলির জায়গায় নতুন ext4-এ এনক্রিপ্ট করা হোম ডিরেক্টরি তৈরি হয়ে যাবে। সতর্কতা: এর ফলে ব্যবহারকারীর স্থানীয় ডেটা মুছে যাবে।
+
+      আপনি এই নীতি 'MinimalMigrate'-এ সেট করলে, সাইন-ইন করার সময় ecryptfs-এ এনক্রিপ্ট করা হোম ডিরেক্টরিগুলি মুছে যাবে এবং সেগুলির জায়গায় নতুন ext4-এ এনক্রিপ্ট করা হোম ডিরেক্টরি তৈরি হয়ে যাবে। তবে, ব্যবহারকারীকে যাতে আবার সাইন-ইন করতে না হয়, সেই জন্য এটি লগ-ইন টোকেন সংরক্ষণ করার চেষ্টা করবে। সতর্কতা: এর ফলে ব্যবহারকারীর স্থানীয় ডেটা মুছে যাবে।
+
+      এই নীতিকে আর কাজ করে না এমন কোনও বিকল্পে ('AskUser' বা 'AskForEcryptfsArcUsers') সেট করলে, আপনি যেন 'Migrate' বেছে নিয়েছেন ঠিক তেমনভাবে এই নীতি কাজ করবে।
+
+      কিয়স্ক ব্যবহারকারীর জন্য এই নীতি প্রযোজ্য নয়। এই নীতি সেট না করলে, ডিভাইসটি যেন 'DisallowArc'-এ সেট করা আছে এমনভাবে আচরণ করবে।</translation>
 <translation id="3086995894968271156"><ph name="PRODUCT_NAME" /> এ কাস্ট রিসিভার কনফিগার করুন।</translation>
 <translation id="3088796212846734853">যে সমস্ত সাইটকে ছবি দেখানোর অনুমতি দিতে চান সেগুলির ইউআরএলের একটি তালিকা সেট করতে দেয়।
 
           এই নীতিটি যদি এখন সেট করা না হয় এবং 'DefaultImagesSetting' নীতিটি যদি সেট করা থাকে, তাহলে সেই অনুযায়ী সমস্ত সাইটের জন্য এই নীতির গ্লোবাল ডিফল্ট সেটিং নির্ধারণ করা হবে। তা না হলে, ব্যবহারকারীর ব্যক্তিগত কনফিগারেশন অনুযায়ী এটি সেট করা হবে।
 
           মনে রাখবেন, পূর্বে Android-এ এই নীতি ভুল করে চালু করা হয়েছিল, কিন্তু Android-এ এই কার্যকারিতাটি কখনও সম্পূর্ণরূপে সমর্থিত হয়নি।</translation>
+<translation id="3091832372132789233">প্রাথমিকভাবে এক্সটারনাল পাওয়ারের উৎসের সাথে কানেক্ট করা ডিভাইসের ব্যাটারি চার্জ করা।</translation>
 <translation id="3096595567015595053">সক্ষম হওয়া প্লাগইনগুলির তালিকা</translation>
 <translation id="3101501961102569744">কীভাবে প্রক্সি সার্ভার সেটিংস নির্দিষ্ট করবেন তা বেছে নিন</translation>
 <translation id="3101709781009526431">তারিখ এবং সময়</translation>
@@ -1191,6 +1239,7 @@
           যদি এই সেটিংটি অক্ষম করা থাকে তবে <ph name="PRODUCT_NAME" /> শুধুমাত্র সিস্টেম লেভেলে ইনস্টল থাকা নেটিভ মেসেজিং হোস্টগুলি ব্যবহার করে।
 
           যদি এই সেটিংটি সেট না করেই ছেড়ে দেওয়া হয় তবে <ph name="PRODUCT_NAME" /> ব্যবহারকারী লেভেলের নেটিভ মেসেজিং হোস্টগুলি ব্যবহারের অনুমতি দেবে।</translation>
+<translation id="3177802893484440532">স্থানীয় বিশ্বস্ততা অ্যাঙ্করের জন্য অনলাইন OCSP/CRL পরীক্ষা করা প্রয়োজন</translation>
 <translation id="3185009703220253572"><ph name="SINCE_VERSION" /> ভার্সনটি থেকে</translation>
 <translation id="3187220842205194486">Android অ্যাপ্লিকেশানগুলি কর্পোরেট কী’গুলিতে অ্যাক্সেস পায় না। সেগুলির উপর এই নীতির কোনো প্রভাব নেই।</translation>
 <translation id="3205825995289802549">প্রথমবার চালনার সাথে সাথে প্রথম ব্রাউজারকে সর্বাধিক বিস্তার করে</translation>
@@ -1200,6 +1249,7 @@
 <translation id="3220624000494482595">কিয়স্ক অ্যাপটি যদি কোনো Android অ্যাপ হয়, তাহলে <ph name="PRODUCT_OS_NAME" /> ভার্সনের উপর এর কোনো নিয়ন্ত্রণ থাকবে না, এমনকি যদি নীতিটি <ph name="TRUE" />-এও সেট করা হয়।</translation>
 <translation id="3236046242843493070">ইউআরএল প্যাটার্নকে এক্সটেনশন, অ্যাপ এবং ব্যবহারকারীর স্ক্রিপ্টকে এর থেকে ইনস্টল করতে অনুমতি দিন</translation>
 <translation id="3240609035816615922">প্রিন্টার কনফিগারেশন অ্যাক্সেসের নীতি।</translation>
+<translation id="3240655340884151271">ডকের বিল্ট-ইন NIC MAC ঠিকানা</translation>
 <translation id="3243309373265599239">ব্যবহারকারীর ইনপুট ছাড়াই সময়কাল নির্দিষ্ট করে, তারপর ব্যাটারি শক্তি চলতে থাকলেও স্ক্রিনটির উজ্জ্বলতা হ্রাস হয়ে যায়৷
 
           যখন এই নীতিটি শুন্য থেকে বেশি কোনো মানে সেট থাকে, তখন তা <ph name="PRODUCT_OS_NAME" /> এর দ্বারা স্ক্রিনটির উজ্জ্বলতা হ্রাস হওয়ার উপর ক্রিয়া করার পূর্বে ব্যবহারকারীকে যতটা সময় অবশ্যই নিষ্ক্রিয় অবস্থায় থাকতে হবে সেই সময়টিকে নির্দিষ্ট করে৷
@@ -1221,6 +1271,12 @@
       যদি এই সেটিংটি চালু থাকে বা কনফিগার করা না থাকে তবে ব্যবহারকারী তাদের Google অ্যাকাউন্টটি প্রমাণীকরণের মাধ্যমে ক্লাউড প্রিন্ট প্রক্সিটি চালু করতে পারে৷
 
       এই সেটিংটি বন্ধ থাকলে ব্যবহারকারীরা প্রক্সিটি চালু করতে পারে না এবং যন্ত্রটি তার প্রিন্টার <ph name="CLOUD_PRINT_NAME" />এর সাথে শেয়ার করার অনুমতি দেবে না৷</translation>
+<translation id="3312206664202507568">SAML ব্যবহারকারীকে সেশন চলাকালীন SAML পাসওয়ার্ড পরিবর্তন করার সুযোগ দিতে chrome://password-change-এ একটি পৃষ্ঠা চালু করে। এর ফলে, SAML পাসওয়ার্ড ও ডিভাইসের লকস্ক্রিনের পাসওয়ার্ড সিঙ্ক করা অবস্থায় থাকে।
+
+      SAML পাসওয়ার্ড শীঘ্রই পরিবর্তন করার প্রয়োজন থাকলে ব্যবহারকারী যাতে সেশন চলাকালীন তা করতে পারেন, সেই জন্য এই নীতি বিজ্ঞপ্তি দেখানোও চালু করে।
+      SAML লগ-ইনের সময় SAML পরিচয় প্রদানকারী ডিভাইসে পাসওয়ার্ডের মেয়াদ শেষ হওয়ার তথ্য পাঠালে, তবেই এই বিজ্ঞপ্তি দেখানো হয়।
+
+      এই নীতি সেট করা থাকলে, ব্যবহারকারী সেটি পরিবর্তন বা ওভাররাইড করতে পারেন না।</translation>
 <translation id="3322771899429619102">আপনাকে url প্যাটার্নের একটি তালিকা সেট করার মঞ্জুরি দেয় যা এমন সাইটগুলিকে নির্দিষ্ট করে যেগুলি কী তৈরি করা ব্যবহার করার জন্য মঞ্জুরিপ্রাপ্ত। যদি কোনো url প্যাটার্ন 'KeygenBlockedForUrls' এ থাকে, তাহলে সেটি এসব ব্যতিক্রমকে ওভারারইড করে।
 
           যদি এই নীতিটি সেট না করে ছেড়ে যাওয়া হয়, তাহলে গ্লোবাল ডিফল্ট মান সব সাইটগুলির জন্য ব্যবহার করা হবে আর যদি 'DefaultKeygenSetting' নীতি সেট করা হয় তাহলে তার থেকে ব্যবহার করা হবে, নয়তো ব্যবহারকারীদের ব্যক্তিগত কনফিগারেশান থেকে।</translation>
@@ -1307,6 +1363,7 @@
 
           যদি এই নীতি অসত্য হিসাবে সেট করা থাকে বা কিছুই সেট করা না থাকে, তবে পাওয়ার ম্যানেজমেন্ট বিলম্ব করবে এবং সেশন শুরু হবার সঙ্গে সঙ্গে সেশনের সময়ের সীমা চলতে শুরু করে৷</translation>
 <translation id="3478024346823118645">সাইন আউটে ডেটা মুছুন</translation>
+<translation id="3480961938508521469">স্ট্যান্ডার্ড রেটে ব্যাটারি সম্পূর্ণ চার্জ করা।</translation>
 <translation id="348495353354674884">ভার্চুয়্যাল কীবোর্ড সক্ষম করুন</translation>
 <translation id="3487623755010328395">
         যদি এই নীতিটি সেট করা হয়, <ph name="PRODUCT_NAME" /> নিজে রেজিস্টার করার চেষ্টা করবে এবং সমস্ত প্রোফাইলগুলির সাথে যুক্ত ক্লাউড নীতিটি প্রয়োগ করবে।
@@ -1353,6 +1410,8 @@
 <translation id="3547954654003013442">প্রক্সি সেটিংস</translation>
 <translation id="355118380775352753">বিকল্প ব্রাউজারে যে ওয়েবসাইটগুলি খোলা হবে</translation>
 <translation id="3554984410014457319">Google অ্যাসিস্ট্যান্টকে ভয়েসের মাধ্যমে চালু করার কমান্ড শুনতে দিন</translation>
+<translation id="356579196325389849">ব্যবহারকারী Chrome OS রিলিজ চ্যানেল কনফিগার করতে পারেন</translation>
+<translation id="3575011234198230041">HTTP যাচাইকরণ</translation>
 <translation id="3577251398714997599">যে সাইটে ব্যাঘাতকারী বিজ্ঞাপন দেখানো হয় সেই সাইটের জন্য বিজ্ঞাপন সেটিংস</translation>
 <translation id="357917253161699596">ব্যবহারকারীকে ব্যবহারকারীর সার্টিফিকেট পরিচালনা করার অনুমতি দিন</translation>
 <translation id="3583230441447348508">আগে থেকে কনফিগার করা একটি নেটওয়ার্ক ফাইল শেয়ারের সূচিকে নির্দেশ করে।
@@ -1382,6 +1441,7 @@
 
         ডেস্কটপে মেশিন স্কোপ ক্লাউড পলিসি এনরোলমেন্টে এই নীতি ব্যবহার করা হয় এবং রেজিস্ট্রি, Windows-এ GPO, Mac-এ plist এবং Linux-এ JSON পলিসি ফাইল দ্বারা সেট করা যেতে পারে।</translation>
 <translation id="3660562134618097814">লগইন করার সময় SAML IdP কুকি স্থানান্তর করে</translation>
+<translation id="3668151900457104753">কালোতালিকাভুক্ত এক্সটেনশন আনইনস্টল করা</translation>
 <translation id="3701121231485832347"><ph name="MS_AD_NAME" /> পরিচালিত <ph name="PRODUCT_OS_NAME" /> ডিভাইসের সেটিংস নিয়ন্ত্রণ করে।</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (একক-লাইনের ক্ষেত্রটি বন্ধ করা হয়েছে এবং ভবিষ্যতে এটি সরানো হবে। অনুগ্রহ করে নিচের একাধিক লাইনের টেক্সট বক্সটি ব্যবহার করা শুরু করুন।)</translation>
 <translation id="3709266154059827597">এক্সটেনশন ইনস্টলেশন কালোতালিকা কনফিগার করুন</translation>
@@ -1463,6 +1523,16 @@
          যদি এই নীতি সেট না করা অবস্থায় রেখে দেওয়া হয় তবে অন-স্ক্রীণ কীবোর্ড প্রাথমিকভাবে অক্ষম থাকতে পারে কিন্তু যেকোনো সময় ব্যবহারকারী সক্ষম করতে পারবেন৷</translation>
 <translation id="382476126209906314">দূরবর্তী অ্যাক্সেস হোস্টের জন্য TalkGadget উপসর্গ কনফিগার করুন</translation>
 <translation id="3824972131618513497">পাওয়ার ম্যানেজমেন্ট ও রিবুট করা সংক্রান্ত সেটিংস নিয়ন্ত্রণ করে।</translation>
+<translation id="3826475866868158882">Google লোকেশন পরিষেবা চালু করা হয়েছে</translation>
+<translation id="3831054243924627613">এই নীতি Android ব্যাক-আপ ও ফিরিয়ে আনার প্রাথমিক অবস্থাকে নিয়ন্ত্রণ করে।
+
+      এই নীতি কনফিগার করা না থাকলে বা <ph name="BR_DISABLED" /> হিসেবে সেট করা থাকলে, Android ব্যাক-আপ ও ফিরিয়ে আনা প্রাথমিকভাবে বন্ধ করা থাকে।
+
+      এই নীতি <ph name="BR_ENABLED" /> হিসেবে সেট করা থাকলে, Android ব্যাক-আপ ও ফিরিয়ে আনা প্রাথমিকভাবে চালু করা থাকে।
+
+      এই নীতি <ph name="BR_UNDER_USER_CONTROL" /> হিসেবে সেট করা থাকলে, Android ব্যাক-আপ ও ফিরিয়ে আনা ব্যবহার করা হবে কিনা তা ব্যবহারকারীকে জিজ্ঞাসা করা হয়। ব্যবহারকারী ব্যাক-আপ ও ফিরিয়ে আনা চালু করলে, Android অ্যাপের ডেটা Android ব্যাক-আপ সার্ভারে আপলোড করে দেওয়া হয় এবং মানানসই অ্যাপ আবার ইনস্টল করার সময় সেখান থেকে ফিরিয়ে আনা হয়।
+
+      মনে রাখবেন যে এই নীতি শুধু প্রাথমিক সেট-আপের সময় Android ব্যাক-আপ ও ফিরিয়ে আনাকে নিয়ন্ত্রণ করে। ব্যবহারকারী পরে Android সেটিংস থেকে ব্যাক-আপ ও ফিরিয়ে আনা চালু বা বন্ধ করতে পারেন।</translation>
 <translation id="3831376478177535007">এই সেটিং চালু করা থাকলে Symantec Corporation-এর Legacy PKI অপারেশনের দ্বারা ইস্যু করা সার্টিফিকেটগুলিকে <ph name="PRODUCT_NAME" /> বিশ্বস্ত হিসেবে বিবেচনা করতে দেয়, যদি সেগুলি যাচাই করা যায় এবং স্বীকৃত CA সার্টিফিকেটের সাথে যুক্ত থাকে।
 
       মনে রাখবেন, অপারেটিং সিস্টেম যদি Symantec-এর পুরনো পরিকাঠামোর সার্টিফিকেটকে এখনও স্বীকৃতি দেয়, একমাত্র তাহলেই এই নীতিটি কার্যকর হবে। OS এই ধরনের সার্টিফিকেট কীভাবে গ্রহণ করে তা যদি কোনও OS আপডেটের কারণে পরিবর্তিত হয়, তাহলে এই নীতিটি আর কার্যকর থাকবে না। এছাড়া, Symantec-এর পুরনো সার্টিফিকেটের ব্যবহার বন্ধ করে নতুন ব্যবস্থা গ্রহণ করার জন্য এন্টারপ্রাইজদের সময় দিতেই এই নীতিটি সাময়িকভাবে ব্যবহার করা উচিত। ১ জানুয়ারি, ২০১৯-এ অথবা তার আগে পরে এই নীতিটি তুলে নেওয়া হবে।
@@ -1544,6 +1614,15 @@
 <translation id="391531815696899618">যখন সত্যতে সেট করা থাকে তখন <ph name="PRODUCT_OS_NAME" /> ফাইল অ্যাপ্লিকেশানে Google ড্রাইভ সিঙ্ক করা অক্ষম করে। সেই ক্ষেত্রে, কোন তথ্য Google ড্রাইভে আপলোড করা হয় না।
           যদি সেট না করা থাকে অথবা মিথ্যাতে সেট করা থাকে, তাহলে ব্যবহারকারীরা Google ড্রাইভে ফাইলগুলি স্থানান্তরিত করতে পারবে।</translation>
 <translation id="3915395663995367577">একটি প্রক্সি .pac ফাইলের URL</translation>
+<translation id="3920892052017026701">ব্যাটারির চার্জ কত শতাংশ হলে চার্জ করা শুরু হবে তা সেট করুন।
+
+          সেই কাস্টম মানের নিচে নেমে গেলে ব্যাটারি চার্জ হতে শুরু করে।
+
+          DeviceBatteryChargeCustomStartCharging-এর মান DeviceBatteryChargeCustomStopCharging থেকে কম হতে হবে।
+
+          DeviceBatteryChargeMode কাস্টম মানে সেট করা থাকলেই শুধু এই নীতি ব্যবহার করা হবে।
+
+          এই নীতি কনফিগার করা বা সেট করা না থাকলে, ব্যাটারি চার্জ করার স্ট্যান্ডার্ড মোড প্রয়োগ করা হবে।</translation>
 <translation id="3925377537407648234">ডিসপ্লে রেজোলিউশন এবং স্কেল ফ্যাক্টর সেট করুন</translation>
 <translation id="3939893074578116847">অনলাইন অবস্থা পর্যবেক্ষণ করতে ব্যবস্থাপনা সার্ভারে নেটওয়ার্ক প্যাকেট পাঠায়, যাতে করে
       ডিভাইসটি অফলাইনে আছে কিনা তা শনাক্ত করতে সার্ভারকে মঞ্জুরি দিতে পারে।
@@ -1677,6 +1756,7 @@
 <translation id="4150201353443180367">প্রদর্শন</translation>
 <translation id="4157003184375321727">OS এবং ফার্মওয়্যার ভার্সন অভিযোগ করুন</translation>
 <translation id="4157594634940419685">স্থানীয় CUPS প্রিন্টারগুলিতে অ্যাক্সেসের অনুমতি দিন</translation>
+<translation id="4160962198980004898">ডক করা অবস্থায় ডিভাইসের MAC ঠিকানার উৎস</translation>
 <translation id="4163705126749612234">প্রয়োজনীয় ক্লায়েন্ট ডোমেন নামগুলি কনফিগার করে যা দূরবর্তী অ্যাক্সেস ক্লায়েন্টগুলিতে প্রযোজ্য হবে এবং ব্যবহারকারীদের এটি পরিবর্তন করা থেকে আটকায়।
 
           যদি এই সেটিং চালু করা থাকে তাহলে শুধুমাত্র নির্দিষ্ট ডোমেনের ক্লায়েন্টগুলি হোস্টের সাথে সংযুক্ত হতে পারে।
@@ -1754,6 +1834,7 @@
       মনে রাখবেন, অ্যাপ আইডি থাকলেই যে একটি অ্যাপকে লক স্ক্রিনে নোট লেখার অ্যাপ হিসেবে চালু করা যাবে এমন কোনও নিশ্চয়তা নেই - যেমন, Chrome 61-এ যে অ্যাপগুলি পাওয়া যায়, সেগুলিও প্ল্যাটফর্মের অনুমতি ছাড়া ব্যবহার করা যায় না।
 
      যদি নীতিটি সেট না করা হয়, তাহলে লক স্ক্রিনে চালু করা যাবে এমন সমস্ত অ্যাপের উপরে আর কোনও বিধিনিষেধ থাকবে না।</translation>
+<translation id="4313767483634435271">ডিভাইসের নির্দিষ্ট ডক MAC ঠিকানা</translation>
 <translation id="4322842393287974810">শূন্য বিলম্ব সহ স্বয়ংক্রিয় লঞ্চ হওয়া কিয়স্ক অ্যাপ্লিকেশনকে <ph name="PRODUCT_OS_NAME" /> সংস্করণ নিয়ন্ত্রণের অনুমতি দিন</translation>
 <translation id="4325690621216251241">সিস্টেম ট্রেতে একটি লগ আউট বোতাম জুড়ুন</translation>
 <translation id="4332177773549877617">Android অ্যাপ ইনস্টলেশনের জন্য লগ ইভেন্টগুলি</translation>
@@ -1785,6 +1866,7 @@
 <translation id="4360826270668210664">যদি এই নীতি সেট করা থাকে তাহলে দূরবর্তী অ্যাক্সেস হোস্টের সাথে সংযোগ করার জন্য প্রমাণীকরণ ক্লায়েন্টকে এই URL থেকে একটি প্রমাণীকরণ টোকেন প্রাপ্ত হবে। RemoteAccessHostTokenValidationUrl এর সাথে ব্যবহার করা আবশ্যক।
 
           বর্তমানে এই বৈশিষ্ট্যটি সার্ভার-সাইডে অক্ষম রয়েছে।</translation>
+<translation id="4363057787588706121">বিভিন্ন উৎসের তালিকাবদ্ধ নীতিগুলিকে মার্জ করতে দেওয়া</translation>
 <translation id="436581050240847513">ডিভাইস নেটওয়ার্ক ইন্টারফেসগুলির অভিযোগ করুন</translation>
 <translation id="4372704773119750918">এন্টারপ্রাইজ ব্যবহারকারীকে মাল্টিপ্রোফাইলের এর অংশ হওয়ার অনুমতি দেয় না (প্রধান অথবা দ্বিতীয়)</translation>
 <translation id="4377599627073874279">সব সাইটকে সকল ছবি দেখানোর অনুমতি দিন</translation>
@@ -1959,6 +2041,7 @@
 <translation id="4826326557828204741">ব্যাটারি শক্তি ব্যবহার করে চালনা করার সময় নিষ্ক্রিয়তা বিলম্বের সময়সীমা পেরিয়ে গেলে যে পদক্ষেপ নেওয়া হবে</translation>
 <translation id="4832852360828533362">ব্যবহারকারী ও ডিভাইস সম্পর্কে জানানো</translation>
 <translation id="4834526953114077364">যতক্ষণ পর্যন্ত পর্যাপ্ত খলি সঞ্চয়স্থান থাকে না ততক্ষণ শেষ ৩ মাস লগ ইন করেনি এমন সম্প্রতি খুব কম ব্যবহৃত ব্যবহারকারীদের সরানো হয়</translation>
+<translation id="4835622243021053389">NTLMv2 যাচাইকরণ চালু করা।</translation>
 <translation id="4858735034935305895">পূর্ণস্ক্রীন মোড এর অনুমতি দিন</translation>
 <translation id="4861767323695239729">ব্যবহারকারীর সেশনে অনুমোদিত ইনপুট পদ্ধতিগুলি কনফিগার করুন</translation>
 <translation id="487460824085252184">নিজে থেকে মাইগ্রেট হবে, ব্যবহারকারীর সম্মতি নেওয়ার প্রয়োজন নেই।</translation>
@@ -2081,6 +2164,11 @@
 
       <ph name="URL_LIST_POLICY_NAME" />-এর ক্ষেত্রে সেটি না হলেও, এখানে নিয়ম উভয় দিকেই প্রযোজ্য হয়। অর্থাৎ, Internet Explorer অ্যাড-ইন উপস্থিত ও চালু থাকলে, <ph name="IE_PRODUCT_NAME" /> এই ইউআরএলগুলি <ph name="PRODUCT_NAME" />-এ খুলবে কিনা সেটিও এর দ্বারা নিয়ন্ত্রিত হয়।</translation>
 <translation id="5124368997194894978">AC-এর বুট প্রক্রিয়া চালু করা (অলটার্নেটিং কারেন্ট)</translation>
+<translation id="5131211790949066746"><ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> ও <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> এক্সটেনশন ইনস্টল তালিকার নীতিগুলি মার্জ করা চালু করে।
+
+      আপনি এই সেটিং চালু করলে, শুধু একটি উৎস থেকে সবচেয়ে বেশি অগ্রাধিকার সম্পন্ন মানগুলিকে ব্যবহার না করে মেশিন প্ল্যাটফর্ম নীতি, মেশিন ক্লাউড নীতি ও ব্যবহারকারীর প্ল্যাটফর্ম নীতির মানগুলিকে একটি তালিকায় মার্জ করে সামগ্রিকভাবে ব্যবহার করা হয়।
+
+      আপনি এই সেটিং বন্ধ করে দিলে বা সেট না করলে, সবচেয়ে বেশি অগ্রাধিকার আছে এমন উৎস থেকে তালিকার এন্ট্রি নেওয়া হয় এবং বাকি উৎসগুলিকে দ্বন্দ্ব আছে বলে দেখানো হয় ও অগ্রাহ্য করা হয়।</translation>
 <translation id="5141670636904227950">লগইন স্ক্রিনে সক্রিয় ডিফল্ট স্ক্রিন ম্যাগনিফায়ারের প্রকার সেট করুন</translation>
 <translation id="5142301680741828703">নিম্নলিখিত URL ধরণগুলি সর্বদা <ph name="PRODUCT_FRAME_NAME" />এ রেন্ডার করুন</translation>
 <translation id="5148753489738115745">যখন <ph name="PRODUCT_FRAME_NAME" />  <ph name="PRODUCT_NAME" /> আরম্ভ করে তখন আপনাকে ব্যবহার করা অতিরিক্তি প্যারামিটার নির্দিষ্ট করতে অনুমতি দেয়৷
@@ -2202,6 +2290,7 @@
 
       নীতিটি সেট করা না থাকলে বা এটি খালি স্ট্রিং বা কোনো ভুল পোর্ট ব্যাপ্তিতে সেট করা হলে, WebRTC-কে যেকোনো উপলব্ধ স্থানীয় UDP পোর্ট ব্যবহার করার অনুমতি দেওয়া হয়।</translation>
 <translation id="5290940294294002042">ব্যবহারকারী চালু বা বন্ধ করতে পারে এমন প্লাগ-ইনগুলির একটি তালিকা নির্দিষ্ট করে</translation>
+<translation id="5306186200045823863">Symantec Corporation-এর Legacy PKI Infrastructure-এ বিশ্বাস চালু করা</translation>
 <translation id="5307432759655324440">ছদ্মবেশী মোডের উপলব্ধতা</translation>
 <translation id="5318185076587284965">রিমোট অ্যাক্সেস হোস্ট দ্বারা রিলে সার্ভারগুলির ব্যবহার সক্ষম করুন</translation>
 <translation id="5323128137188992869"><ph name="PRODUCT_NAME" /> ব্যবহার করে ডিভাইসে কন্টেন্ট কাস্ট করার অনুমতি দেয়।
@@ -2304,6 +2393,7 @@
       নিয়মগুলি একে অপরের সাথে বিরোধ সৃষ্টি করলে, <ph name="PRODUCT_NAME" /> সবচেয়ে নির্দিষ্ট নিয়মটি ব্যবহার করে।</translation>
 <translation id="5475361623548884387">প্রিন্ট সক্ষম করুন</translation>
 <translation id="547601067149622666">যে সাইটে ব্যাঘাতকারী বিজ্ঞাপন দেখানো হয় সেই সাইটে বিজ্ঞাপন দেখানোর অনুমতি দেবেন না</translation>
+<translation id="5483065054530244863">স্থানীয় বিশ্বস্ততা অ্যাঙ্করের প্রদান করা ও SHA-1 দ্বারা স্বাক্ষরিত সার্টিফিকেটগুলিকে অনুমতি দেওয়া</translation>
 <translation id="5483777239978559943">এই নীতি থামিয়ে দেওয়া হয়েছে। ফ্ল্যাশ প্লাগ-ইনের উপলব্ধতা নিয়ন্ত্রণ করতে অনুগ্রহ করে <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> ব্যবহার করুন এবং PDF ফাইলগুলিকে খোলার জন্য সমন্বিত PDF ভিউয়ার ব্যবহার করবেন কিনা তা নিয়ন্ত্রণ করতে <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> ব্যবহার করুন।
 
       <ph name="PRODUCT_NAME" />-এ  প্লাগ-ইনগুলির একটি তালিকা নির্দিষ্ট করে যেগুলি ব্যবহারকারীরা চালু বা বন্ধ করতে পারবেন।
@@ -2420,6 +2510,17 @@
           If you enable or do not set this policy, users can view their passwords in clear text in the password manager.</translation>
 <translation id="5620392548325769024">OS আপগ্রেডের পরে প্রথম বার ব্রাউজার লঞ্চ হওয়ার সময় স্বাগতম পৃষ্ঠা দেখানো সক্ষম করে</translation>
 <translation id="5630352020869108293">শেষ সেশন পুনরুদ্ধার করুন</translation>
+<translation id="5643906875497889108">কী ধরনের অ্যাপ বা এক্সটেনশন ইনস্টল করার অনুমতি থাকবে তা নিয়ন্ত্রণ করে এবং রানটাইম অ্যাক্সেস সীমাবদ্ধ করে।
+
+          এই সেটিং, <ph name="PRODUCT_NAME" />-এ ইনস্টল করা যাবে এমন অ্যাপ বা এক্সটেনশনের ধরন সহ যে হোস্টের সাথে সেগুলি ইন্টার‍্যাক্ট করতে পারবে তা সাদাতালিকাভুক্ত করে। মান হিসেবে স্ট্রিংয়ের একটি তালিকা থাকে, যার প্রতিটি মান নিম্নলিখিতগুলির মধ্যে যেকোনও একটি হতে হবে: "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app" এই ধরনগুলি সম্পর্কে আরও জানতে <ph name="PRODUCT_NAME" /> এক্সটেনশন ডকুমেন্টেশন দেখুন।
+
+          ExtensionInstallForcelist-এর মাধ্যমে জোর করে ইনস্টল করা অ্যাপ বা এক্সটেনশনকেও এই নীতি প্রভাবিত করে।
+
+          এই সেটিং কনফিগার করা থাকলে, তালিকাভুক্ত নয় এমন অ্যাপ বা এক্সটেনশনের ধরন ইনস্টল হবে না।
+
+          এই সেটিং কনফিগার করা না থাকলে, যেকোনও ধরনের অ্যাপ বা এক্সটেনশন ইনস্টল করা যাবে।
+
+          ভার্সন 75-এর আগের কোনও ভার্সনে একাধিক কমা দিয়ে আলাদা করে লেখা এক্সটেনশন আইডি কাজ করে না, তাই সেগুলি এড়িয়ে যাওয়া হবে। নীতির বাকি অংশ কিন্ত প্রয়োগ করা হবে।</translation>
 <translation id="5645779841392247734">এই সাইটগুলিতে কুকিজ মঞ্জুর করুন</translation>
 <translation id="5689430183304951538">প্রিন্টের পৃষ্ঠার ডিফল্ট সাইজ</translation>
 <translation id="5693469654327063861">ডেটা মাইগ্রেশনের অনুমতি দিন</translation>
@@ -2459,6 +2560,7 @@
 <translation id="5765780083710877561">বর্ণনা:</translation>
 <translation id="5770738360657678870">Dev চ্যানেল (অস্থির হতে পারে)</translation>
 <translation id="5774856474228476867">ডিফল্ট সার্চ সরবরাহকারী সার্চের URL</translation>
+<translation id="5775235485119094648">একটি নির্দিষ্ট ব্যাপ্তির মধ্যে থাকলে ব্যাটারি চার্জ করা।</translation>
 <translation id="5776485039795852974">কোন সাইট ডেস্কটপ বিজ্ঞপ্তি দেখাতে চাইলে প্রতিবারই জিজ্ঞাসা করুন</translation>
 <translation id="5781412041848781654">HTTP প্রমাণীকরণের জন্য কোন GSSAPI লাইব্রেরি ব্যবহার করতে হবে তা নির্দিষ্ট করে৷ আপনি হয় একটি লাইব্রেরি নাম বা সম্পূর্ণ পথ সেট করতে পারেন৷
 
@@ -2525,6 +2627,7 @@
 <translation id="5893553533827140852">যদি এই সেটিং সক্ষম করা থাকে, তাহলে একটি দূরবর্তী হোস্ট সংযোগ জুড়ে gnubby প্রমাণীকরণের অনুরোধগুলির প্রক্সি করা হবে৷
 
           যদি এই সেটিং অক্ষম করা থাকে অথবা কনফিগার করা না থাকে, তাহলে gnubby প্রমাণীকরণের অনুরোধগুলির প্রক্সি করা হবে না৷</translation>
+<translation id="5897913798715600338">দ্রুত চার্জ করার প্রযুক্তি ব্যবহার করে ব্যাটারি চার্জ করা।</translation>
 <translation id="5898486742390981550">যখন একাধিক ব্যবহারকারী লগ ইন করে থাকেন, তখন শুধুমাত্র প্রাথমিক ব্যবহারকারী Android অ্যাপ্লিকেশানগুলি ব্যবহার করতে পারেন।</translation>
 <translation id="5900196529149231477">
       এই নীতি সাইন-ইন স্ক্রিনের ক্ষেত্রে প্রযোজ্য। <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> নীতি দেখুন যা ব্যবহারকারীর সেশনের ক্ষেত্রে প্রযোজ্য। উভয় নীতির জন্য সমান মান সেট করার সাজেশন দেওয়া হয়। যদি মানগুলি না মেলে তাহলে ব্যবহারকারীর সেশনে প্রবেশ করার সময় ব্যবহারকারী নীতি দ্বারা নির্দিষ্ট মানটি প্রয়োগ করার কারণে দেরী হতে পারে।
@@ -2533,12 +2636,14 @@
       নীতি যদি কনফিগার না করা হয় তাহলে সাইন-ইন স্ক্রিনের জন্য প্ল্যাটফর্ম ডিফল্ট আসিসোলেশন সেটিংস ব্যবহার করা হবে।
       </translation>
 <translation id="5901427587865226597">শুধুমাত্র ডুপ্লেক্স প্রিন্টিং</translation>
+<translation id="5905473632148429217">অনলাইন OCSP/CRL পরীক্ষা চালু করা</translation>
 <translation id="5906199912611534122">নেটওয়ার্ক থ্রোটলিং চালু বা বন্ধ করতে মঞ্জুরি দেয়।
       এটি সকল ব্যবহারকারী এবং ডিভাইসে সকল ইন্টারফেসের ক্ষেত্রে প্রযোজ্য। এটি একবার সেট করা হলে,
       নীতিটি পরিবর্তন করে এটি বন্ধ না করা পর্যন্ত থ্রোটলিং চলতে থাকে।
 
       মিথ্যাতে সেট করা হলে, কোনো থ্রোটলিং হয় না।
       সত্যতে সেট করা হলে, সরবরাহকৃত আপলোড এবং ডাউনলোড হার (kbits/s এ) পেতে সিস্টেম থ্রোটল করা হয়।</translation>
+<translation id="591088232153082363">ব্যাটারি ব্যবহারের প্যাটার্নের উপর নির্ভর করে এমন অ্যাডাপটিভ চার্জ ব্যাটারি।</translation>
 <translation id="5921713479449475707">HTTP এর মাধ্যমে স্বতঃআপডেট ডাউনলোড করার অনুমতি দিন</translation>
 <translation id="5921888683953999946">লগইন স্ক্রিনে বড় কার্সার অ্যাক্সেসযোগ্যতার বৈশিষ্ট্যের ডিফল্ট স্থিতি সেট করে৷
 
@@ -2560,6 +2665,7 @@
 <translation id="5950205771952201658">নির্বাচিত ব্যর্থতার ক্ষেত্রে অনলাইন প্রত্যাহারমূলক পরীক্ষা কোনো কার্যকরী নিরাপত্তা সুবিধা প্রদান করে না, এই বিষয়ের আলোকে, সেগুলিকে <ph name="PRODUCT_NAME" /> ভার্সন 19 এবং তার পরেরগুলিতে ডিফল্ট ভাবে বন্ধ করা হয়। এই নীতিকে সত্য হিসাবে সেট করলে, পূর্ববর্তী আচরণ পূর্বাবস্থায় ফিরে আসে এবং অনলাইন OCSP/CRL পরীক্ষা করা হয়।
 
       যদি নীতিটি সেট না করা হয় অথবা ফলসে সেট করা হয়, তাহলে <ph name="PRODUCT_NAME" /> 19 এবং তার পরবর্তী ভার্সনে <ph name="PRODUCT_NAME" /> অনলাইন প্রত্যাহারের পরীক্ষা করবে না।</translation>
+<translation id="5961137303188584693">ডিভাইসের বিল্ট-ইন NIC MAC ঠিকানা</translation>
 <translation id="5966615072639944554">রিমোট প্রত্যায়ন এপিআই ব্যবহারের অনুমোদন পাওয়া এক্সটেনশনগুলি</translation>
 <translation id="5983708779415553259">সাইটগুলির জন্য ডিফল্ট আচরণ কোনো সামগ্রী প্যাকে নেই</translation>
 <translation id="5997543603646547632">ডিফল্ট ভাবে ২৪ ঘণ্টার ঘড়ি ব্যবহার করুন</translation>
@@ -2650,6 +2756,17 @@
 <translation id="6111936128861357925">ডাইনোসর ইস্টার ডিম গেমকে মঞ্জুরি ‍দিন</translation>
 <translation id="6114416803310251055">প্রকাশিত অননুমোদন</translation>
 <translation id="6133088669883929098">সমস্ত সাইটকে কী তৈরি করা ব্যবহার করতে অনুমতি দিন</translation>
+<translation id="6136537398661737682">এই নীতি Google লোকেশন পরিষেবার প্রাথমিক অবস্থাকে নিয়ন্ত্রণ করে।
+
+      এই নীতি কনফিগার করা না থাকলে বা <ph name="GLS_DISABLED" /> হিসেবে সেট করা থাকলে, Google লোকেশন পরিষেবা প্রাথমিকভাবে বন্ধ করা থাকে।
+
+      এই নীতি <ph name="GLS_ENABLED" /> হিসেবে সেট করা থাকলে, Google লোকেশন পরিষেবা প্রাথমিকভাবে চালু করা থাকে।
+
+      এই নীতি <ph name="GLS_UNDER_USER_CONTROL" /> হিসেবে সেট করা থাকলে, Google লোকেশন পরিষেবা ব্যবহার করা হবে কিনা তা ব্যবহারকারীকে জিজ্ঞাসা করা হয়। এটি Android অ্যাপকে পরিষেবা ব্যবহার করে ডিভাইসের লোকেশন জানতে চাওয়ার অনুমতি দেয় এবং পরিচয় গোপন রেখে লোকেশনের ডেটা Google-এ জমা দেওয়ার সুবিধা চালু করে।
+
+      মনে রাখবেন যে এই নীতি শুধু প্রাথমিক সেট-আপের সময় Google লোকেশন পরিষেবা নিয়ন্ত্রণ করে। ব্যবহারকারী পরে Android সেটিংস থেকে Google লোকেশন পরিষেবা চালু বা বন্ধ করতে পারেন।
+
+      মনে রাখবেন যে <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> নীতি <ph name="BLOCK_GEOLOCATION_SETTING" /> হিসেবে সেট করা থাকলে, এই নীতি অগ্রাহ্য করা হয় এবং Google লোকেশন পরিষেবা সবসময় বন্ধ করা থাকে।</translation>
 <translation id="6141402445226505817">সর্বদা স্থূল সময়াঞ্চল শনাক্তকরণ ব্যবহার করুন</translation>
 <translation id="6145799962557135888">আপনাকে ইউআরএল প্যাটার্নের একটি তালিকা সেট করার মঞ্জুরি দেয় যা জাভাস্ক্রিপ্ট চালানোর মঞ্জুরি দেওয়া সাইটগুলিকে JavaScrআইপি চালনা করতে নির্দিষ্ট করে৷
 
@@ -2725,9 +2842,17 @@
       যদি অক্ষম থাকে, তাহলে স্বতঃপূর্ণ ফর্ম আমদানি করা হয় না।
 
       যদি এটি সেট না করা হয়, ব্যবহারকারীকে আমদানি করার কথা বলা হতে পারে অথবা স্বয়ংক্রিয়ভাবে আমদানি করা হতে পারে।</translation>
+<translation id="6221175752766085998">subjectAlternativeName এক্সটেনশন ছাড়া স্থানীয় বিশ্বস্ততা অ্যাঙ্করের প্রদান করা সার্টিফিকেটগুলিকে অনুমতি দেওয়া</translation>
 <translation id="6224304369267200483">URL/ডোমেন নিজে থেকে নিরাপত্তা কী প্রমাণীকরণের অনুমতি দেয়</translation>
 <translation id="6233173491898450179">ডাউনলোড ডিরেক্টরি সেট করুন</translation>
 <translation id="6244210204546589761">প্রারম্ভে খোলার জন্য URL</translation>
+<translation id="6255387031094435995">বিভিন্ন উৎসের কিন্তু একই স্কোপ ও লেভেলের বেছে নেওয়া নীতিগুলিকে মার্জ করতে দেয়।
+
+        একই স্কোপ ও লেভেলের তালিকাবদ্ধ কোনও নীতির দুটি বিভিন্ন উৎসের মধ্যে দ্বন্দ্ব সৃষ্টি হলে, মানগুলিকে মার্জ করে নীতির একটি নতুন তালিকা তৈরি হয়।
+
+        কোনও তালিকাবদ্ধ নীতির দুটি বিভিন্ন উৎস ও স্কোপের এবং/অথবা লেভেলের মধ্যে দ্বন্দ্ব সৃষ্টি হলে, সবচেয়ে বেশি অগ্রাধিকার আছে যে নীতির সেটি প্রয়োগ করা হয়।
+
+        কোনও নীতি তালিকাতে না থাকলে এবং সেটির বিভিন্ন উৎস ও স্কোপের এবং/অথবা লেভেলের মধ্যে দ্বন্দ্ব সৃষ্টি হলে, সবচেয়ে বেশি অগ্রাধিকার আছে যে নীতির সেটি প্রয়োগ করা হয়।</translation>
 <translation id="6258193603492867656">জেনারেট হওয়া Kerberos SPN-এর কোনো নন-স্ট্যান্ডার্ড পোর্ট অন্তর্ভুক্ত করা উচিত কি না নির্দিষ্ট করে৷ আপনি যদি এই সেটিং চালু করেন তাহলে, একটি নন-স্ট্যান্ডার্ড পোর্ট (যেমন, 80 অথবা 443 ছাড়া অন্য কোনো পোর্ট) প্রবেশ হয়, এটি জেনারেট হওয়া Kerberos SPN-এ অন্তর্ভুক্ত হবে৷ আপনি যদি এই সেটিং বন্ধ করেন তাহলে, জেনারেট হওয়া Kerberos SPN কোনো ক্ষেত্রেই কোনো পোর্ট অন্তর্ভুক্ত করবে না৷</translation>
 <translation id="6261643884958898336">মেশিন শনাক্তকরণের তথ্য রিপোর্ট করা</translation>
 <translation id="6281043242780654992">নেটিভ বার্তাপ্রেরণের জন্য নীতিগুলি কনফিগার করুন৷ কালোতালিকাভুক্ত নেটিভ বার্তাপ্রেরণ হোস্টগুলিকে পরিচ্ছন্ন তলিকাভুক্ত না করা পর্যন্ত অনুমোদিত হবে না৷</translation>
@@ -2927,6 +3052,7 @@
 <translation id="6757438632136860443">যে সমস্ত সাইটকে <ph name="FLASH_PLUGIN_NAME" /> প্লাগ ইন চালানোর অনুমতি দিতে চান, সেগুলির URL এর একটি তালিকা সেট করতে দেয়।
 
           এই নীতিটি যদি এখন সেট করা না হয়, এবং  'ডিফল্ট প্লাগইন সেটিংস' নীতিটি যদি সেট করা থাকে, তাহলে সেই অনুযায়ী সমস্ত সাইটের জন্য এই নীতির গ্লোবাল ডিফল্ট সেটিং নির্ধারণ করা হবে। তা না হলে, ব্যবহারকারীর ব্যক্তিগত কনফিগারেশন অনুযায়ী এটি সেট করা হবে।</translation>
+<translation id="6757613329154374267">ব্যাক-আপ ও ফিরিয়ে আনা চালু করা হয়েছে</translation>
 <translation id="6762235610019366960">আপনাকে <ph name="PRODUCT_NAME" />-এ পূর্ণ-ট্যাব প্রচার এবং / অথবা শিক্ষামূলক কন্টেন্টের উপস্থাপনা নিয়ন্ত্রণ করতে দেয়।
 
       কনফিগার না করা অথবা চালু করা থাকলে ('ট্রুতে' সেট করা থাকলে), <ph name="PRODUCT_NAME" /> ব্যবহারকারীদের প্রোডাক্টের তথ্য প্রদানের জন্য পূর্ণ-ট্যাব কন্টেন্ট দেখাতে পারে।
@@ -2949,6 +3075,7 @@
       এই স্ট্রিং-এ ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR} ও ${MACHINE_NAME} ভেরিয়েবলগুলি থাকতে পারে, যেগুলি হোস্টনেম হিসেবে ব্যবহার হওয়ার আগে ডিভাইসের মান দ্বারা প্রতিস্থাপিত হয়ে যাবে। প্রতিস্থাপনের পরে প্রাপ্ত মানটি একটি সঠিক হোস্টনেম (RFC 1035, ৩.১ বিভাগ অনুসারে) হতে হবে।
 
       এই নীতি সেট করা না থাকলে অথবা প্রতিস্থাপনের পরে প্রাপ্ত মানটি একটি সঠিক হোস্টনেম না হলে, DHCP অনুরোধের সময় কোনও হোস্টনেম সেট করা হবে না। </translation>
+<translation id="6833988859168635883">স্টার্টআপ, হোমপেজ ও নতুন ট্যাব পৃষ্ঠা</translation>
 <translation id="6835883744948188639">ব্যবহারকারীকে রিলঞ্চ করার যে পরামর্শ দেওয়া হচ্ছে তা বিজ্ঞপ্তি পাঠিয়ে জানান।</translation>
 <translation id="6837480141980366278"><ph name="PRODUCT_NAME" />-এ বিল্ট-ইন DNS ক্লায়েন্ট ব্যবহার করা হবে কিনা তা নিয়ন্ত্রণ করে।
 
@@ -3062,6 +3189,17 @@
 
       যখন স্ক্রিনটি অনুজ্জ্বল হতে যায়, তখন স্মার্ট ডিম মডেল মূল্যায়ন করে যে এই কাজটি পিছিয়ে দেওয়া উচিত কিনা। যদি স্মার্ট ডিম মডেল স্ক্রিন ডিম হওয়া আটকায় তাহলে স্ক্রিন আরও কিছু সময় ধরে উজ্জ্বল থাকে। স্ক্রিন ডিম হতে কত দেরি হচ্ছে, সেই অনুযায়ী স্ক্রিন অফ হয়ে যাওয়া, স্ক্রিন লক এবং 'নিষ্ক্রিয়' মোডে যাওয়ার সময়সীমা অ্যাডজ্যাস্ট করা হয়।
       যদি এই নীতিটি ট্রু-তে সেট থাকে বা সেট না করা হয়, তাহলে স্মার্ট ডিম মডেলটি চালু হয়ে যাবে এবং স্ক্রিন ডিম হওয়ার কাজটি পিছিয়ে দেবে। এই নীতিটি ফল্স হিসেবে সেট করা থাকলে স্মার্ট ডিম মডেলটি স্ক্রিন ডিম হওয়াকে প্রভাবিত করবে না।</translation>
+<translation id="6967394885063085697">উন্নত ব্যাটারি চার্জ করার মোডের পাওয়ার ম্যানেজমেন্ট নীতি চালু করুন।
+
+          উন্নত ব্যাটারি চার্জ করার মোড ব্যবহারকারীকে ব্যাটারির আয়ু বাড়াতে সাহায্য করে। উন্নত ব্যাটারি চার্জ করার মোডে কাজের সময়ের বাইরে ব্যাটারির আয়ু বাড়াতে সিস্টেম স্ট্যান্ডার্ড চার্জিং অ্যালগরিদম ও অন্যান্য প্রক্রিয়া ব্যবহার করে। কাজের সময়ের মধ্যে দ্রুত চার্জ করার প্রয়োজন হয়। দ্রুত চার্জের মাধ্যমে ব্যাটারি সম্পূর্ণ চার্জ হতে কম সময় লাগে। প্রতিদিন সিস্টেম সবচেয়ে বেশি কখন ব্যবহার হবে তা শুরুর সময় ও সময়কালের মাধ্যমে উল্লেখ করা হয়।
+
+          এই নীতি 'ট্রু' হিসেবে সেট করা ও DeviceAdvancedBatteryChargeModeDayConfig সেট করা থাকলে এবং উন্নত ব্যাটারি চার্জ করার মোড ডিভাইসে কাজ করলে, মোডটি সবসময় চালু থাকবে।
+
+          এই নীতি 'ফলস' হিসেবে সেট করা থাকলে, উন্নত ব্যাটারি চার্জ করার মোড সবসময় বন্ধ থাকবে।
+
+          আপনি এই নীতি সেট করলে, ব্যবহারকারী তা পরিবর্তন বা ওভাররাইড করতে পারবেন না।
+
+          এই নীতি সেট করা না থাকলে, উন্নত ব্যাটারি চার্জ করার মোড সবসময় বন্ধ থাকবে এবং ব্যবহারকারী তা চালু করতে পারবেন না।</translation>
 <translation id="6972540544240464302">টাস্ক শিডিউলার কনফিগারেশন বেছে নেওয়া</translation>
 <translation id="6979158407327259162">Google ড্রাইভ</translation>
 <translation id="6994082778848658360">দ্বিতীয় পদক্ষেপ যাচাইকরণ যদি এই বৈশিষ্ট্যটির সাথে সঙ্গতিপূর্ণ হয়, তাহলে তার জন্য অন-বোর্ড নিরাপদ উপাদান হার্ডওয়্যার কিভাবে ব্যবহার করা হবে, এই নীতি তা নির্দিষ্ট করে। ব্যবহারকারীর শারীরিক উপস্থিতি শনাক্ত করতে মেশিন পাওয়ার বোতাম ব্যবহার করা হয়।
@@ -3138,6 +3276,17 @@
       আপনি এই সেটিংটি চালু অথবা বন্ধ করলে, ব্যবহারকারীরা এটি পরিবর্তন বা ওভাররাইড করতে পারবেন না।
 
       যদি নীতিটি সেট না থাকা হিসাবে ছেড়ে যাওয়া হয়, তাহলে ডিভাইস আনলক করার জন্য ব্যবহারকারীর কাছে পাসওয়ার্ড চাওয়া হবে কিনা তা তিনি বেছে নিতে পারবেন।</translation>
+<translation id="7107148737865880402">ইউএসবি পাওয়ার শেয়ার পাওয়ার ম্যানেজমেন্ট নীতি চালু করুন।
+
+          কিছু ডিভাইসে বিদ্যুৎ চমকানো বা ব্যাটারি আইকন দিয়ে চিহ্নিত নির্দিষ্ট ইউএসবি পোর্ট থাকে যেটি ব্যবহার করে মোবাইল ফোনের মতো ডিভাইসকে সিস্টেমের ব্যাটারির সাহায্যে চার্জ করা যায়। সিস্টেম স্লিপ মোডে থাকলে বা বন্ধ করা থাকলে এই নীতি পোর্টের মাধ্যমে চার্জ করাকে প্রভাবিত করে। অন্যান্য ইউএসবি পোর্ট বা সিস্টেম চালু থাকলে চার্জ করার বিষয়টি এই নীতির মাধ্যমে প্রভাবিত হয় না।
+
+          সিস্টেম চালু থাকলে ইউএসবি পোর্টটি ব্যবহার করে সবসময় চার্জ করা যাবে।
+
+          যদি এই নীতি 'ট্রু' হিসেবে সেট করা থাকে এবং সিস্টেম স্লিপ মোডে থাকে, তাহলে ডিভাইস ওয়াল চার্জারের সাথে কানেক্ট করা থাকলে অথবা ব্যাটারিতে চার্জ ৫০ শতাংশের বেশি হলে ইউএসবি পোর্টে পাওয়ার সরবরাহ করা হবে। অন্যথায় পাওয়ার সরবরাহ করা হবে না।
+
+          এই নীতি 'ট্রু' হিসেবে সেট করা থাকলে এবং সিস্টেম বন্ধ করা থাকলে, সেটি ওয়াল চার্জারের সাথে কানেক্ট করা থাকলেই শুধু ইউএসবি পোর্টে পাওয়ার সরবরাহ করা হবে। অন্যথায় পাওয়ার সরবরাহ করা হবে না।
+
+          এই নীতি সেট করা না থাকলে, সেটি চালু থাকে এবং ব্যবহারকারী সেটি বন্ধ করতে পারেন না।</translation>
 <translation id="7115494316187648452">OS লগইনের সময় একটি <ph name="PRODUCT_NAME" /> প্রক্রিয়া শুরু হবে কিনা তা নির্ধারণ করে এবং শেষ ব্রাউজার উইন্ডো বন্ধ করার পরেও চলমান থাকে, ফলে পটভূমি অ্যাপ্লিকেশান এবং যেকোনো অধিবেশন কুকি সহ বর্তমান ব্রাউজিং অধিবেশনকে সক্রিয় থাকতে দেয়। পটভূমি প্রক্রিয়া সিস্টেম ট্রে-তে একটি আইকন প্রদর্শন করে এবং যেকোনো সময় সেখান থেকে বন্ধ করা যায়।
 
       এই নীতিটি সত্যতে সেট করা থাকলে, পটভূমি মোড সক্ষম করা হয় এবং ব্রাউজার সেটিংসে এটি ব্যবহারকারী দ্বারা নিয়ন্ত্রণ করা যায় না।
@@ -3188,6 +3337,7 @@
           এই নীতি ট্রু হিসেবে সেট করলে বা সেট না করলে এবং AllowWakeLocks ফলস হিসেবে সেট করা না থাকলে, পাওয়ার ম্যানেজমেন্টের জন্য স্ক্রিন ওয়েক লক মানা হবে।
 
           এই নীতি ফলস হিসেবে সেট করলে, স্ক্রিন ওয়েক লক অনুরোধকে সিস্টেম ওয়েক লক-এর পর্যায়ে অবনত করা হবে।</translation>
+<translation id="7177857088692019405">দ্রুত আনলক করা</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">আপডেটের জন্য সংযোগের প্রকারকে মঞ্জুরি দেওয়া হয়েছে</translation>
 <translation id="7194407337890404814">ডিফল্ট সার্চ প্রদানকারীর নাম</translation>
@@ -3254,6 +3404,7 @@
 <translation id="7273823081800296768">যদি এই সেটিংটি চালু থাকে বা কনফিগার করা না হয়, তাহলে ব্যবহারকারীদের সংযোগের সময় পেয়ার করা ক্লায়েন্ট ও হোস্টগুলি নির্বাচন করতে পারেন, প্রতিবার পিন দেওয়ার প্রয়োজন পড়বে না৷
 
    সেটিংটি বন্ধ থাকলে এই বৈশিষ্ট্যটি পাওয়া যাবে না৷</translation>
+<translation id="7274077256421167535">ইউএসবি পাওয়ার শেয়ার চালু করা</translation>
 <translation id="7275334191706090484">পরিচালিত বুকমার্কগুলি</translation>
 <translation id="7291084543582732020">আপনি এই সেটিংটি চালু করলে, ব্যবহারকারীদেরকে Smart Lock ব্যবহারের মঞ্জুরি দেওয়া হবে যদি বৈশিষ্ট্যটির জন্য প্রয়োজনীয় শর্তগুলি পূরণ হয়।
 
@@ -3267,6 +3418,7 @@
 
           এই নীতিটি 'ডিফল্ট সার্চ প্রদানকারী সক্ষমিত' নীতিটি সক্ষম করা থাকলেই শুধুমাত্র বিবেচিত হবে৷</translation>
 <translation id="7302043767260300182">AC পাওয়ার চলাকালীন স্ক্রিন লকে বিলম্ব</translation>
+<translation id="7305262223970835999">SAML ব্যবহারকারীর জন্য সেশন চলাকালীন পাসওয়ার্ড পরিবর্তন করার জন্য একটি পৃষ্ঠা চালু করে।</translation>
 <translation id="7311458740754205918">এটি মিথ্যাতে সেট করা হলে বা সেট না করা হলে, ব্যবহারকারীর ব্রাউজিং ইতিহাস, আগ্রহ বা অবস্থানের ভিত্তিতে নতুন ট্যাব পৃষ্ঠাটি সামগ্রী প্রস্তাবনা দেখাতে পারে।
 
       এটি মিথ্যাতে সেট করা হলে, নতুন ট্যাব পৃষ্ঠায় স্বয়ংক্রিয়ভাবে তৈরি হওয়া সামগ্রী প্রস্তাবনা দেখানো হয় না।</translation>
@@ -3393,6 +3545,15 @@
 যদি নীতির মান ০ হয়, তবে ডিফল্ট ক্যাশের মাপ ব্যবহার করা হবে, কিন্তু ব্যবহারকারী এটিকে পরিবর্তন করতে পারবেন না৷
 
 নীতিটি ডিফল্ট মাপে সেট করা না থাকলে ডিফল্ট মাপ ব্যবহার করা হবে এবং ব্যবহারকারী --মিডিয়া-ক্যাশে-মাপ ফ্ল্যাগ দিয়ে এটিকে ওভাররাইড করতে পারবেন৷</translation>
+<translation id="759389052790680884">ব্যাটারির চার্জ কত শতাংশ হলে চার্জ করা বন্ধ হয়ে যাবে তা সেট করুন।
+
+          সেই কাস্টম মানে পৌঁছে গেলে ব্যাটারি চার্জ হওয়া বন্ধ হয়ে যায়।
+
+          DeviceBatteryChargeCustomStartCharging-এর মান DeviceBatteryChargeCustomStopCharging থেকে কম হতে হবে।
+
+          DeviceBatteryChargeMode কাস্টম মানে সেট করা থাকলেই শুধু এই নীতি ব্যবহার করা হবে।
+
+          এই নীতি কনফিগার করা বা সেট করা না থাকলে, ব্যাটারি চার্জ করার স্ট্যান্ডার্ড মোড প্রয়োগ করা হবে।</translation>
 <translation id="759957074386651883">নিরাপদ ব্রাউজিং সেটিংস</translation>
 <translation id="7604169113182304895">Android অ্যাপ্লিকেশানগুলি স্বেচ্ছায় এই তালিকা মেনে চলতে পারে। আপনি এটি মেনে চলার জন্য এদেরকে বাধ্য করতে পারবেন না।</translation>
 <translation id="7612157962821894603"><ph name="PRODUCT_NAME" /> শুরুর সময়ে সিস্টেম জুড়ে ফ্ল্যাগগুলি প্রযুক্ত হয়</translation>
@@ -3467,6 +3628,15 @@
 <translation id="7712109699186360774">কোনো সাইট ক্যামেরা এবং/অথবা মাইক্রোফোনে অ্যাক্সেস করতে চাইলে প্রত্যেক বার আমাকে জিজ্ঞাসা করুন</translation>
 <translation id="7713608076604149344">ডাউনলোডের উপরে বিধিনিষেধ</translation>
 <translation id="7715711044277116530">উপস্থাপনা মোডে অনুজ্জ্বলতা বিলম্ব যার দ্বারা স্কেল করা হয় তার শতাংশ</translation>
+<translation id="7716781462866245042">উন্নত ব্যাটারি চার্জ করার মোডের দিনের কনফিগারেশন সেট করুন।
+
+          DeviceAdvancedBatteryChargeModeEnabled 'ট্রু' হিসেবে সেট করা থাকলেই শুধুমাত্র এই নীতি ব্যবহার করা হবে।
+
+          এই নীতি কনফিগার বা সেট করা না থাকলে, উন্নত ব্যাটারি চার্জ করার মোড সবসময় বন্ধ থাকবে।
+
+          দ্রষ্টব্য: <ph name="CHARGE_START_TIME_FIELD_NAME" />-এর মান <ph name="CHARGE_END_TIME_FIELD_NAME" />-এর থেকে কম হতে হবে।
+
+          দ্রষ্টব্য: <ph name="CHARGE_START_TIME_FIELD_NAME" /> ও <ph name="CHARGE_END_TIME_FIELD_NAME" />-এ <ph name="MINUTE_FIELD_NAME" /> ফিল্ডের মান হিসেবে ০, ১৫, ৩০, ৪৫ লেখা যাবে।</translation>
 <translation id="7717938661004793600"><ph name="PRODUCT_OS_NAME" /> এর অ্যাক্সেসযোগ্যতার বৈশিষ্ট্যগুলিকে কনফিগার করে৷</translation>
 <translation id="7724994675283793633">এই নীতিটি HTTP এর জন্য ৮০ এবং HTTPS এর জন্য ৪৪৩ ছাড়া অন্য পোর্টগুলিতে HTTP/0.9 সক্ষম করে।
 
@@ -3540,6 +3710,7 @@
       সাইন-ইন স্ক্রিনে এক্সটেনশনের আইডিকে স্ক্রিন সেভার হিসেবে ব্যবহারের জন্য নির্ধারিত করে৷ এক্সটেনশনটিকে অবশ্যই AppPack এর অংশ হতে হবে যা DeviceAppPack নীতির মাধ্যমে এই ডোমেনের জন্য কনফিগার করা হয়েছে৷</translation>
 <translation id="7882857838942884046">Google সিঙ্ক অক্ষম করা হলে ‘Android ব্যাকআপ এবং পুনরুদ্ধার’ সঠিকভাবে কাজ নাও করতে পারে।</translation>
 <translation id="7882890448959833986">অসমর্থিত OS সতর্কবার্তা গোপন রাখুন</translation>
+<translation id="7895553628261067384">রিমোট অ্যাক্সেস</translation>
 <translation id="7902255855035461275">এই তালিকার প্যাটার্নগুলি অনুরোধ করা URL এর নিরাপত্তার
       উৎসের সাথে মিলে যাবে। যদি কোনও মিল খুঁজে পাওয়া যায়, তাহলে বিজ্ঞপ্তি ছাড়াই
       ভিডিও ক্যাপচার ডিভাইসগুলির অ্যাক্সেস অনুমোদিত হবে।
@@ -3553,6 +3724,11 @@
 <translation id="7937491150792971922">বিভিন্ন উৎস থেকে নেওয়া এক্সটেনশন ইনস্টল তালিকার নীতি মার্জ করুন</translation>
 <translation id="7937766917976512374">ভিডিও ক্যাপচারের অনুমতি দিন বা প্রত্যখ্যান করুন</translation>
 <translation id="7941975817681987555">যেকোনো নেটওয়ার্ক সংযোগে নেটওয়ার্ক ক্রিয়াগুলির পূর্বাভাষ দেয় না</translation>
+<translation id="7952007677054834789">ডিফল্ট হোমপেজ ও নতুন ট্যাব পৃষ্ঠা সহ স্টার্টআপের সময় <ph name="PRODUCT_NAME" />-এ কোন পৃষ্ঠা লোড হবে তা কনফিগার করতে দেয় এবং ব্যবহারকারীকে তা পরিবর্তন করতে বাধা দেয়।
+
+      আপনি হোমপেজ হিসেবে নতুন ট্যাব পৃষ্ঠা বেছে নিলে বা হোমপেজের জন্য একটি ইউআরএল সেট করে দিলেই শুধুমাত্র ব্যবহারকারীর হোমপেজ সেটিংস সম্পূর্ণভাবে লক হয়ে যায়। হোমপেজের জন্য আপনি কোনও ইউআরএল উল্লেখ না করলেও, ব্যবহারকারী সেই জায়গায় 'chrome://newtab' লিখে হোমপেজ হিসেবে একটি নতুন ট্যাব পৃষ্ঠা সেট করতে পারবেন।
+
+      'স্টার্টআপের সময় অ্যাকশন' থেকে 'তালিকাভুক্ত ইউআরএলগুলি খুলুন' বেছে না নিলে, 'স্টার্টআপে যে ইউআরএলগুলি খুলতে হবে' নীতিটি উপেক্ষা করা হয়।</translation>
 <translation id="7952958573604504839">এই নীতি <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />-এর পক্ষে M48-এ থামানো হয় এবং M54-এ সরানো হয়।
 
       <ph name="PRODUCT_NAME" />-এ নেটওয়ার্ক পূর্বাভাষ চালু করে এবং ব্যবহারকারীদেরকে এই সেটিংটি পরিবর্তন করতে বাধা দেয়।
@@ -3695,6 +3871,7 @@
 <translation id="8176035528522326671">এন্টারপ্রাইজ ব্যবহারকারীকে শুধুমাত্র প্রাথমিক একাধিক-প্রোফাইল ব্যবহারকারী হতে মঞ্জুর করুন (এন্টারপ্রাইজ-পরিচালিত ব্যবহারকারীদের ডিফল্ট আচরণ)</translation>
 <translation id="8214600119442850823">পাসওয়ার্ড পরিচালক কনফিগার করে।</translation>
 <translation id="8217516105848565518">এই নীতি থামিয়ে দেওয়া হয়েছে। অনুগ্রহ করে এর পরিবর্তে RemoteAccessHostDomainList ব্যবহার করুন।</translation>
+<translation id="8244171102276095471">TLS-এ RC4 সাইফার স্যুট চালু করা</translation>
 <translation id="8244525275280476362">একটি নীতি অবৈধতার পরে সর্বোচ্চ আনয়ন বিলম্ব হয়</translation>
 <translation id="8256688113167012935">সংশ্লিষ্ট ডিভাইস-স্থানীয় অ্যাকাউন্টের লগ-ইন স্ক্রিনে দেখানো <ph name="PRODUCT_OS_NAME" /> অ্যাকাউন্ট নাম নিয়ন্ত্রণ করে৷
 
@@ -3744,6 +3921,7 @@
 <translation id="8312129124898414409">ওয়েবসাইটগুলিকে কী তৈরি করা ব্যবহারের মঞ্জুরি দেওয়া হবে কিনা তা আপনাকে সেট করতে অনুমতি দেয়। কী তৈরি করা ব্যবহারের মঞ্জুরি হয় সব ওয়েবসাইটের জন্য দেওয়া হবে অথবা সবগুলির জন্য অস্বীকার করা হবে।
 
           এই নীতিটি সেট না করে ছেড়ে দেওয়া হলে, 'BlockKeygen' ব্যবহার করা হবে এবং ব্যবহারকারী এটি পরিবর্তন করতে পারবেন।</translation>
+<translation id="8320149248919453401">ব্যাটারি চার্জ করার মোড</translation>
 <translation id="8329984337216493753">এই নীতি শুধুমাত্র খুচরা মোডে সক্রিয়৷
 
       যখন DeviceIdleLogoutTimeout নির্দিষ্ট থাকে তখন এই নীতি লগ আউট কার্যকর হওয়ার আগে ব্যবহারকারীকে দেখানো একটি কাউন্ট ডাউন টাইমার সহ সতর্কতা বাক্সের সময়কালের সংজ্ঞা দেয়৷
@@ -3890,6 +4068,7 @@
     সেট না করা হলে, <ph name="PRODUCT_OS_NAME" /> ডিভাইসের জন্য ৩৪৫৬০০০০০ মিলিসেকেন্ড (চার দিন) ও <ph name="PRODUCT_NAME" /> এর জন্য ৬০৪৮০০০০০ মিলিসেকেন্ড (এক সপ্তাহ) ডিফল্ট সময়সীমা রাখা হয়l</translation>
 <translation id="8685024486845674965">আবার পাসওয়ার্ড ব্যবহার করা হয়েছে বলে পাসওয়ার্ড সুরক্ষার সতর্কতা জানানো হয়েছে</translation>
 <translation id="8693243869659262736">অন্তর্নিহিত ডিএনএস ক্লায়েন্ট ব্যবহার করুন</translation>
+<translation id="8698286761337647563">পাসওয়ার্ডের মেয়াদ শেষ হওয়ার কতদিন আগে SAML ব্যবহারকারীদের জানানো হবে</translation>
 <translation id="8703488928438047864">বোর্ড স্ট্যাটাসের বিষয়ে জানান</translation>
 <translation id="8703872185032220081">Power Peak Shift-এর দিনের বেলার কনফিগারেশন সেট করুন।
 
@@ -3943,6 +4122,7 @@
       এই সেটিং বন্ধ করা থাকলে বা সেট করা না থাকলে, পাসওয়ার্ড সুরক্ষা পরিষেবা ব্যবহারকারীকে পাসওয়ার্ড পরিবর্তন করতে https://myaccounts.google.com এ পাঠায়।
       শুধুমাত্র <ph name="MS_AD_NAME" />-এর সাথে যুক্ত Windows দৃষ্টান্ত অথবা ডিভাইস ম্যানেজমেন্টের জন্য এনরোল করা Windows 10 Pro বা Enterprise দৃষ্টান্তগুলির ক্ষেত্রে এই নীতি উপলভ্য।</translation>
 <translation id="8798099450830957504">ডিফল্ট</translation>
+<translation id="8800453707696044281">ব্যাটারির চার্জ কত শতাংশ হলে চার্জ করা বন্ধ হয়ে যাবে তা সেট করা</translation>
 <translation id="8801680448782904838">ব্রাউজারটি রিলঞ্চ করা প্রয়োজন অথবা ডিভাইস রিস্টার্ট করলে ভাল সে বিষয়টি ব্যবহারকারীকে জানান</translation>
 <translation id="8818173863808665831">ডিভাইসের ভৌগলিক লোকেশন প্রতিবেদন করুন৷
 
@@ -4067,6 +4247,11 @@
       এই নীতি শুধুমাত্র সেইসব ব্যবহারকারীদের ক্ষতি করে যাদেরকে SAML ব্যবহার করে যাচাই করা হয়েছে।
 
       নীতির মান সেকেন্ডে উল্লেখ করতে হবে।</translation>
+<translation id="9018338365267278833">এটি <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />-এ বা <ph name="EXTENSION_SETTINGS_POLICY_NAME" />-এ থাকা এবং ইনস্টল মোড ব্লক হিসেবে সেট করা এক্সটেনশনগুলিকে সরিয়ে দেবে এবং ব্যবহারকারীর স্থানীয় ডেটা একই সাথে স্থায়ীভাবে মুছে দেবে।  ব্যবহারকারীর ডেটা স্থানীয়ভাবে সংরক্ষিত না থাকলে কী হবে তা জানতে এক্সটেনশন সংক্রান্ত গোপনীয়তা নীতি ও ডেটা রেখে দেওয়ার নীতি দেখুন।
+
+      এই নীতি চালু হিসেবে সেট করা থাকলে, আগে উল্লেখ করা তালিকাভুক্ত এক্সটেনশনগুলি (মেশিনে আগে থেকেই ইনস্টল করা থাকলে) সম্পূর্ণভাবে মেশিন থেকে সরিয়ে দেওয়া হবে (একই সাথে ব্যবহারকারীর স্থানীয় ডেটাও মুছে যাবে)।
+
+      এই নীতি বন্ধ হিসেবে সেট করা থাকলে বা সেট করা না থাকলে, আগে উল্লেখ করা তালিকাভুক্ত এক্সটেনশনগুলি (মেশিনে আগে থেকেই ইনস্টল করা থাকলে এবং <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> কালোতালিকাভুক্ত হলে) মেশিন থেকে আনইনস্টল করা না হলেও কাজ করবে না।</translation>
 <translation id="9027787254195333560">লগ-ইনের স্ক্রিনে যে অবতার ফটোটি ব্যবহারকারীকে উপস্থাপিত করে, এই নীতি আপনাকে সেটি কনফিগার করতে দেয়। URLটি উল্লেখ করার মাধ্যমে নীতি সেট করা হয় যেখান থেকে <ph name="PRODUCT_OS_NAME" /> অবতার ফটো এবং ডাউনলোডের অখণ্ডতা যাচাই করার জন্য ব্যবহৃত একটি ক্রিপ্টোগ্রাফিক হ্যাশ ডাউনলোড করতে পারে। ফটোটিকে অবশ্যই JPEG ফর্ম্যাটে হতে হবে, এটির সাইজ অবশ্যই যেন ৫১২kB এর বেশি না হয়। URLটিকে অবশ্যই কোনও প্রমাণীকরণ ছাড়াই অ্যাক্সেসযোগ্য হতে হবে।
 
             অবতার ফটোটি ডাউনলোড করা এবং সংরক্ষিত করা হয়েছে। যখনই URL বা হ্যাশ পরিবর্তিত হবে তখন এটি আবার ডাউনলোড করা হবে।
diff --git a/components/policy/resources/policy_templates_ca.xtb b/components/policy/resources/policy_templates_ca.xtb
index c5a9d13f..02cef7ee 100644
--- a/components/policy/resources/policy_templates_ca.xtb
+++ b/components/policy/resources/policy_templates_ca.xtb
@@ -164,7 +164,7 @@
 
       Si la política no s'estableix o s'estableix en "false", els sistemes de xifratge RC4 de TLS no s'activaran. En cas contrari, es pot establir en "true" per conservar la compatibilitat amb un servidor obsolet. Es tracta d'una mesura temporal i el servidor s'ha de tornar a configurar.</translation>
 <translation id="1297182715641689552">Fes servir un script de servidor intermediari .pac</translation>
-<translation id="1304973015437969093">Identificadors de les extensions i de les aplicacions i URL de les actualitzacions que s'instal·laran en silenci</translation>
+<translation id="1304973015437969093">Identificadors de les extensions i de les aplicacions i URL de les actualitzacions que s'instal·laran silenciosament</translation>
 <translation id="1307454923744766368">Orígens o patrons de nom d'amfitrió en què no s'han d'aplicar les restriccions sobre orígens no segurs</translation>
 <translation id="1312799700549720683">Controla la configuració de la pantalla.</translation>
 <translation id="131353325527891113">Mostra els noms d'usuari a la pantalla d'inici de sessió</translation>
@@ -296,7 +296,7 @@
 <translation id="1599424828227887013">Activa l'aïllament de llocs web per a orígens especificats en dispositius Android</translation>
 <translation id="1608755754295374538">URL als quals els dispositius de captura d'àudio podran accedir sense confirmació.</translation>
 <translation id="1615221548356595305">Permet la fusió de connexions HTTP/2 per a aquests amfitrions fins i tot quan s'utilitzen certificats de client</translation>
-<translation id="1615855314789673708">Proporciona una configuració del comandament de telemetria i diagnòstic (DTC) de Wilco.
+<translation id="1615855314789673708">Proporciona una configuració del DTC de Wilco (comandament de telemetria i diagnòstic).
 
       Aquesta política permet proporcionar una configuració del DTC de Wilco que es podrà aplicar si la política autoritza aquest DTC i si aquest comandament està disponible al dispositiu corresponent. La mida de la configuració no pot ser superior a 1 MB (1.000.000 de bytes) i ha d'estar codificada en format JSON. El DTC de Wilco és responsable de gestionar-la. El resum criptogràfic s'utilitza per verificar la integritat de la baixada.
 
@@ -486,7 +486,7 @@
 <translation id="2006530844219044261">Gestió de l'alimentació</translation>
 <translation id="2014757022750736514">Controla el comportament de la pantalla d'inici de sessió, en què els usuaris inicien la sessió als seus comptes. Les opcions de configuració et permeten controlar qui pot iniciar la sessió, quin tipus de comptes s'admeten i quins mètodes d'autenticació s'han d'utilitzar, així com les opcions d'accessibilitat general, el mètode d'introducció de text i la configuració regional.</translation>
 <translation id="201557587962247231">Freqüència amb què s'envien càrregues per informar sobre l'estat del dispositiu</translation>
-<translation id="2017301949684549118">URL per a aplicacions web que s'instal·laran en segon pla.</translation>
+<translation id="2017301949684549118">URL per a aplicacions web que s'instal·laran silenciosament.</translation>
 <translation id="2018836497795982119">Especifica el període en mil·lisegons per al qual se sol·licita informació sobre polítiques relatives a l'usuari al servei de gestió de dispositius.
 
       Si aquesta política s'estableix, el valor predeterminat de tres hores se substituirà per un dels valors vàlids, que es troben en un interval d'1.800.000 (30 minuts) a 86.400.000 mil·lisegons (un dia). Els valors que no es trobin dins d'aquest interval s'ajustaran al límit corresponent. Si la plataforma admet notificacions sobre polítiques, el retard d'actualització s'establirà en 24 hores, ja que es preveu que aquestes notificacions forcin una actualització automàtica cada vegada que canviï la política.
@@ -1486,7 +1486,7 @@
 <translation id="4157594634940419685">Permet l'accés a impressores CUPS natives</translation>
 <translation id="4183229833636799228">Configuració predeterminada del connector <ph name="FLASH_PLUGIN_NAME" /></translation>
 <translation id="4192388905594723944">URL per validar el testimoni d'autenticació del client per a l'accés remot</translation>
-<translation id="4197038214024763371">Si aquesta política no s'estableix o si s'activa, l'usuari podrà fer servir el corrector ortogràfic.
+<translation id="4197038214024763371">Si aquesta política no s'estableix o no s'activa, l'usuari podrà fer servir el corrector ortogràfic.
 
       Si aquesta política es desactiva, l'usuari no podrà fer servir el corrector ortogràfic. A més, s'ignoraran les polítiques SpellcheckLanguage i SpellcheckLanguageBlacklist.
       </translation>
@@ -1617,7 +1617,7 @@
 <translation id="4483649828988077221">Desactiva l'actualització automàtica</translation>
 <translation id="4485425108474077672">Configura l'URL de la pàgina Pestanya nova</translation>
 <translation id="4492287494009043413">Desactivació de les captures de pantalla</translation>
-<translation id="4494132853995232608">Comandament de telemetria i diagnòstic de Wilco</translation>
+<translation id="4494132853995232608">DTC de Wilco</translation>
 <translation id="449423975179525290">Configura les polítiques relacionades amb <ph name="PLUGIN_VM_NAME" />.</translation>
 <translation id="450537894712826981">Defineix la mida de memòria cau que <ph name="PRODUCT_NAME" /> utilitzarà per emmagatzemar fitxers multimèdia de la memòria cau al disc.
 
@@ -3447,7 +3447,7 @@
       Si s'activa o no es defineix aquesta configuració, l'historial de navegació i de baixades es pot suprimir.
 
       Si es desactiva aquesta configuració, l'historial de navegació i de baixades no es pot suprimir.</translation>
-<translation id="8757552286070680084">Configuració del comandament de telemetria i diagnòstic de Wilco</translation>
+<translation id="8757552286070680084">Configuració del DTC de Wilco</translation>
 <translation id="8758831693895931466">Activa la inscripció obligatòria a la gestió al núvol</translation>
 <translation id="8759829385824155666">Tipus d'encriptació Kerberos permesos</translation>
 <translation id="8764119899999036911">Especifica si l'SPN de Kerberos que es genera es basa en el nom del DNS canònic o en el nom original introduït. Si activeu aquest paràmetre, s'ometrà la cerca de CNAME i el nom del servidor s'utilitzarà tal com s'ha introduït. Si desactiveu aquest paràmetre o el deixeu sense definir, el nom canònic del servidor es determinarà a través de la cerca de CNAME.</translation>
@@ -3564,7 +3564,7 @@
 <translation id="8976531594979650914">Utilitza la impressora predeterminada del sistema com a predeterminada</translation>
 <translation id="8992176907758534924">No permetis que cap lloc mostri imatges</translation>
 <translation id="9035964157729712237">ID de les extensions que s'han d'excloure de la llista negra</translation>
-<translation id="9038058011835642205">Especifica una llista de llocs web que s'instal·len en segon pla, sense la interacció de l'usuari, i que l'usuari no pot desinstal·lar ni desactivar.
+<translation id="9038058011835642205">Especifica una llista de llocs web que s'instal·len silenciosament, sense la interacció de l'usuari, i que l'usuari no pot desinstal·lar ni desactivar.
 
       Cada element de la llista de la política és un objecte amb un membre obligatori ("url") i dos membres opcionals ("default_launch_container" i "create_desktop_shortcut"). "url" ha de ser l'URL de l'aplicació web que cal instal·lar, "launch_container" ha de ser "window" (finestra) o "tab" (pestanya) per indicar com s'obrirà l'aplicació web un cop instal·lada i "create_desktop_shortcut" ha de ser "true" si cal crear una drecera de l'escriptori a Linux i Windows. Si "default_launch_container" s'omet, l'aplicació s'obrirà en una pestanya de manera predeterminada. Independentment del valor de "default_launch_container", els usuaris poden canviar el contenidor en què s'obrirà l'aplicació. Si "create_desktop_shortcuts" s'omet, no es crearà cap drecera de l'escriptori.</translation>
 <translation id="9038839118379817310">Activa la Wi-Fi</translation>
@@ -3653,7 +3653,7 @@
 <translation id="9217154963008402249">Freqüència dels paquets de xarxa de supervisió</translation>
 <translation id="922540222991413931">Configura fonts d'instal·lació d'extensions, d'aplicacions i de scripts d'usuari</translation>
 <translation id="924557436754151212">Importació de les contrasenyes desades des del navegador predeterminat en la primera execució</translation>
-<translation id="926146562923985266">Aquesta política controla l'ordre que cal utilitzar per obrir URL a <ph name="PRODUCT_NAME" /> quan es canvia des d'Internet Explorer.
+<translation id="926146562923985266">Aquesta política controla l'ordre que cal utilitzar per obrir els URL a <ph name="PRODUCT_NAME" /> quan es canvia des d'Internet Explorer.
 
       Si l'extensió Compatibilitat amb navegadors antics d'Internet Explorer no està instal·lada, aquesta política no té cap efecte.
 
diff --git a/components/policy/resources/policy_templates_cs.xtb b/components/policy/resources/policy_templates_cs.xtb
index 328f069..bb5ebc1 100644
--- a/components/policy/resources/policy_templates_cs.xtb
+++ b/components/policy/resources/policy_templates_cs.xtb
@@ -51,6 +51,13 @@
 <translation id="1049138910114524876">Konfiguruje jazyk používaný povinně na přihlašovací obrazovce systému <ph name="PRODUCT_OS_NAME" />.
 
       Je-li nastavena tato zásada, přihlašovací obrazovka se vždy zobrazí v jazyce, který je určen první hodnotou této zásady (z důvodu kompatibility s budoucími verzemi je zásada definována jako seznam). Pokud tato zásada není nastavena nebo je nastavena na prázdný seznam, zobrazí se přihlašovací obrazovka v jazyce poslední uživatelské návštěvy. Pokud je tato zásada nastavena na hodnotu, která není platným jazykem, zobrazí se přihlašovací obrazovka v záložním jazyce (aktuálně americká angličtina).</translation>
+<translation id="1052499923181221200">Tato zásada se projeví jen v případě, že je zásada SamlInSessionPasswordChangeEnabled nastavená na hodnotu true.
+      Pokud je nastavená na hodnotu true a tato zásada je nastavená například na hodnotu 14, uživatelům SAML se 14 dní předem zobrazí oznámení, že platnost jejich hesla k určitému datu vyprší.
+      Ihned to budou moci vyřešit tím, že provedou změnu během relace a aktualizují heslo dříve, než jeho platnost vyprší.
+      Tato oznámení se však zobrazí pouze v případě, že poskytovatel identity SAML do zařízení během přihlašovacího procesu SAML odesílá informace o vypršení platnosti.
+      Pokud tuto zásadu nastavíte na nulu, oznámení se uživatelům předem nezobrazí. Zobrazí se jim až po vypršení platnosti hesla.
+
+      Pokud je tato zásada nastavená, uživatel ji nemůže změnit ani přepsat.</translation>
 <translation id="1062011392452772310">Povolit vzdálené ověření identity zařízení</translation>
 <translation id="1062407476771304334">Nahradit</translation>
 <translation id="1079801999187584280">Zakázat používání Nástrojů pro vývojáře</translation>
@@ -198,6 +205,7 @@
       Pokud je tato zásada zapnutá, Asistent Google bude mít povolen přístup ke kontextu obrazovky.
       Pokud je tato zásada zakázaná, Asistent Google ke kontextu obrazovky přístup mít nebude.
       Pokud tato zásada není nastavená, uživatelé se mohou rozhodnout, zda Asistentovi Google povolí přístup ke kontextu obrazovky, či nikoliv.</translation>
+<translation id="1376119291123231789">Zapnout rozšířený režim nabíjení baterie</translation>
 <translation id="1383493480903114193">Tato zásada vynucuje spuštění kódu pro sítě v procesu prohlížeče.
 
       Tato zásada je ve výchozím nastavení vypnutá. Pokud ji zapnete, budou uživatelé po přesunutí procesu pro sítě do izolovaného prostoru vystaveni bezpečnostním rizikům.
@@ -290,6 +298,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Zapnout blokování vkládání softwaru třetích stran</translation>
 <translation id="1504431521196476721">Vzdálené ověření identity</translation>
+<translation id="1507382822467487898">
+          Určuje, která adresa MAC (Media Access Control) se použije, když k zařízení bude připojený dok.
+
+          U některých modelů zařízení se při připojení k doku k identifikaci zařízení v síti Ethernet ve výchozím nastavení používá speciální adresa MAC pro dok. Pomocí této zásady administrátor zdroj adresy MAC používané při připojení k doku může změnit.
+
+          Pokud je vybrána možnost DeviceDockMacAddress nebo je zásada ponechána nenastavená, použije se speciální adresa MAC zařízení pro dok.
+
+          Pokud je vybrána možnost DeviceNicMacAddress použije se adresa MAC řadiče síťového rozhraní (NIC) zařízení.
+
+          Pokud je vybrána možnost DockNicMacAddress, použije se adresa MAC NIC doku.
+
+          Uživatel toto nastavení nemůže změnit.</translation>
 <translation id="1507957856411744193">Je-li tato zásada nastavena na hodnotu true, bude se <ph name="PRODUCT_NAME" /> připojovat k zařízením Cast na všech IP adresách, nikoliv pouze na soukromých adresách RFC1918/RFC4193.
 
           Je-li tato zásada nastavena na hodnotu false, bude se <ph name="PRODUCT_NAME" /> připojovat pouze k zařízením Cast na soukromých adresách RFC1918/RFC4193.
@@ -710,6 +730,17 @@
 <translation id="2303795211377219696">Povolit automatické vyplňování pro platební karty</translation>
 <translation id="2309390639296060546">Výchozí nastavení geolokace</translation>
 <translation id="2327252517317514801">Definování domén, kterým je povolen přístup ke službám G Suite</translation>
+<translation id="2356878440219553005">Určuje zásadu řízení spotřeby pro režim nabíjení baterie.
+
+          Umožňuje dynamicky ovládat nabíjení baterie tak, aby se minimalizovalo její opotřebení a prodloužila její životnost.
+
+          Pokud je vybrán vlastní režim nabíjení baterie, musí být zadány zásady DeviceBatteryChargeCustomStartCharging a DeviceBatteryChargeCustomStopCharging.
+
+          Pokud je tato zásada nastavená, režim nabíjení baterie se použije v případě, že je na zařízení podporován.
+
+          Pokud je tato zásada ponechána nenastavená a zásada je na zařízení podporována, použije se standardní režim nabíjení baterie a uživatel ho nebude moci změnit.
+
+          Poznámka: Pokud je zadána zásada <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" />, přepíše tuto zásadu.</translation>
 <translation id="237494535617297575">Umožňuje nastavit seznam vzorů adres URL webových stránek, které mají povoleno nastavovat upozornění.
 
           Pokud zásadu nenastavíte, použije se pro všechny webové stránky globální výchozí hodnota buď ze zásady DefaultNotificationsSetting (pokud je nastavena), nebo z osobního nastavení uživatele.</translation>
@@ -747,6 +778,7 @@
 
       Pokud má tato zásada hodnotu False, automatické přihlašování s nulovou prodlevou (je-li nastaveno) nelze obejít.</translation>
 <translation id="2454228136871844693">Optimalizovat pro stabilitu.</translation>
+<translation id="2463034609187171371">Povolit v TLS šifrovací sady DHE</translation>
 <translation id="2463365186486772703">Jazyk aplikace</translation>
 <translation id="2466131534462628618">Ověření captive portálu ignoruje proxy server</translation>
 <translation id="2482676533225429905">Zasílání nativních zpráv</translation>
@@ -927,6 +959,7 @@
 <translation id="2769952903507981510">Konfigurovat povinný název domény pro hostitele vzdáleného přístupu</translation>
 <translation id="2787173078141616821">Hlásit informace o stavu systému Android</translation>
 <translation id="2799297758492717491">Povolit automatické přehrávání médií zahrnutých v seznamu vzorů povolených adres URL</translation>
+<translation id="2801155097555584385">Nastavit vlastní úroveň nabití baterie pro zahájení nabíjení v procentech</translation>
 <translation id="2801230735743888564">Povolit uživatelům hrát hru s dinosaurem, když je zařízení offline.
 
       Je-li tato zásada nastavena na hodnotu False, uživatelé nemohou hrát hru s dinosaurem, když je zařízení offline. Pokud je tato zásada nastavena na hodnotu True, uživatelé hru s dinosaurem hrát mohou. Pokud tato zásada není nastavena, v zaregistrovaném systému Chrome OS uživatelé hru s dinosaurem hrát nemohou, ale za všech jiných okolností ji hrát mohou.</translation>
@@ -1000,6 +1033,7 @@
       Pokud toto nastavení zakážete nebo nenastavíte žádnou hodnotu, bude Náhled tisku jako výchozí cíl používat naposledy použitou tiskárnu.
 
       Pokud aktivujete toto nastavení, bude Náhled tisku jako výchozí cíl používat výchozí tiskárnu systému.</translation>
+<translation id="285627849510728211">Nastavení denní konfigurace rozšířeného režimu nabíjení baterie</translation>
 <translation id="2856674246949497058">Pokud je verze operačního systému novější než cílová verze, vrátit se zpět k cílové verzi a zachovat ji. Během tohoto procesu spustit Powerwash.</translation>
 <translation id="2872961005593481000">Vypnout</translation>
 <translation id="2873651257716068683">Přepíše výchozí velikost stránky tisku. Pokud velikost stránky není k dispozici, zásada bude ignorována.</translation>
@@ -1131,12 +1165,26 @@
 <translation id="3072045631333522102">Spořič obrazovky, který bude použit na přihlašovací obrazovce v režimu pro obchody</translation>
 <translation id="3072847235228302527">Nastavit smluvní podmínky pro účet v zařízení</translation>
 <translation id="3077183141551274418">Povolí nebo zakáže životní cykly karet</translation>
+<translation id="3079417254871857650">Určuje akci, která se má podniknout v případě, že byl domovský adresář uživatele vytvořen se šifrováním ecryptfs.
+
+      Pokud tuto zásadu nastavíte na hodnotu „DisallowArc“, uživatel nebude moci používat aplikace pro Android a neprovede se žádná migrace ze šifrování ecryptfs na šifrování ext4. Pokud domovský adresář šifrování ext4 již používá, spouštění aplikací pro Android zakázáno nebude.
+
+      Pokud tuto zásadu nastavíte na hodnotu „Migrate“, domovské adresáře se šifrováním ecryptfs se při přihlášení automaticky převedou na šifrování ext4, aniž by byl uživatel požádán o souhlas.
+
+      Pokud tuto zásadu nastavíte na hodnotu „Wipe“, domovské adresáře se šifrováním ecryptfs se při přihlášení smažou a namísto nich se vytvoří nové domovské adresáře se šifrováním ext4. Upozornění: Při této operaci budou odstraněna místní data uživatele.
+
+      Pokud tuto zásadu nastavíte na hodnotu „MinimalMigrate“, domovské adresáře se šifrováním ecryptfs se při přihlášení smažou a namísto nich se vytvoří nové domovské adresáře se šifrováním ext4. Systém se však pokusí zachovat přihlašovací tokeny, aby se uživatel nemusel znovu přihlašovat. Upozornění: Při této operaci budou odstraněna místní data uživatele.
+
+      Pokud tuto zásadu nastavíte na možnost, která již není podporována („AskUser“ nebo „AskForEcryptfsArcUsers“), bude se tato zásada chovat stejně, jako kdybyste vybrali možnost „Migrate“.
+
+      Tato zásada se nevztahuje na uživatele veřejných terminálů. Pokud tato zásada nebude nastavena, bude se zařízení chovat, jako kdyby byla vybrána hodnota DisallowArc.</translation>
 <translation id="3086995894968271156">Nakonfigurujte přijímač Cast ve službě <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Umožňuje nastavit seznam vzorů adres URL webových stránek, které mají povoleno zobrazovat obrázky.
 
           Pokud tuto zásadu nenastavíte, použije se pro všechny webové stránky globální výchozí hodnota buď ze zásady DefaultImageSetting (pokud je nastavena), nebo z osobního nastavení uživatele.
 
           Dříve tato zásada byla omylem k dispozici na zařízeních Android, ale tato funkce v systému Android nikdy nebyla plně podporována.</translation>
+<translation id="3091832372132789233">Nabíjet baterie zařízení, která jsou primárně připojená k externímu zdroji napájení.</translation>
 <translation id="3096595567015595053">Seznam aktivovaných pluginů</translation>
 <translation id="3101501961102569744">Zvolit způsob konfigurace nastavení proxy serveru</translation>
 <translation id="3101709781009526431">Datum a čas</translation>
@@ -1162,6 +1210,7 @@
           Pokud je toto nastavení zakázáno, <ph name="PRODUCT_NAME" /> bude používat pouze hostitele zasílání nativních zpráv nainstalované na úrovni systému.
 
           Pokud toto nastavení ponecháte nenastavené, povolí prohlížeč <ph name="PRODUCT_NAME" /> použití hostitelů zasílání nativních zpráv nastavených na úrovni uživatele.</translation>
+<translation id="3177802893484440532">U místních kotev důvěry vyžadovat kontroly OCSP/CRL</translation>
 <translation id="3185009703220253572">od verze <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Aplikace Android k podnikovým klíčům nemají přístup. Tato zásada na ně nemá vliv.</translation>
 <translation id="3205825995289802549">Při prvním spuštění maximalizovat první okno prohlížeče</translation>
@@ -1175,6 +1224,7 @@
 <translation id="3220624000494482595">Je-li terminálová aplikace aplikace Android, nebude mít nad verzí systému <ph name="PRODUCT_OS_NAME" /> kontrolu ani v případě, že je tato zásada nastavena na hodnotu <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Vzory adres URL, ze kterých je možné instalovat rozšíření, aplikace a uživatelské skripty</translation>
 <translation id="3240609035816615922">Zásada přístupu ke konfiguraci tiskáren.</translation>
+<translation id="3240655340884151271">Adresa MAC NIC vestavěného v doku</translation>
 <translation id="3243309373265599239">Udává dobu nečinnosti uživatele, po které bude při napájení ze sítě snížen jas obrazovky.
 
           Pokud je tato zásada nastavena hodnotu větší než nula, jedná se o dobu, po kterou musí uživatel zůstat v nečinnosti, než systém <ph name="PRODUCT_OS_NAME" /> sníží jas obrazovku.
@@ -1196,6 +1246,12 @@
       Pokud je toto nastavení aktivované nebo není nakonfigurované, mohou uživatelé proxy server pro tisk z cloudu aktivovat ověřením pomocí účtu Google.
 
       Pokud je toto nastavení deaktivováno, uživatelé proxy server nebudou moci aktivovat a počítač nebude moci sdílet připojené tiskárny se službou <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Zapne stránku na adrese chrome://password-change, na které mohou uživatelé SAML měnit svá hesla SAML během relace. Zajišťuje se tím, aby heslo SAML a heslo na obrazovce uzamčení zařízení byla synchronizována.
+
+      Tato zásada také povoluje oznámení, která uživatele SAML upozorňují na brzké vypršení platnosti hesel SAML. Uživatelé tak tuto záležitost mohou ihned vyřešit tím, že heslo během relace změní.
+      Tato oznámení se však zobrazí pouze v případě, že poskytovatel identity SAML do zařízení během přihlašovacího procesu SAML odesílá informace o vypršení platnosti.
+
+      Pokud je tato zásada nastavená, uživatel ji nemůže změnit ani přepsat.</translation>
 <translation id="3322771899429619102">Umožňuje nastavit seznam vzorů adres URL webových stránek, které mají povoleno generovat klíče. Vzory adres URL uvedené v zásadě KeygenBlockedForUrls tyto výjimky přepíšou.
 
 Pokud tuto zásadu nenastavíte, použije se pro všechny webové stránky globální výchozí hodnota buď ze zásady DefaultKeygenSetting (pokud je nastavena), nebo z osobního nastavení uživatele.</translation>
@@ -1279,6 +1335,7 @@
 
           Pokud je tato zásada nastavena na hodnotu False nebo je ponechána nenastavená, prodlevy správy obsahu a limit délky návštěvy začnou běžet ihned po zahájení návštěvy.</translation>
 <translation id="3478024346823118645">Při odhlášení smazat uživatelská data</translation>
+<translation id="3480961938508521469">Úplně baterii nabít standardní rychlostí.</translation>
 <translation id="348495353354674884">Aktivovat virtuální klávesnici</translation>
 <translation id="3487623755010328395">
         Pokud je tato zásada nastavena, pokusí se <ph name="PRODUCT_NAME" /> zaregistrovat a použít pro všechny profily přidružené zásady použití cloudu.
@@ -1322,6 +1379,8 @@
 <translation id="3547954654003013442">Nastavení proxy serveru</translation>
 <translation id="355118380775352753">Weby, které se mají otevírat v alternativním prohlížeči</translation>
 <translation id="3554984410014457319">Povolit Asistentovi Google naslouchat hlasové aktivační frázi</translation>
+<translation id="356579196325389849">Uživatelé mohou nakonfigurovat kanál verzí systému Chrome OS</translation>
+<translation id="3575011234198230041">Ověření HTTP</translation>
 <translation id="3577251398714997599">Nastavení reklam pro weby s rušivými reklamami</translation>
 <translation id="357917253161699596">Povolit uživatelům spravovat uživatelské certifikáty</translation>
 <translation id="3583230441447348508">Určuje seznam předem nakonfigurovaných síťových sdílených úložišť.
@@ -1352,6 +1411,7 @@
 
         Tato zásada se používá k registraci cloudových zásad pro počítač. V systému Windows ji lze nastavit pomocí registru nebo objektů zásad skupiny, na počítačích Mac pomocí souboru plist a v Linuxu pomocí souboru JSON se zásadami.</translation>
 <translation id="3660562134618097814">Přenos souborů cookie od poskytovatele identity SAML při přihlášení</translation>
+<translation id="3668151900457104753">Odinstalovat rozšíření na seznamu zakázaných</translation>
 <translation id="3701121231485832347">Ovládá nastavení specifická pro zařízení <ph name="PRODUCT_OS_NAME" /> spravovaná službou <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Podpora pole s jedním řádkem byla ukončena. Začněte používat níže uvedené textové pole s více řádky.)</translation>
 <translation id="3709266154059827597">Konfigurace seznamu zakázaných položek instalace rozšíření</translation>
@@ -1433,6 +1493,16 @@
           Pokud ji ponecháte nenastavenou, softwarová klávesnice bude ve výchozím nastavení zakázána, ale uživatelé ji budou moci kdykoli povolit.</translation>
 <translation id="382476126209906314">Konfigurovat předponu TalkGadget pro hostitele vzdáleného přístupu</translation>
 <translation id="3824972131618513497">Ovládá nastavení související s řízením spotřeby a restartováním.</translation>
+<translation id="3826475866868158882">Služby určování polohy Google povoleny</translation>
+<translation id="3831054243924627613">Tato zásada ovládá počáteční stav zálohování a obnovení systému Android.
+
+      Když tato zásada není nakonfigurovaná nebo je nastavená na hodnotu <ph name="BR_DISABLED" />, je zálohování a obnovení systému Android v počátečním stavu vypnuté.
+
+      Když je tato zásada nastavená na hodnotu <ph name="BR_ENABLED" />, je zálohování a obnovení systému Android v počátečním stavu zapnuté.
+
+      Když je tato zásada nastavená na hodnotu <ph name="BR_UNDER_USER_CONTROL" />, zobrazí se uživateli dotaz, zda chce zálohování a obnovení systému Android používat. Pokud uživatel zálohování a obnovení zapne, data aplikací Android se budou nahrávat na zálohovací servery Android a při opětovných instalacích kompatibilních aplikací se z nich budou obnovovat.
+
+      Upozorňujeme, že tato zásada ovládá pouze stav zálohování a obnovení systému Android při počátečním nastavení. Uživatel následně může otevřít nastavení systému Android a zálohování a obnovení systému Android zapnout nebo vypnout.</translation>
 <translation id="3831376478177535007">Když je toto nastavení aktivováno, povoluje <ph name="PRODUCT_NAME" /> důvěřovat certifikátům vydaným pomocí operací starší infrastruktury PKI společnosti Symantec (pokud je jinak možné je úspěšně ověřit a propojit s uznávaným certifikátem CA).
 
       Upozorňujeme, že tato zásada závisí na tom, zda operační systém stále uznává certifikáty ze starší infrastruktury společnosti Symantec. Jestliže při aktualizaci operačního systému dojde ke změně zpracování takových certifikátů operačním systémem, tato zásada již nebude fungovat. Tato zásada je určena jako dočasné řešení, které má podnikům poskytnout více času k přechodu ze starších certifikátů Symantec na jiné. Kolem 1. ledna 2019 bude odstraněna.
@@ -1514,6 +1584,15 @@
 
           Pokud má tato zásada hodnotu False nebo není nastavena, uživatelé budou moci přenášet soubory na Disk Google.</translation>
 <translation id="3915395663995367577">Adresa URL souboru PAC proxy serveru</translation>
+<translation id="3920892052017026701">Nastavuje vlastní úroveň nabití baterie pro zahájení nabíjení v procentech.
+
+          Jakmile se baterie vybije na vlastní úroveň pro zahájení nabíjení, začne se nabíjet.
+
+          Hodnota DeviceBatteryChargeCustomStartCharging musí být menší než hodnota DeviceBatteryChargeCustomStopCharging.
+
+          Tato zásada se používá jen v případě, že je zásada DeviceBatteryChargeMode nastavená na možnost Vlastní.
+
+          Pokud tato zásada není nakonfigurovaná nebo je ponechána nenastavená, použije se standardní režim nabíjení baterie.</translation>
 <translation id="3925377537407648234">Nastavit rozlišení a měřítko obrazovky</translation>
 <translation id="3939893074578116847">Odesílá na server správy síťové pakety ke sledování stavu online, což serveru umožňuje zjistit, zda zařízení není offline.
 
@@ -1643,6 +1722,7 @@
 <translation id="4150201353443180367">Displej</translation>
 <translation id="4157003184375321727">Hlásit verzi operačního systému a firmwaru</translation>
 <translation id="4157594634940419685">Povolit přístup k nativním tiskárnám CUPS</translation>
+<translation id="4160962198980004898">Zdroj adresy MAC zařízení při vložení do doku</translation>
 <translation id="4163705126749612234">Slouží ke konfiguraci povinných názvů klientských domén, které budou vyžadovány u klientů vzdáleného přístupu, a brání uživatelům, aby je změnili.
 
           Pokud je toto nastavení aktivováno, k hostiteli se budou moci připojit pouze klienti ze zadaných domén.
@@ -1719,6 +1799,7 @@
       Upozorňujeme, že zásada obsahující ID aplikace nutně neznamená, že uživatel bude moci určitou aplikaci povolit jako aplikaci k přidávání poznámek na obrazovku uzamčení. Například v Chromu verze 61 jsou dostupné aplikace navíc omezeny ze strany platformy.
 
       Pokud zásada nebude nastavena, nebudou na základě zásady uplatňována žádná omezení ohledně sady aplikací, které uživatel může na obrazovce uzamčení povolit.</translation>
+<translation id="4313767483634435271">Adresa MAC zařízení pro dok</translation>
 <translation id="4322842393287974810">Povolit automaticky spouštěné terminálové aplikaci s nulovým zpožděním ovládat verzi systému <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="4325690621216251241">Přidat na hlavní panel systému tlačítko pro odhlášení</translation>
 <translation id="4332177773549877617">Protokolovat události při instalaci aplikací pro Android</translation>
@@ -1750,6 +1831,7 @@
 <translation id="4360826270668210664">Pokud je tato zásada nastavená, bude připojení hostitele vzdáleného přístupu vyžadovat, aby ověřovaní klienti získali token ověření z této adresy URL. Je třeba používat spolu se zásadou RemoteAccessHostTokenValidationUrl.
 
           Tato funkce je v současné době na straně serveru zakázaná.</translation>
+<translation id="4363057787588706121">Povolit sloučení zásad se seznamy z různých zdrojů</translation>
 <translation id="436581050240847513">Odesílat informace o síťových rozhraních zařízení</translation>
 <translation id="4372704773119750918">Nepovolí podnikovým uživatelům být součástí multiprofilu (primárního či sekundárního)</translation>
 <translation id="4377599627073874279">Povolit všem webům zobrazování všech obrázků</translation>
@@ -1923,6 +2005,7 @@
 <translation id="4826326557828204741">Akce, která bude provedena, pokud bude dosaženo limitu doby nečinnosti při provozu na baterii</translation>
 <translation id="4832852360828533362">Hlášení uživatelů a zařízení</translation>
 <translation id="4834526953114077364">Bude odstraněno tolik uživatelů, od jejichž posledního použití uplynula nejdelší doba, kolik bude potřeba k uvolnění dostatečného množství volného místa. Odstraněni budou pouze uživatelé, kteří se během posledních 3 měsíců nepřihlásili.</translation>
+<translation id="4835622243021053389">Povolit ověřování PovoliNTLMv2.</translation>
 <translation id="4858735034935305895">Povolení režimu celé obrazovky</translation>
 <translation id="4861767323695239729">Nakonfigurovat metody zadávání povolené v uživatelské relaci</translation>
 <translation id="487460824085252184">Migrovat automaticky, nežádat uživatele o souhlas.</translation>
@@ -2041,6 +2124,11 @@
 
       Na rozdíl od zásady <ph name="URL_LIST_POLICY_NAME" /> fungují pravidla oběma směry, tj. když je přítomen a zapnut doplněk prohlížeče Internet Explorer, tato zásada také určuje, zda má <ph name="IE_PRODUCT_NAME" /> tyto adresy URL otevírat v prohlížeči <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Zapnout spuštění při připojení k napájení ze sítě</translation>
+<translation id="5131211790949066746">Umožňuje sloučení zásad se seznamy pro instalaci rozšíření <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> a <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" />.
+
+      Pokud aktivujete toto nastavení, hodnoty ze zásady platformy pro počítač, cloudové zásady pro počítač a zásady platformy pro uživatele se sloučí do jednoho seznamu a namísto použití hodnot z jednoho zdroje s nejvyšší prioritou se použijí jako celek.
+
+      Pokud toto nastavení deaktivujete nebo ponecháte nenastavené, použijí se pouze položky seznamu ze zdroje s nejvyšší prioritou. Všechny ostatní zdroje budou uvedeny jako konflikty a budou ignorovány.</translation>
 <translation id="5141670636904227950">Nastavení výchozího typu lupy, který je aktivován na přihlašovací obrazovce</translation>
 <translation id="5142301680741828703">Následující vzory adres URL vykreslovat vždy v pluginu <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Umožňuje nastavit dodatečné parametry, které plugin <ph name="PRODUCT_FRAME_NAME" /> při spouštění aplikace <ph name="PRODUCT_NAME" /> použije.
@@ -2162,6 +2250,7 @@
 
       Pokud tato zásada není nastavena nebo je nastavena na prázdný řetězec nebo neplatný rozsah portů, má rozhraní WebRTC povoleno používat libovolný dostupný místní port UDP.</translation>
 <translation id="5290940294294002042">Určete seznam pluginů, které uživatel může povolit nebo zakázat</translation>
+<translation id="5306186200045823863">Povolit důvěřování trust in starší infrastruktuře PKI společnosti Symantec</translation>
 <translation id="5307432759655324440">Dostupnost anonymního režimu</translation>
 <translation id="5318185076587284965">Povolit použití předávacích serverů hostitelem vzdáleného přístupu</translation>
 <translation id="5323128137188992869">Umožňuje odesílání obsahu do zařízení pomocí služby <ph name="PRODUCT_NAME" />.
@@ -2258,6 +2347,7 @@
       Pokud si pravidla vzájemně odporují, použije <ph name="PRODUCT_NAME" /> to nejkonkrétnější z nich.</translation>
 <translation id="5475361623548884387">Povolit tisk</translation>
 <translation id="547601067149622666">Nepovolovat reklamy na webech s rušivými reklamami</translation>
+<translation id="5483065054530244863">Povolit certifikáty podepsané algoritmem SHA-1 vydané místními kotvami důvěry</translation>
 <translation id="5483777239978559943">Podpora této zásady byla ukončena. K určení dostupnosti pluginu Flash použijte zásadu <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> a k určení, zda se mají soubory PDF otevírat v integrovaném prohlížeči souborů PDF, použijte zásadu <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" />.
 
       Určuje seznam pluginů, které uživatel v prohlížeči <ph name="PRODUCT_NAME" /> může povolit nebo zakázat.
@@ -2370,6 +2460,17 @@
           Pokud tuto zásadu aktivujete nebo ji nenastavíte, uživatelé budou ve správci hesel moci zobrazit uložená hesla jako čitelný text.</translation>
 <translation id="5620392548325769024">Aktivovat při prvním spuštění prohlížeče po přechodu na vyšší verzi OS zobrazení uvítací stránky</translation>
 <translation id="5630352020869108293">Obnovit poslední relaci</translation>
+<translation id="5643906875497889108">Určuje, jaké typy aplikací nebo rozšíření lze instalovat, a omezuje přístup k běhovému prostředí.
+
+          Toto nastavení uvádí seznam povolených rozšíření nebo aplikací, které lze nainstalovat do prohlížeče <ph name="PRODUCT_NAME" />, a hostitelů, se kterými mohou komunikovat. Hodnota představuje seznam řetězců. Musí se jednat o řetězce z následujícího výčtu: extension, theme, user_script, hosted_app, legacy_packaged_app, platform_app. Další informace o těchto typech naleznete v dokumentaci k rozšířením prohlížeče <ph name="PRODUCT_NAME" />.
+
+          Tato zásada se vztahuje i na rozšíření a aplikace, jejichž instalace je vynucena prostřednictvím zásady ExtensionInstallForcelist.
+
+          Pokud je toto nastavení nakonfigurováno, typy rozšíření a aplikací, které nejsou na seznamu uvedeny, nebudou nainstalovány.
+
+          Pokud je toto nastavení ponecháno nenakonfigurované, žádná omezení týkající se přijatelných typů rozšíření a aplikací vynucována nebudou.
+
+          Ve verzích nižších než 75 není podporováno použití ID rozšíření oddělených čárkami a bude přeskočeno. Zbytek zásady se použije.</translation>
 <translation id="5645779841392247734">Povolit soubory cookie na těchto stránkách</translation>
 <translation id="5689430183304951538">Výchozí velikost stránky tisku</translation>
 <translation id="5693469654327063861">Povolit migraci dat</translation>
@@ -2409,6 +2510,7 @@
 <translation id="5765780083710877561">Popis:</translation>
 <translation id="5770738360657678870">Verze pro vývojáře (mohou být nestabilní)</translation>
 <translation id="5774856474228476867">Adresa URL vyhledávání výchozího poskytovatele vyhledávání</translation>
+<translation id="5775235485119094648">Nabít baterii, když je v určitém rozmezí.</translation>
 <translation id="5776485039795852974">Dotázat se vždy, když se webové stránky snaží zobrazit oznámení na ploše</translation>
 <translation id="5781412041848781654">Určuje knihovnu GSSAPI, která bude použita pro ověření v protokolu HTTP. Nastavit lze buď pouze název knihovny, nebo celou cestu.
 
@@ -2476,6 +2578,7 @@
 <translation id="5893553533827140852">Pokud je toto nastavení povoleno, žádosti gnubby o ověření budou zprostředkovány přes připojení ke vzdálenému hostiteli.
 
           Pokud je toto nastavení zakázáno nebo není nakonfigurováno, žádosti gnubby o ověření nebudou zprostředkovány.</translation>
+<translation id="5897913798715600338">Nabíjet baterii technologií rychlého nabíjení.</translation>
 <translation id="5898486742390981550">Když je přihlášeno několik uživatelů, může aplikace Android používat pouze primární uživatel.</translation>
 <translation id="5900196529149231477">
       Tato zásada platí pro přihlašovací obrazovku. Prostudujte si také zásadu <ph name="ISOLATE_ORIGINS_POLICY_NAME" />, která platí pro uživatelskou relaci. Obě zásady doporučujeme nastavit na stejnou hodnotu. Pokud se hodnoty neshodují, může při zahajování uživatelské návštěvy dojít ke zpoždění způsobenému používáním hodnoty zadané v zásadě pro uživatele.
@@ -2484,12 +2587,14 @@
       Pokud tuto zásadu ponecháte nenakonfigurovanou, použije se pro přihlašovací obrazovku výchozí nastavení platformy týkající se izolace webů.
       </translation>
 <translation id="5901427587865226597">Pouze oboustranný tisk</translation>
+<translation id="5905473632148429217">Zapnout online kontroly OCSP/CRL</translation>
 <translation id="5906199912611534122">Umožňuje aktivovat nebo deaktivovat omezení rychlosti sítě.
       Toto nastavení platí pro všechny uživatele a všechna rozhraní v zařízení. Jakmile je omezení nastaveno,
       zůstane aktivní, dokud nebude deaktivováno změnou této zásady.
 
       Je-li tato zásada nastavena na hodnotu False, omezení je vypnuto.
       Je-li nastavena na hodnotu True, bude systém omezen tak, aby bylo dosaženo zadaných rychlostí nahrávání a stahování (v kilobitech za sekundu).</translation>
+<translation id="591088232153082363">Nabíjet baterii adaptivně podle vzorce využití baterie.</translation>
 <translation id="5921713479449475707">Povolení stahování automatických aktualizací prostřednictvím protokolu HTTP</translation>
 <translation id="5921888683953999946">Nastavuje výchozí stav funkce usnadnění přístupu pomocí velkého kurzoru na přihlašovací obrazovce.
 
@@ -2511,6 +2616,7 @@
 <translation id="5950205771952201658">Vzhledem k tomu, že online kontroly zamítnutých certifikátů nepřinášejí žádné efektivní bezpečnostní výhody a také snadno selhávají, jsou v prohlížeči <ph name="PRODUCT_NAME" /> verze 19 a vyšší ve výchozím nastavení deaktivovány. Nastavíte-li tuto zásadu na hodnotu True, obnoví se předchozí chování a budou prováděny online kontroly OCSP/CRL.
 
 Pokud tato zásada není nastavena nebo je nastavena na hodnotu False, <ph name="PRODUCT_NAME" /> nebude u verzí <ph name="PRODUCT_NAME" /> 19 a novějších provádět online kontroly zamítnutých certifikátů.</translation>
+<translation id="5961137303188584693">Adresa MAC NIC vestavěného v zařízení</translation>
 <translation id="5966615072639944554">Rozšíření, která mohou používat rozhraní API vzdáleného ověření identity</translation>
 <translation id="5983708779415553259">Výchozí chování pro stránky, které nejsou součástí žádného obsahového balíčku</translation>
 <translation id="5997543603646547632">Ve výchozím nastavení použít 24hodinový formát</translation>
@@ -2601,6 +2707,17 @@
 <translation id="6111936128861357925">Povolit hru s dinosaurem</translation>
 <translation id="6114416803310251055">zastaralé</translation>
 <translation id="6133088669883929098">Povolit všem webům generovat klíče</translation>
+<translation id="6136537398661737682">Tato zásada ovládá počáteční stav služeb určování polohy Google.
+
+      Když tato zásada není nakonfigurovaná nebo je nastavená na možnost <ph name="GLS_DISABLED" />, služby určování polohy Google jsou v počáteční stavu vypnuté.
+
+      Když je tato zásada nastavená na možnost <ph name="GLS_ENABLED" />, jsou služby určování polohy Google v počátečním stavu zapnuté.
+
+      Když je tato zásada nastavená na možnost <ph name="GLS_UNDER_USER_CONTROL" />, zobrazí se uživateli dotaz, zda chce služby určování polohy Google používat. Pokud tyto služby budou zapnuté, aplikace pro Android pomocí nich budou moci zjišťovat polohu zařízení, a také se budou odesílat anonymní údaje o poloze do Googlu.
+
+      Tato zásada ovládá pouze stav služeb určování polohy Google při počátečním nastavení. Uživatel následně může otevřít nastavení systému Android a služby určování polohy Google zapnout nebo vypnout.
+
+      Když je zásada <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> nastavená na možnost <ph name="BLOCK_GEOLOCATION_SETTING" />, tato zásada se ignoruje a služby určování polohy Google jsou vždy vypnuté.</translation>
 <translation id="6141402445226505817">Vždy používat hrubé zjišťování časového pásma</translation>
 <translation id="6145799962557135888">Umožňuje nastavit seznam vzorů adres URL stránek, kterým je povoleno spouštět JavaScript.
 
@@ -2663,9 +2780,17 @@
 Je-li zásada deaktivovaná, k importu dat automatického vyplňování formulářů nedojde.
 
 Není-li zásada nastavena, může se uživatelům zobrazit výzva, zda chtějí data importovat, nebo může import probíhat automaticky.</translation>
+<translation id="6221175752766085998">Povolit certifikáty vydané místními kotvami důvěryhodnosti bez rozšíření subjectAlternativeName</translation>
 <translation id="6224304369267200483">Adresy URL/domény s automatickým povolením k přímé atestaci bezpečnostních klíčů</translation>
 <translation id="6233173491898450179">Nastavit adresář pro stahování</translation>
 <translation id="6244210204546589761">Adresy URL otevírané při spuštění</translation>
+<translation id="6255387031094435995">Umožňuje sloučení vybraných zásad, když pocházejí z různých zdrojů se stejným rozsahem a úrovní.
+
+        Pokud je zásada v seznamu a dojde ke konfliktu mezi dvěma zdroji se stejným rozsahem a úrovní, sloučí se hodnoty do nového seznamu zásad.
+
+        Pokud je zásada v seznamu a dojde ke konfliktu mezi dvěma zdroji, ale také mezi různými rozsahy či úrovněmi, použije se zásada s nejvyšší prioritou.
+
+        Pokud zásada není v seznamu a dojde ke konfliktu mezi zdroji, rozsahy nebo úrovněmi použije se zásada s nejvyšší prioritou.</translation>
 <translation id="6258193603492867656">Určuje, zda by měl vygenerovaný hlavní název služby (SPN) protokolu Kerberos obsahovat nestandardní port. 
    
             Pokud toto nastavení aktivujete a bude zadán nestandardní port (tedy jiný port než 80 nebo 443), bude zahrnut do vygenerovaného hlavního názvu služby (SPN) protokolu Kerberos.
@@ -2866,6 +2991,7 @@
 <translation id="6757438632136860443">Umožňuje nastavit seznam vzorů adres URL webů, které mají povoleno spouštět plugin <ph name="FLASH_PLUGIN_NAME" />.
 
           Pokud tuto zásadu nenastavíte, použije se pro všechny weby globální výchozí hodnota buď ze zásady DefaultPluginsSetting (pokud je nastavena), nebo z osobní konfigurace uživatele.</translation>
+<translation id="6757613329154374267">Zálohování a obnovení povoleno</translation>
 <translation id="6762235610019366960">Umožňuje ovládat prezentaci propagačního nebo vzdělávacího obsahu na celou kartu v prohlížeči <ph name="PRODUCT_NAME" />.
 
       Pokud tato zásada není nakonfigurována nebo je povolena (nastavena na hodnotu true), může <ph name="PRODUCT_NAME" /> uživatelům ukazovat obsah na celou kartu s informacemi o službách.
@@ -2888,6 +3014,7 @@
       Řetězec může obsahovat proměnné ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR} a ${MACHINE_NAME}, které se v zařízení nahradí hodnotami, čímž vznikne název hostitele. Po nahrazení by měl vzniknout platný název hostitele (odpovídající sekci 3.1 specifikace RFC 1035).
 
       Pokud tato zásada není nastavena nebo název hostitele po nahrazení nebude platný, v požadavku DHCP žádný název hostitele nastaven nebude. </translation>
+<translation id="6833988859168635883">Spuštění, domovská stránka a stránka Nová karta</translation>
 <translation id="6835883744948188639">Zobrazovat uživateli opakovaně výzvu s oznámením, že je doporučen restart</translation>
 <translation id="6837480141980366278">Určuje, zda se v prohlížeči <ph name="PRODUCT_NAME" /> používá integrovaný klient DNS.
 
@@ -2996,6 +3123,17 @@
 
       Když se má obrazovka ztmavit, chytrý model ztmavování posoudí, zda by se ztmavení obrazovky nemělo odložit. Pokud chytrý model ztmavování ztmavení obrazovky odloží, prodlouží se tím doba do ztmavení obrazovky. Prodlevy vypnutí obrazovky, uzamčení obrazovky a nečinnosti se v tomto případě upraví tak, aby mezi nimi a prodlevou ztmavení zůstala původně nakonfigurovaná doba.
       Pokud je tato zásada nastavená na hodnotu True nebo není nastavená, bude chytrý model ztmavování zapnut a bude mít povoleno prodloužit dobu do ztmavení obrazovky. Pokud je tato zásada nastavená na hodnotu False, chytrý model ztmavování na ztmavení obrazovky nebude mít vliv.</translation>
+<translation id="6967394885063085697">Zapne zásadu řízení spotřeby, pro rozšířené režimy nabíjení baterie.
+
+          Rozšířený režim nabíjení baterie uživatelům umožňuje maximalizovat životnost baterie. V rozšířeném režimu nabíjení bude systém mimo pracovní dobu používat standardní nabíjecí algoritmus a další techniky k maximalizaci životnosti baterie. V pracovní době se bude používat expresní nabíjení. Pomocí expresního nabíjení lze baterii nabít rychleji, to znamená, že bude dříve úplně nabitá. Doba nejintenzivnějšího používání systému se pro každý den zadává pomocí času zahájení a trvání.
+
+          Pokud je tato zásada nastavená na hodnotu true a je nastavená také zásada DeviceAdvancedBatteryChargeModeDayConfig, bude rozšířený režim nabíjení baterie povolen vždy (pokud ho zařízení podporuje).
+
+          Pokud je tato zásada nastavená na hodnotu false, rozšířený režim nabíjení baterie bude vždy vypnutý.
+
+          Pokud tuto zásadu nastavíte, uživatelé ji nebudou moci změnit ani přepsat.
+
+          Pokud tuto zásadu ponecháte nenastavenou, bude rozšířený režim nabíjení baterie vypnutý a uživatel jej nebude moci zapnout.</translation>
 <translation id="6972540544240464302">Vybrat konfiguraci plánovače úloh</translation>
 <translation id="6979158407327259162">Disk Google</translation>
 <translation id="6994082778848658360">Udává, jak lze integrovaný bezpečnostní hardwarový prvek používat k dvoufaktorovému ověření, pokud je s touto funkcí kompatibilní. Ke zjištění fyzické přítomnosti uživatele se používá vypínač počítače.
@@ -3073,6 +3211,17 @@
       Pokud toto nastavení aktivujete nebo deaktivujete, uživatelé je nebudou moci změnit ani přepsat.
 
       Pokud tuto zásadu ponecháte nenastavenou, uživatel bude moci zvolit, zda výzvu k odemknutí zařízení zadáním hesla chce zobrazovat, či nikoliv.</translation>
+<translation id="7107148737865880402">Zapne zásadu řízení spotřeby pro sdílení energie přes USB.
+
+          Některá zařízení mají speciální port USB označený obrázkem blesku nebo baterie, pomocí kterého lze ze systémové baterie nabíjet zařízení, jako je mobilní telefon. Tato zásada určuje nabíjecí chování tohoto portu v době, kdy je systém v režimu spánku nebo vypnutý. Tato zásada nemá vliv na jiné porty USB ani na nabíjecí chování v době, kdy je systém aktivní.
+
+          Když je zařízení aktivní, bude port USB energii poskytovat vždy.
+
+          Když je zařízení v režimu spánku a tato zásada nastavená na hodnotu true, bude se do portu USB dodávat energie jen v případě, že je zařízení připojené do zásuvky nebo že je baterie nabitá na více než 50 %. Jinak se energie dodávat nebude.
+
+          Když je zařízení vypnuté a tato zásada nastavená na hodnotu true, bude se do portu USB dodávat energie jen v případě, že je zařízení připojené do zásuvky. Jinak se energie dodávat nebude.
+
+          Pokud tuto zásadu ponecháte nenastavenou, bude zapnutá a uživatel ji nebude moci vypnout.</translation>
 <translation id="7115494316187648452">Určuje, zda je proces <ph name="PRODUCT_NAME" /> spuštěn při přihlášení do operačního systému a zda pokračuje v běhu i po uzavření posledního okna prohlížeče (což umožňuje, aby zůstaly aktivní aplikace na pozadí i aktuální návštěvy prohlížení včetně všech souborů cookie). Proces na pozadí zobrazuje ikonu na hlavním panelu systému, kde jej lze kdykoli zavřít.
 
 Pokud je tato zásada nastavena na hodnotu true, režim na pozadí je aktivován a uživatel jej nemůže ovládat v nastaveních prohlížeče.
@@ -3119,6 +3268,7 @@
           Pokud je tato zásada nastavená na hodnotu true nebo není nastavená a zásada AllowWakeLocks není nastavená na hodnotu false, bude blokování přechodu obrazovky do režimu spánku při řízení spotřeby dodržováno.
 
           Pokud je tato zásada nastavená na hodnotu false, budou žádosti o blokování přechodu obrazovky do režimu spánku změněny na žádosti o blokování přechodu systému do režimu spánku.</translation>
+<translation id="7177857088692019405">Rychlé odemknutí</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Typy připojení, pro které jsou povoleny aktualizace</translation>
 <translation id="7194407337890404814">Název výchozího poskytovatele vyhledávání</translation>
@@ -3182,6 +3332,7 @@
 <translation id="7273823081800296768">Pokud je toto nastavení aktivní nebo není nakonfigurováno, uživatelé mohou zapnout párování klientů a hostitelů při připojování. Pak nebude nutné zadávat pokaždé kód PIN.
 
           Pokud je toto nastavení deaktivováno, tato funkce nebude dostupná.</translation>
+<translation id="7274077256421167535">Povolit sdílení energie přes USB</translation>
 <translation id="7275334191706090484">Spravované záložky</translation>
 <translation id="7291084543582732020">Pokud toto nastavení aktivujete, uživatelé budou moci používat funkci Smart Lock (za předpokladu, že budou splněny požadavky funkce).
 
@@ -3195,6 +3346,7 @@
 
           Tato zásada platí pouze v případě, že je aktivována zásada DefaultSearchProviderEnabled.</translation>
 <translation id="7302043767260300182">Prodleva uzamčení obrazovky při napájení ze sítě</translation>
+<translation id="7305262223970835999">Povoluje stránku pro změnu hesla během relace pro uživatele SAML.</translation>
 <translation id="7311458740754205918">Pokud je tato zásada nastavena na hodnotu True nebo je ponechána nenastavená, na stránce Nová karta se mohou zobrazovat návrhy obsahu na základě historie procházení, zájmů nebo polohy uživatele.
 
       Pokud je tato zásada nastavena na hodnotu False, automaticky generované návrhy obsahu se na stránce Nová karta nezobrazují.</translation>
@@ -3321,6 +3473,15 @@
       Pokud pro tuto zásadu nastavíte hodnotu 0, bude použita výchozí velikost mezipaměti, ale uživatel ji nebude moci změnit.
 
       Pokud tuto zásadu nenastavíte, bude použita výchozí velikost a uživatel ji bude moci přepsat pomocí příznaku  „--disk-cache-size“.</translation>
+<translation id="759389052790680884">Nastavit vlastní procento nabití baterie, při němž se má nabíjení zastavit.
+
+          Když baterie dosáhne vlastní hodnoty úrovně nabití pro zastavení nabíjení, přestane se nabíjet.
+
+          Hodnota DeviceBatteryChargeCustomStartCharging musí být menší než hodnota DeviceBatteryChargeCustomStopCharging.
+
+          Tato zásada se používá jen v případě, že je zásada DeviceBatteryChargeMode nastavená na možnost Vlastní.
+
+          Pokud tato zásada není nakonfigurovaná nebo je ponechána nenastavená, použije se standardní režim nabíjení baterie.</translation>
 <translation id="759957074386651883">Nastavení Bezpečného prohlížení</translation>
 <translation id="7604169113182304895">Aplikace Android se mohou samy rozhodnout, zda se tímto seznamem budou řídit. Nelze to u nich vynutit.</translation>
 <translation id="7612157962821894603">Celosystémové příznaky, které se použití při spuštění prohlížeče <ph name="PRODUCT_NAME" /></translation>
@@ -3398,6 +3559,15 @@
 <translation id="7712109699186360774">Dotázat se vždy, když se web snaží získat přístup ke kameře nebo mikrofonu</translation>
 <translation id="7713608076604149344">Omezení stahování</translation>
 <translation id="7715711044277116530">Procento prodloužení prodlevy ztmavení obrazovky v režimu prezentace</translation>
+<translation id="7716781462866245042">Nastavit denní konfiguraci rozšířeného režimu nabíjení baterie.
+
+          Tato zásada se používá jen v případě, že je zásada DeviceAdvancedBatteryChargeModeEnabled nastavená na hodnotu true.
+
+          Pokud tato zásada není nakonfigurovaná nebo je ponechána nenastavená, bude rozšířený režim nabíjení baterie vždy vypnutý.
+
+          Poznámka: Hodnota <ph name="CHARGE_START_TIME_FIELD_NAME" /> musí být menší než hodnota <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Poznámka: V poli <ph name="MINUTE_FIELD_NAME" /> v polích <ph name="CHARGE_START_TIME_FIELD_NAME" /> a <ph name="CHARGE_END_TIME_FIELD_NAME" /> jsou povoleny tyto hodnoty: 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">Konfiguruje funkce usnadnění přístupu v systému <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Tato zásada povolí protokol HTTP/0.9 na portech jiných než 80 pro HTTP a 443 pro HTTPS.
 
@@ -3469,6 +3639,7 @@
       Určuje ID rozšíření, které se použije jako spořič obrazovky na přihlašovací obrazovce. Rozšíření musí být součásti balíčku AppPack, který je pro tuto doménu nakonfigurován v rámci zásady DeviceAppPack.</translation>
 <translation id="7882857838942884046">Deaktivace služby Google Sync způsobí, že zálohování a obnovení systému Android nebude fungovat správně.</translation>
 <translation id="7882890448959833986">Potlačit upozornění ohledně nepodporovaného operačního systému</translation>
+<translation id="7895553628261067384">Vzdálený přístup</translation>
 <translation id="7902255855035461275">Vzory v tomto seznamu budou porovnány s žádající adresou URL. Pokud bude nalezena shoda, přístup k zařízením pro záznam videa bude udělen bez zobrazení výzvy.
 
       POZNÁMKA: Až do verze 45 byla tato zásada podporována pouze v režimu veřejného terminálu.</translation>
@@ -3480,6 +3651,11 @@
 <translation id="7937491150792971922">Sloučit zásady se seznamy pro instalaci rozšíření z několika zdrojů</translation>
 <translation id="7937766917976512374">Povolit nebo zakázat záznam videa</translation>
 <translation id="7941975817681987555">Nepředvídat síťové akce u žádných síťových připojení</translation>
+<translation id="7952007677054834789">Konfiguruje stránky, které se mají načíst při spuštění, výchozí domovskou stránku a výchozí stránku Nová karta v prohlížeči <ph name="PRODUCT_NAME" /> a brání uživatelům ve změně těchto nastavení.
+
+      Nastavení domovské stránky uživatele jsou zcela uzamčena pouze v případě, že jako domovskou stránku nastavíte buď stránku Nová karta, nebo adresu URL, kterou zadáte. Pokud adresu URL domovské stránky nezadáte, uživatel bude moci domovskou stránku změnit na stránku Nová karta tím, že zadá adresu „chrome://newtab“.
+
+      Zásada „Adresy URL otevírané při spuštění“ se projeví pouze v případě, že v části „Akce při spuštění“ zvolíte „Otevřít seznam adres URL“.</translation>
 <translation id="7952958573604504839">Ve verzi M48 byla podpora této zásady ukončena a byla nahrazena zásadou <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />, ve verzi M54 tato zásada byla odstraněna.
 
       Aktivuje v prohlížeči <ph name="PRODUCT_NAME" /> předvídání síťových akcí a zabraňuje uživatelům ve změně tohoto nastavení.
@@ -3622,6 +3798,7 @@
 <translation id="8176035528522326671">Povolit firemnímu uživateli být pouze primárním uživatelem s více profily (výchozí chování pro uživatele spravované firmou)</translation>
 <translation id="8214600119442850823">Konfiguruje správce hesel.</translation>
 <translation id="8217516105848565518">Podpora této zásady byla ukončena. Použijte namísto ní zásadu RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">Povolit v TLS šifrovací sady RC4</translation>
 <translation id="8244525275280476362">Maximální zpoždění načítání po zneplatnění zásady</translation>
 <translation id="8256688113167012935">Řídí, jaký název účtu systém <ph name="PRODUCT_OS_NAME" /> zobrazí na přihlašovací obrazovce pro odpovídající místní účet v zařízení.
 
@@ -3662,6 +3839,7 @@
 <translation id="8312129124898414409">Umožňuje nastavit, zda weby mohou generovat klíče. Generování klíčů je možné všem webům buď povolit, nebo zakázat.
 
 Pokud tuto zásadu nenastavíte, použije se zásada BlockKeygen a uživatel ji bude moci změnit.</translation>
+<translation id="8320149248919453401">Režim nabíjení baterie</translation>
 <translation id="8329984337216493753">Tato zásada je aktivní pouze v režimu pro obchody.
 
       Pokud je určena zásada DeviceIdleLogoutTimeout, určuje tato zásada, jak dlouho před odhlášením se bude uživateli zobrazovat okno s upozorněním a časovačem.
@@ -3811,6 +3989,7 @@
       Pokud tuto zásadu nenastavíte, použije se pro systém <ph name="PRODUCT_OS_NAME" /> výchozí doba 345 600 000 milisekund (čtyři dny) a pro prohlížeč <ph name="PRODUCT_NAME" /> 604 800 000 milisekund (jeden týden).</translation>
 <translation id="8685024486845674965">Ochrana hesla – upozornění je spouštěno opětovným použitím hesla</translation>
 <translation id="8693243869659262736">Použít integrovaného klienta DNS</translation>
+<translation id="8698286761337647563">Kolik dní předem mají být uživatelé SAML informováni o tom, že brzy vyprší platnost jejich hesla</translation>
 <translation id="8703488928438047864">Nahlásit stav panelu</translation>
 <translation id="8703872185032220081">Nastavuje denní konfiguraci režimu napájení Peak Shift.
 
@@ -3863,6 +4042,7 @@
       Pokud je toto nastavení vypnuté nebo není nastavené, bude služba pro ochranu hesel uživatele za účelem změny hesla odesílat na adresu https://myaccounts.google.com.
       Tato zásada je k dispozici jen v instancích systému Windows, které jsou připojené k doméně <ph name="MS_AD_NAME" />, nebo v instancích systému Windows 10 Pro nebo Enterprise, které jsou zaregistrované ke správě zařízení.</translation>
 <translation id="8798099450830957504">Výchozí</translation>
+<translation id="8800453707696044281">Nastavit vlastní procento nabití baterie, při němž se má zastavit nabíjení</translation>
 <translation id="8801680448782904838">Oznamovat uživateli, že je doporučen nebo vyžadován restart prohlížeče nebo zařízení</translation>
 <translation id="8818173863808665831">Oznámí zeměpisnou polohu zařízení.
 
@@ -3974,6 +4154,11 @@
       Tato zásada má vliv pouze na uživatele, kteří provedli ověření pomocí technologie SAML.
 
       Hodnota zásady se zadává v sekundách.</translation>
+<translation id="9018338365267278833">Tato zásada odstraní rozšíření uvedená v zásadě <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> a rozšíření uvedená v zásadě <ph name="EXTENSION_SETTINGS_POLICY_NAME" />, která mají režim instalace nastavený na blokování. Vymaže při tom také místní data uživatele.  Informace o tom, co se může stát s daty uživatele, která nejsou uložena místně, najdete v zásadách ochrany soukromí nebo v zásadách uchovávání dat rozšíření.
+
+      Když je zásada nastavená na možnost Aktivováno a v zařízení již jsou nainstalována některá rozšíření z výše uvedených seznamů, budou z počítače zcela odstraněna (včetně místních dat uživatele).
+
+      Když je tato zásada nastavená na možnost Deaktivováno nebo je ponechána nenastavená a v zařízení již jsou nainstalována některá rozšíření z výše uvedených seznamů (uvedená v seznamu zakázaných v zásadě <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />), budou na počítači zakázána, ale neodinstalují se.</translation>
 <translation id="9027787254195333560">Tato zásada umožňuje nakonfigurovat obrázek avatara, který na přihlašovací obrazovce představuje uživatele. Zásadu nastavíte zadáním adresy URL, ze které systém <ph name="PRODUCT_OS_NAME" /> může obrázek avatara stáhnout, a kryptografické hodnoty hash, která slouží k ověření integrity staženého obsahu. Obrázek musí být ve formátu JPEG a jeho velikost nesmí překročit 512 kB. Adresa URL musí být přístupná bez ověření.
 
       Obrázek avatara se stáhne a uloží do mezipaměti. Při každé změně adresy URL nebo hodnoty hash se stáhne znovu.
diff --git a/components/policy/resources/policy_templates_da.xtb b/components/policy/resources/policy_templates_da.xtb
index 2dd456e..2c1a8930 100644
--- a/components/policy/resources/policy_templates_da.xtb
+++ b/components/policy/resources/policy_templates_da.xtb
@@ -53,6 +53,13 @@
 <translation id="1049138910114524876">Konfigurerer den landestandard, der gennemtvinges på loginskærmen for <ph name="PRODUCT_OS_NAME" />.
 
 Hvis denne politik er angivet, vises loginskærmen i den landestandard, der er angivet af den første værdi i denne politik (politikken er defineret som en liste til fremadrettet kompatibilitet). Hvis politikken ikke er angivet eller er angivet som en tom liste, vises loginskærmen i den landestandard, der blev anvendt i den forrige brugersession. Hvis denne politik er angivet med en værdi, der ikke er en gyldig landestandard, vises loginskærmen i en reservelandestandard (som i øjeblikket er en-US).</translation>
+<translation id="1052499923181221200">Denne politik har ingen indvirkning, medmindre SamlInSessionPasswordChangeEnabled er sand.
+      Hvis denne politik er sand, og den er konfigureret til f.eks. 14, betyder det, at SAML-brugere 14 dage i forvejen underrettes om, at deres adgangskode udløber på en bestemt dato.
+      De kan derved opdatere adgangskoden med det samme, mens en session er i gang.
+      Men disse notifikationer vises kun, hvis oplysningerne om adgangskodernes udløb sendes til enheden af SAML-identitetsudbyderen under SAML-loginflowet.
+      Hvis en politik konfigureres til nul, betyder det, at brugerne ikke underrettes i forvejen – de underrettes først, når deres adgangskode er udløbet.
+
+      Hvis denne politik er konfigureret, kan brugeren hverken ændre eller tilsidesætte den.</translation>
 <translation id="1062011392452772310">Aktivér fjernattestering for enheden</translation>
 <translation id="1062407476771304334">Erstat</translation>
 <translation id="1079801999187584280">Tillad ikke brug af Udviklerværktøjer</translation>
@@ -201,6 +208,7 @@
       Hvis politikken er aktiveret, kan Google Assistent få adgang til skærmindhold.
       Hvis politikken er deaktiveret, kan Google Assistent ikke få adgang til skærmindhold.
       Hvis politikken ikke er konfigureret. kan brugerne selv bestemme, om Google Assistent skal have adgang til skærmindhold.</translation>
+<translation id="1376119291123231789">Aktivér tilstanden for avanceret batteriopladning</translation>
 <translation id="1383493480903114193">Denne politik tvinger netværkskoden til at køre i browserprocessen.
 
       Denne politik er som standard deaktiveret. Hvis den aktiveres, kan brugerne blive udsat for sikkerhedsproblemer, når der anvendes en sandboxløsning til netværksprocessen.
@@ -296,6 +304,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Bloker for tilføjelse af software fra tredjeparter</translation>
 <translation id="1504431521196476721">Fjernattestering</translation>
+<translation id="1507382822467487898">
+          Konfigurerer, hvilken MAC-adresse (Media Access Control) der skal anvendes, når enheden er tilsluttet en dockingstation.
+
+          På visse enhedsmodeller anvendes den MAC-adresse, der er angivet ved tilslutning til en dockingstation, som standard til at identificere enheden på ethernet. Denne politik tillader, at administratoren ændrer kilden for MAC-adressen i dockingtilstand.
+
+          Hvis "DeviceDockMacAddress" er valgt, eller hvis politikken ikke er konfigureret, anvendes den angivne MAC-adresse ved tilslutning til en dockingstation.
+
+          Hvis "DeviceNicMacAddress" er valgt, anvendes enhedens NIC MAC-adresse (Network Interface Controller).
+
+          Hvis "DockNicMacAddress" er valgt, anvendes NIC MAC-adresse ved tilslutning til en dockingstation.
+
+          Denne indstilling kan ikke ændres af brugeren.</translation>
 <translation id="1507957856411744193">Hvis politikken er angivet som Sand, opretter <ph name="PRODUCT_NAME" /> forbindelse til Cast-enheder på alle IP-adresser og ikke kun på private adresser af typen RFC1918/RFC4193.
 
           Hvis politikken er angivet som Falsk, opretter <ph name="PRODUCT_NAME" /> kun forbindelse til Cast-enheder på private adresser af typen RFC1918/RFC4193.
@@ -723,6 +743,17 @@
 <translation id="2303795211377219696">Aktivér AutoFyld for betalingskort</translation>
 <translation id="2309390639296060546">Standardindstilling for geoplacering</translation>
 <translation id="2327252517317514801">Definer domæner, der har adgang til G Suite</translation>
+<translation id="2356878440219553005">Angiver strømstyringspolitikken for tilstanden for batteriopladning
+
+          Dynamisk styring af batteriopladningen minimerer batterislitage som følge af overbelastning og forlænger derved batteritiden.
+
+          Hvis tilstanden for brugerdefineret batteriopladning er valgt, skal DeviceBatteryChargeCustomStartCharging og DeviceBatteryChargeCustomStopCharging angives.
+
+          Hvis denne politik er konfigureret, anvendes tilstanden for batteriopladning, såfremt den understøttes på enheden.
+
+          Hvis denne politik ikke er konfigureret, og politikken understøttes på enheden, anvendes standardtilstanden for batteriopladning, og den kan ikke ændres af brugeren.
+
+          Bemærk! <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> tilsidesætter denne politik, hvis den førnævnte er angivet.</translation>
 <translation id="237494535617297575">Giver dig mulighed for at oprette en liste over webadressemønstre, der angiver websites, der må vise notifikationer. Hvis denne politik ikke angives, anvendes den globale standardværdi på alle websites, enten fra politikken "DefaultNotificationsSetting", hvis den er indstillet, eller brugerens personlige konfiguration.</translation>
 <translation id="2386362615870139244">Tillad aktiveringslås af skærm</translation>
 <translation id="2411817661175306360">Advarsler via adgangskodebeskyttelse er slået fra</translation>
@@ -758,6 +789,7 @@
 
       Hvis denne politik er angivet til Falsk, kan ingen forsinkelse ved automatisk login (hvis det er konfigureret) ikke omgås.</translation>
 <translation id="2454228136871844693">Optimer for at forbedre stabiliteten.</translation>
+<translation id="2463034609187171371">Aktivér DHE-krypteringspakker i TLS</translation>
 <translation id="2463365186486772703">Landestandard for applikationen</translation>
 <translation id="2466131534462628618">Captive portal-godkendelse ignorerer proxy</translation>
 <translation id="2482676533225429905">Indbyggede beskedhosts</translation>
@@ -929,6 +961,7 @@
 <translation id="2769952903507981510">Konfigurer det påkrævede domænenavn for værter med fjernadgang</translation>
 <translation id="2787173078141616821">Rapportér oplysninger om status for Android</translation>
 <translation id="2799297758492717491">Tillad automatisk afspilning af medier på en hvidliste over webadressemønstre</translation>
+<translation id="2801155097555584385">Angiv et brugerdefineret niveau i procent, hvor batteriopladningen skal stoppe</translation>
 <translation id="2801230735743888564">Giv brugerne mulighed for at spille det ekstra dinosaurspil, når enheden er offline.
 
       Hvis denne politik er angivet til Falsk, kan brugerne ikke spille det ekstra dinosaurspil, når enheden er offline. Hvis indstillingen er angivet til Sand, kan brugerne spille dinosaurspillet. Hvis politikken ikke er angivet, kan brugerne ikke spille det ekstra dinosaurspil på tilmeldte Chrome OS-systemer, men de kan spille det under andre omstændigheder.</translation>
@@ -1002,6 +1035,7 @@
       Hvis du deaktiverer denne indstilling eller ikke angiver en værdi, benytter Vis udskrift den senest brugte printer som standarddestination.
 
       Hvis du aktiverer denne indstilling, benytter Vis udskrift operativsystemets standardprinter som standarddestination.</translation>
+<translation id="285627849510728211">Angiv dagkonfiguration af tilstanden for avanceret batteriopladning</translation>
 <translation id="2856674246949497058">Træk udgivelsen tilbage, og behold målversionen, hvis OS-versionen er nyere end målversionen. Foretag en Powerwash under processen.</translation>
 <translation id="2872961005593481000">Sluk</translation>
 <translation id="2873651257716068683">Tilsidesætter størrelsen på udskriftsiden. Hvis sidestørrelsen ikke er tilgængelig, ignoreres denne politik.</translation>
@@ -1134,12 +1168,26 @@
 <translation id="3072045631333522102">Pauseskærm, som skal bruges på loginskærmen i detailtilstand</translation>
 <translation id="3072847235228302527">Konfigurer servicevilkårene for en enhedslokal konto</translation>
 <translation id="3077183141551274418">Aktiverer eller deaktiverer livscyklus for faner</translation>
+<translation id="3079417254871857650">Angiver, hvilken handling der skal udføres, når brugerens startindeks er oprettet med ecryptfs-kryptering.
+
+      Hvis du konfigurerer denne politik til "DisallowArc", deaktiveres Android-apps for brugeren, og migreringen fra ecryptfs- til ext4-kryptering udføres ikke. Android-apps forhindres ikke i at køre, når startindekset allerede er ext4-krypteret.
+
+      Hvis du konfigurerer denne politik til "Migrate", migreres ecryptfs-krypterede startindekser automatisk til ext4-kryptering ved login uden at bede om brugerens samtykke.
+
+      Hvis du konfigurerer denne politik til "Wipe", slettes ecryptfs-krypterede startindekser ved login, og nye ext4-krypterede startindekser oprettes i stedet. Advarsel! Dette fjerner brugerens lokale data.
+
+      Hvis du konfigurerer denne politik til "MinimalMigrate", slettes ecryptfs-krypterede startindekser ved login, og nye ext4-krypterede startindekser oprettes i stedet. Logintokens vil blive forsøgt bevaret, så brugeren ikke behøver at logge ind igen. Advarsel! Dette fjerner brugerens lokale data.
+
+      Hvis du konfigurer denne politik til en værdi, der ikke længere understøttes ("AskUser" eller "AskForEcryptfsArcUsers"), behandles den, som hvis du havde valgt "Migrate".
+
+      Denne politik gælder ikke for terminalbrugere. Hvis denne politik ikke er konfigureret, opfører enheden sig, som om "DisallowArc" er valgt.</translation>
 <translation id="3086995894968271156">Konfigurer Cast Receiver i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Giver dig mulighed for at oprette en liste over webadressemønstre, der angiver websites, som må vise billeder.
 
           Hvis denne politik ikke angives, anvendes den globale standardværdi på alle websites, enten fra politikken "DefaultImagesSetting", hvis den er angivet, eller brugerens personlige konfiguration.
 
           Bemærk, at denne politik tidligere ved en fejl blev aktiveret for Android, men denne funktionalitet har aldrig været understøttet fuldt ud af Android.</translation>
+<translation id="3091832372132789233">Oplad batteriet på enheder, der primært er tilsluttet en ekstern strømkilde.</translation>
 <translation id="3096595567015595053">Liste over aktiverede plugins</translation>
 <translation id="3101501961102569744">Vælg, hvordan du vil angive indstillinger for proxyserveren</translation>
 <translation id="3101709781009526431">Dato og klokkeslæt</translation>
@@ -1165,6 +1213,7 @@
           Hvis denne indstilling er deaktiveret, bruger <ph name="PRODUCT_NAME" /> kun indbyggede beskedhosts, der er installeret på systemniveau.
 
           Hvis denne indstilling ikke konfigureres, tillader <ph name="PRODUCT_NAME" /> brug af indbyggede beskedhosts, der er installeret på brugerniveau.</translation>
+<translation id="3177802893484440532">Kræv, at der udføres online OCSP/CRL-kontrol for lokale tillidsankre</translation>
 <translation id="3185009703220253572">siden version <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Android-apps kan ikke få adgang til virksomhedsnøgler. De påvirkes ikke af denne politik.</translation>
 <translation id="3205825995289802549">Maksimer det første browservindue ved første kørsel</translation>
@@ -1174,6 +1223,7 @@
 <translation id="3220624000494482595">Hvis terminalappen er en Android-app, har den ingen kontrol over <ph name="PRODUCT_OS_NAME" />-versionen, selv hvis denne politik angives som <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Webadressemønstre, der tillader installation af udvidelser, apps og brugerscripts fra</translation>
 <translation id="3240609035816615922">Adgangspolitik for konfiguration af printere.</translation>
+<translation id="3240655340884151271">Dockingstationens indbyggede NIC MAC-adresse</translation>
 <translation id="3243309373265599239">Angiver den tid uden brugerinput, der aktiverer skærmnedtoning, når strømforsyningen er tilsluttet.
 
           Hvis denne politik indstilles til end højere værdi end nul, angives den tid, som brugeren skal forblive inaktiv i, før <ph name="PRODUCT_OS_NAME" /> nedtoner skærmen.
@@ -1195,6 +1245,12 @@
       Hvis indstillingen er aktiveret eller ikke konfigureret, kan brugerne aktivere proxyen til Cloudprinter ved at godkende med deres Google-konto.
 
       Hvis denne indstilling er deaktiveret, kan brugerne ikke aktivere proxyen, og det vil ikke være tilladt for maskinen at dele sine printere med <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Aktiverer en side på chrome://password-change, som giver SAML-brugere mulighed for at ændre deres SAML-adgangskoder, mens en session er i gang, hvilket sikrer, at SAML-adgangskoden og adgangskoden til enhedens låseskærm synkroniseres.
+
+      Denne politik aktiverer også notifikationer, der advarer SAML-brugere om, at deres SAML-adgangskoder snart udløber, så de kan ændre dem med det samme, mens en session er i gang.
+      Men disse notifikationer vises kun, hvis oplysningerne om adgangskodernes udløb sendes til enheden af SAML-identitetsudbyderen under SAML-loginflowet.
+
+      Hvis denne politik er konfigureret, kan brugeren hverken ændre eller tilsidesætte den.</translation>
 <translation id="3322771899429619102">Giver dig mulighed for at oprette en liste med webadressemønstre, der angiver websites, som har tilladelse til at benytte nøglegenerering. Hvis et webadressemønster findes i "KeygenBlockedForUrls", tilsidesættes disse undtagelser.
 
           Hvis denne politik ikke angives, anvendes den globale standardværdi på alle websites, enten fra politikken "DefaultKeygenSetting", hvis den er angivet, eller brugerens personlige konfiguration.</translation>
@@ -1280,6 +1336,7 @@
 
           Hvis denne politik er indstillet til Falsk eller ikke er indstillet, begynder strømstyringsforsinkelser og begræsning af sessionslængden straks at køre ved sessionstart.</translation>
 <translation id="3478024346823118645">Slet alle brugerdata, når der logges ud</translation>
+<translation id="3480961938508521469">Oplad batteriet helt ved normal opladningshastighed.</translation>
 <translation id="348495353354674884">Aktivér virtuelt tastatur</translation>
 <translation id="3487623755010328395">
         Hvis denne politik er angivet, vil <ph name="PRODUCT_NAME" /> forsøge at registrere sig selv og anvende den tilknyttede Cloud-politik for alle profiler.
@@ -1323,6 +1380,8 @@
 <translation id="3547954654003013442">Proxyindstillinger</translation>
 <translation id="355118380775352753">Websites, der skal åbnes i en alternativ browser</translation>
 <translation id="3554984410014457319">Giv Google Assistent tilladelse til at lytte efter den stemmestyrede aktiveringssætning</translation>
+<translation id="356579196325389849">Brugerne kan konfigurere udgivelseskanalen for Chrome OS</translation>
+<translation id="3575011234198230041">HTTP-godkendelse</translation>
 <translation id="3577251398714997599">Annonceindstilling for websites med påtrængende annoncer</translation>
 <translation id="357917253161699596">Tillad, at brugerne administrerer brugercertifikater</translation>
 <translation id="3583230441447348508">Angiver en liste over forudkonfigureret fildeling via netværk.
@@ -1354,6 +1413,7 @@
 
         Denne politik bruges til maskinel massetilmelding til Cloud-politikken på computere og kan angives af registreringsdatabasen eller GPO i Windows, plist på Mac og JSON-politikfilen i Linux.</translation>
 <translation id="3660562134618097814">Overfør SAML-IdP-cookies ved login</translation>
+<translation id="3668151900457104753">Afinstaller sortlistede udvidelser</translation>
 <translation id="3701121231485832347">Styrer indstillinger, der gælder specifikt for <ph name="PRODUCT_OS_NAME" />-enheder, der administreres af <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (feltet med en enkelt linje er udfaset og fjernes inden for den nærmeste fremtid. Begynd at bruge tekstfeltet med flere linjer nedenfor).</translation>
 <translation id="3709266154059827597">Konfigurer sortliste for installation af udvidelser</translation>
@@ -1435,6 +1495,16 @@
           Hvis denne politik ikke er angivet, vil skærmtastaturet være slået fra som udgangspunkt, men brugeren kan til enhver tid aktivere det.</translation>
 <translation id="382476126209906314">Konfigurer TalkGadget-præfikset for værter med fjernadgang</translation>
 <translation id="3824972131618513497">Styrer indstillinger relateret til strømstyring og genstart.</translation>
+<translation id="3826475866868158882">Google Placeringstjenester er aktiveret</translation>
+<translation id="3831054243924627613">Denne politik styrer den indledende tilstand for Android-tjenesten til backup og gendannelse.
+
+      Hvis denne politik ikke er konfigureret eller er konfigureret til <ph name="BR_DISABLED" />, er Android-tjenesten til backup og gendannelse som udgangspunkt deaktiveret.
+
+      Hvis denne politik er konfigureret til <ph name="BR_ENABLED" />, er Android-tjenesten til backup og gendannelse som udgangspunkt aktiveret.
+
+      Hvis denne politik er konfigureret til <ph name="BR_UNDER_USER_CONTROL" />, bliver brugeren bedt om at vælge, om Android-tjenesten til backup og gendannelse skal anvendes. Hvis brugeren aktiverer backup og gendannelse, uploades der Android-appdata til alternative Android-servere, hvorfra de gendannes, efter kompatible apps er installeret igen.
+
+      Bemærk, at denne politik kun styrer tilstanden for Android-tjenesten til backup og gendannelse under den indledende konfiguration. Brugeren kan derefter åbne Android-indstillingerne og slå Android-tjenesten til backup og gendannelse til/fra.</translation>
 <translation id="3831376478177535007">Når denne indstilling er aktiveret, tillader <ph name="PRODUCT_NAME" /> certifikater, der er udstedt af Symantec Corporations forældede PKI-processer, så længe de bekræfter og sammenkædes med et anerkendt CA-certifikat.
 
       Bemærk, at denne politik afhænger af, at operativsystemet stadig anerkender certifikater fra Symantecs forældede struktur. Hvis en opdatering af operativsystemet ændrer operativsystemets håndtering af sådanne certifikater, er denne politik ikke længere aktiv. Denne politik er desuden beregnet som en midlertidig løsning, der giver virksomheder mere tid til at bevæge sig væk fra forældede Symantec-certifikater. Denne politik fjernes omkring den 1. januar 2019.
@@ -1516,6 +1586,15 @@
 
           Hvis denne indstilling ikke er konfigureret eller er angivet til Falsk, kan brugerne overføre filer til Google Drev.</translation>
 <translation id="3915395663995367577">Webadresse til en proxyfil af typen .pac</translation>
+<translation id="3920892052017026701">Angiv et brugerdefineret niveau i procent, hvor batteriopladningen skal stoppe.
+
+          Opladningen af batteriet starter, når den brugerdefinerede værdi for, hvornår opladningen af batteriet skal påbegyndes, er nået.
+
+          DeviceBatteryChargeCustomStartCharging skal være mindre end DeviceBatteryChargeCustomStopCharging.
+
+          Denne politik anvendes kun, hvis DeviceBatteryChargeMode har en brugerdefineret værdi.
+
+          Hvis denne politik ikke er konfigureret eller forbliver uændret, anvendes standardtilstanden for batteriopladning.</translation>
 <translation id="3925377537407648234">Angiv skærmopløsning og skaleringsfaktor</translation>
 <translation id="3939893074578116847">Send netværkspakker til administrationsserveren for at overvåge onlinestatus, så
       serveren kan registrere, om enheden er offline.
@@ -1644,6 +1723,7 @@
 <translation id="4150201353443180367">Skærm</translation>
 <translation id="4157003184375321727">Rapportér OS- og firmwareversion</translation>
 <translation id="4157594634940419685">Giv brugerne mulighed for at bruge deres egne CUPS-printere</translation>
+<translation id="4160962198980004898">Kilden for enhedens MAC-adresse, når den er i dockingstation</translation>
 <translation id="4163705126749612234">Konfigurerer de påkrævede klientdomænenavne, der pålægges klienter for fjernadgang, og forhindrer brugerne i at ændre det.
 
           Hvis denne indstilling er aktiveret, er det kun klienter fra et af de angivne domæner, der kan oprette forbindelse til hosten.
@@ -1721,6 +1801,7 @@
       Bemærk, at politikken, der indeholder et app-id, ikke nødvendigvis betyder, at brugeren kan aktivere appen som en app til notatskrivning på låseskærmen – f.eks. er rækken af tilgængelige apps i Chrome 61 begrænset yderligere af platformen.
 
       Hvis politikken ikke angives, pålægges der ingen restriktioner på rækken af apps, som brugeren kan aktivere på låseskærmen, af politikken.</translation>
+<translation id="4313767483634435271">Den angivne MAC-adresse for enheden ved tilslutning til dockingstation</translation>
 <translation id="4322842393287974810">Tillad, at den automatisk startede terminalapp uden forsinkelse kontrollerer <ph name="PRODUCT_OS_NAME" />-versionen</translation>
 <translation id="4325690621216251241">Tilføj en log ud-knap til systembakken</translation>
 <translation id="4332177773549877617">Logfør hændelser under Android-appinstallationer</translation>
@@ -1752,6 +1833,7 @@
 <translation id="4360826270668210664">Hvis denne politik er konfigureret, kræver hosten for fjernadgang, at klienter, der ønsker godkendelse, skal hente et godkendelsestoken på denne webadresse for at oprette forbindelse. Skal bruges i forbindelse med RemoteAccessHostTokenValidationUrl.
 
           Denne funktion er i øjeblikket deaktiveret på serveren.</translation>
+<translation id="4363057787588706121">Tillad sammenfletning af lister over politikker fra forskellige kilder</translation>
 <translation id="436581050240847513">Rapportér enhedens netværksgrænseflader</translation>
 <translation id="4372704773119750918">Tillad ikke, at virksomhedsbrugere er en del af en multiprofil (primær eller sekundær)</translation>
 <translation id="4377599627073874279">Tillad alle websites at vise alle billeder</translation>
@@ -1917,6 +1999,7 @@
 <translation id="4826326557828204741">Handling, der igangsættes ved inaktive forsinkelser på batteristrøm</translation>
 <translation id="4832852360828533362">Bruger- og enhedsrapportering</translation>
 <translation id="4834526953114077364">Brugere, der ikke har logget ind i løbet af de seneste tre måneder, fjernes, indtil der er frigjort tilstrækkeligt med plads.</translation>
+<translation id="4835622243021053389">Aktivér NTLMv2-godkendelse.</translation>
 <translation id="4858735034935305895">Tillad fuldskærmstilstand</translation>
 <translation id="4861767323695239729">Konfigurer tilladte indtastningsmetoder i en brugersession</translation>
 <translation id="487460824085252184">Migrer automatisk uden at bede om brugerens samtykke.</translation>
@@ -2032,6 +2115,11 @@
 
       I modsætning til <ph name="URL_LIST_POLICY_NAME" /> gælder reglerne i begge retninger. Det vil sige, at når Internet Explorer-tilføjelsen er til stede og aktiveret, styrer den også, om <ph name="IE_PRODUCT_NAME" /> skal åbne disse webadresser i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Aktivér start med vekselstrøm</translation>
+<translation id="5131211790949066746">Gør det muligt at flette politikkerne <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> og <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> for lister over installation af udvidelser.
+
+      Hvis du aktiverer denne indstilling, flettes værdierne fra computerens platformspolitik, cloudpolitik og politikken for brugerplatformen til én liste, og de bruges samlet, så det ikke kun er værdierne fra kilden med højest prioritet, der anvendes.
+
+      Hvis du deaktiverer denne indstilling eller undlader at konfigurere den, er det kun listepunkter fra kilden med højest prioritet, der anvendes, og alle andre kilder vises som modstridende, men ignoreres.</translation>
 <translation id="5141670636904227950">Indstil standardtype for lup til aktiveret på loginskærmen</translation>
 <translation id="5142301680741828703">Gengiv altid følgende webadressemønstre i <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Giver dig mulighed for at angive yderligere parametre, som bruges, når <ph name="PRODUCT_FRAME_NAME" /> starter <ph name="PRODUCT_NAME" />.
@@ -2139,6 +2227,7 @@
 
       Hvis politikken ikke er angivet, eller hvis den ikke er angivet til en tom streng eller et ugyldigt portinterval, har WebRTC tilladelse til at anvende enhver tilgængelig lokal UDP-port.</translation>
 <translation id="5290940294294002042">Angiv en liste over plugins, som brugeren kan aktivere eller deaktivere</translation>
+<translation id="5306186200045823863">Aktivér tillid til Symantec Corporations gamle PKI-infrastruktur</translation>
 <translation id="5307432759655324440">Inkognitotilstandens tilgængelighed</translation>
 <translation id="5318185076587284965">Aktivér brugen af relæservere for hosten for fjernadgang</translation>
 <translation id="5323128137188992869">Tillad, at indhold castes til enheden via <ph name="PRODUCT_NAME" />.
@@ -2231,6 +2320,7 @@
       Hvis reglerne ikke stemmer overens, bruger <ph name="PRODUCT_NAME" /> den mest specifikke regel.</translation>
 <translation id="5475361623548884387">Aktiver udskrivning</translation>
 <translation id="547601067149622666">Tillad ikke annoncer på websites med påtrængende annoncer</translation>
+<translation id="5483065054530244863">Tillad certifikater med SHA-1-signatur, som er udstedt af lokale tillidsankre</translation>
 <translation id="5483777239978559943">Denne politik er udfaset. Brug <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> til at styre tilgængeligheden af Flash-pluginnet og <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> til at vælge, om den indbyggede PDF-fremviser skal bruges til åbning af PDF-filer.
 
       Angiver en liste over plugins, som brugeren kan aktivere eller deaktivere i <ph name="PRODUCT_NAME" />.
@@ -2347,6 +2437,17 @@
           Hvis du aktiverer eller ikke konfigurerer denne politik, kan brugerne se deres adgangskoder i tydelig tekst i adgangskodeadministratoren.</translation>
 <translation id="5620392548325769024">Aktivér visning af velkomstsiden, når browseren genstartes første gang efter opgradering af operativsystemet</translation>
 <translation id="5630352020869108293">Gendan den seneste session</translation>
+<translation id="5643906875497889108">Styrer, hvilke typer apps/udvidelser der kan installeres, og begrænser adgangen til kørselstid.
+
+          Denne indstilling hvidlister de tilladte typer af udvidelser/apps, der kan installeres i <ph name="PRODUCT_NAME" />, og hvilke hosts de kan interagere med. Værdien er en liste med strenge, som skal være en af følgende: "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app". Se udvidelsesdokumentationen for <ph name="PRODUCT_NAME" /> for at få flere oplysninger om disse typer.
+
+          Bemærk, at denne politik også påvirker udvidelser og apps, som skal installeres under tvang via ExtensionInstallForcelist.
+
+          Hvis denne indstilling er konfigureret, bliver udvidelser/apps af typer, som ikke er angivet på listen, ikke installeret.
+
+          Hvis disse indstillinger ikke er konfigureret, håndhæves der ingen begrænsninger for, hvilke typer udvidelser/apps der accepteres.
+
+          Før version 75 understøttes brug af kommaseparerede udvidelses-id'er ikke, og de springes derfor over. Resten af politikken vil fortsat være gældende.</translation>
 <translation id="5645779841392247734">Tillad cookies på disse websites</translation>
 <translation id="5689430183304951538">Standardstørrelse for udskrivningsside</translation>
 <translation id="5693469654327063861">Tillad datamigrering</translation>
@@ -2386,6 +2487,7 @@
 <translation id="5765780083710877561">Beskrivelse:</translation>
 <translation id="5770738360657678870">Udviklerkanal (kan være ustabil)</translation>
 <translation id="5774856474228476867">Søgewebadresse for standardsøgemaskinen</translation>
+<translation id="5775235485119094648">Oplad batteriet, når niveauet er inden for et bestemt område.</translation>
 <translation id="5776485039795852974">Spørg hver gang et website vil vise skrivebordsunderretninger</translation>
 <translation id="5781412041848781654">Angiver, hvilket GSSAPI-bibliotek der skal anvendes til HTTP-godkendelse. Du kan enten angive et biblioteksnavn eller en hel sti.
 
@@ -2447,6 +2549,7 @@
 <translation id="5893553533827140852">Hvis denne indstilling er aktiveret, oprettes der en proxyforbindelse for anmodninger om gnubby-godkendelse på tværs af en fjernhostforbindelse.
 
           Hvis denne indstilling er deaktiveret eller ikke er konfigureret, oprettes der ingen proxyforbindelse for anmodninger om gnubby-godkendelse.</translation>
+<translation id="5897913798715600338">Oplad batteriet ved hjælp af lynopladningsteknologi.</translation>
 <translation id="5898486742390981550">Når flere brugere er logget ind, er det kun den primære bruger, der kan bruge Android-apps.</translation>
 <translation id="5900196529149231477">
       Politikken gælder for loginskærmen. Se også politikken <ph name="ISOLATE_ORIGINS_POLICY_NAME" />, som gælder for brugersessionen. Det anbefales, at der angives den samme værdi for begge politikker. Hvis politikkerne har forskellige værdier, kan der ske forsinkelser ved opstart af en brugersession, mens den værdi, der er angivet af brugerpolitikken, anvendes.
@@ -2455,12 +2558,14 @@
       Hvis politikken ikke konfigureres, anvendes platformens standardindstillinger for isolering af websites på loginskærmen.
       </translation>
 <translation id="5901427587865226597">Kun duplex-udskrivning</translation>
+<translation id="5905473632148429217">Aktivér online OCSP/CRL-kontrol</translation>
 <translation id="5906199912611534122">Gør det muligt at aktivere eller deaktivere netværksbegrænsning.
       Dette gælder for alle brugere og for alle grænseflader på enheden. Når denne indstilling er valgt,
       beholdes begrænsningen, indtil politikken ændres for at deaktivere den.
 
       Hvis den er angivet som falsk, er der ingen begrænsning.
       Hvis den er angivet som sand, er systemet begrænset for at opnå de angivne upload- og downloadhastigheder (i kbits/s).</translation>
+<translation id="591088232153082363">Opladning af selvjusterende batteri baseret på batteriforbrugsmønsteret.</translation>
 <translation id="5921713479449475707">Tillad download af automatiske opdateringer via HTTP</translation>
 <translation id="5921888683953999946">Indstil standardtilstanden for hjælpefunktionen med den store markør på loginskærmen.
 
@@ -2482,6 +2587,7 @@
 <translation id="5950205771952201658">Set i lyset af, at ikke-omfattende tilbagekaldskontroller på nettet ikke giver nogen effektiv form for sikkerhed, er disse deaktiveret som standard i <ph name="PRODUCT_NAME" /> version 19 og nyere. Ved at angive denne politik til Sand gendannes de tidligere indstillinger, så der udføres OCSP/CRL-kontroller på nettet.
 
       Hvis politikken ikke er angivet eller er angivet til Falsk, udfører <ph name="PRODUCT_NAME" /> ikke tilbagekaldskontroller på nettet i <ph name="PRODUCT_NAME" /> 19 og nyere.</translation>
+<translation id="5961137303188584693">Enhedens indbyggede NIC MAC-adresse</translation>
 <translation id="5966615072639944554">Udvidelser har tilladelse til at bruge Remote Attestation API.</translation>
 <translation id="5983708779415553259">Standardadfærd for websites, der ikke findes i en indholdspakke</translation>
 <translation id="5997543603646547632">Brug 24-timers ur som standard</translation>
@@ -2572,6 +2678,17 @@
 <translation id="6111936128861357925">Tillad det ekstra dinosaurspil</translation>
 <translation id="6114416803310251055">frarådet</translation>
 <translation id="6133088669883929098">Tillad alle websites at anvende nøglegenerering</translation>
+<translation id="6136537398661737682">Denne politik styrer den indledende tilstand for Google Placeringstjenester.
+
+      Når denne politik ikke er konfigureret eller er konfigureret til <ph name="GLS_DISABLED" />, er Google Placeringstjenester som udgangspunkt deaktiveret.
+
+      Når denne politik er konfigureret til <ph name="GLS_ENABLED" />, er Google Placeringstjenester som udgangspunkt aktiveret.
+
+      Når denne politik er konfigureret til <ph name="GLS_UNDER_USER_CONTROL" />, bliver brugeren bedt om at vælge, om Google Placeringstjenester skal anvendes. Dette gør det muligt for Android-apps at bruge tjenesterne til at anmode om enhedens placering, og indsendelse af anonyme steddata til Google aktiveres ligeledes.
+
+      Bemærk, at denne politik kun styrer tilstanden for Google Placeringstjenester under den indledende konfiguration. Brugeren kan derefter åbne Android-indstillingerne og slå Google Placeringstjenester til/fra.
+
+      Bemærk, at denne politik ignoreres, og Google Placeringstjenester deaktiveres altid, når politikken <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> er konfigureret til <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">Brug altid grov registrering af tidszone</translation>
 <translation id="6145799962557135888">Giver dig mulighed for at oprette en liste med webadressemønstre, der angiver websites, der får lov til at køre JavaScript. Hvis denne politik ikke angives, anvendes den globale standardværdi på alle websites, enten fra politikken "DefaultJavaScriptSetting", hvis den er indstillet, eller brugerens personlige konfiguration.</translation>
 <translation id="614662973812186053">Denne politik styrer også indsamling af brugs- og diagnosticeringsdata i Android.</translation>
@@ -2645,9 +2762,17 @@
       Hvis den er deaktiveret, importeres formulardata for AutoFyld ikke.
 
       Hvis den ikke er indstillet, kan brugeren blive spurgt, om der skal importeres, eller også kan import ske automatisk.</translation>
+<translation id="6221175752766085998">Tillad certifikater, som er udstedt af lokale tillidsankre og mangler udvidelsen subjectAlternativeName</translation>
 <translation id="6224304369267200483">Webadresser/domæner tillader automatisk direkte attestering af sikkerhedsnøgler</translation>
 <translation id="6233173491898450179">Angiv mappen til download</translation>
 <translation id="6244210204546589761">Webadresser, der skal åbnes ved opstart</translation>
+<translation id="6255387031094435995">Tillader, at de valgte politikker sammenflettes, når de stammer fra forskellige kilder, med samme omfang og niveau.
+
+        Hvis der er en politik på listen, og der er uoverensstemmelser mellem to kilder, fordi de har samme omfang og niveau, sammenflettes værdierne i en ny liste over politikker.
+
+        Hvis der er en politik på listen, og der er uoverensstemmelser mellem to kilder, men også mellem forskellige omfang og/eller niveauer, anvendes politikken med den højeste prioritet.
+
+        Hvis der ikke er en politik på listen, og der er uoverensstemmelser mellem kilder, omfang og/eller niveauer, anvendes politikken med den højeste prioritet.</translation>
 <translation id="6258193603492867656">Angiver, om den genererede Kerberos-SPN skal omfatte en port, der ikke er standard. Hvis du aktiverer denne indstilling, og en port, der ikke er standard (dvs. en anden port end 80 eller 443), angives, vil den indgå i den genererede Kerberos-SPN. Hvis du deaktiverer denne indstilling, vil den genererede Kerberos-SPN aldrig omfatte en port.</translation>
 <translation id="6261643884958898336">Rapportér oplysninger om maskinidentifikation</translation>
 <translation id="6281043242780654992">Konfigurerer politikker for indbyggede beskedhosts. Indbyggede beskedhosts på spærrelisten vil ikke blive tilladt, medmindre de er på hvidlisten.</translation>
@@ -2845,6 +2970,7 @@
 <translation id="6757438632136860443">Giver dig mulighed for at angive en liste med webadressemønstre, der angiver websites, som har tilladelse til at køre <ph name="FLASH_PLUGIN_NAME" />-pluginnet.
 
          Hvis denne politik ikke angives, anvendes den globale standardværdi for alle websites enten fra politikken "DefaultPluginsSetting", hvis denne er angivet, og ellers fra brugerens personlige konfiguration.</translation>
+<translation id="6757613329154374267">Backup og gendannelse er aktiveret</translation>
 <translation id="6762235610019366960">Giver dig mulighed for at styre præsentationen af kampagne- og/eller undervisningsindhold på hele fanen i <ph name="PRODUCT_NAME" />.
 
       Hvis politikken ikke er konfigureret eller aktiveret (angivet som Sand), viser <ph name="PRODUCT_NAME" /> muligvis indhold på hele fanen til brugerne for at levere produktoplysninger.
@@ -2867,6 +2993,7 @@
       Strengen kan indeholde variablerne ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME}, som erstattes af værdier på enheden, inden den bruges som hostname. Resultatet af udskiftningen skal være et gyldigt hostname (i overensstemmelse med afsnit 3.1 i RFC 1035).
 
       Hvis denne politik ikke er angivet, eller værdien efter udskiftningen ikke er et gyldigt hostname, angives der ikke noget hostname i DHCP-anmodninger. </translation>
+<translation id="6833988859168635883">Opstartsside, startside og siden Ny Fane</translation>
 <translation id="6835883744948188639">Vis brugeren en fast meddelelse, som indikerer, at en genstart anbefales</translation>
 <translation id="6837480141980366278">Styrer, om den indbyggede DNS-klient bruges i <ph name="PRODUCT_NAME" />.
 
@@ -2978,6 +3105,17 @@
 
 Når skærmen er ved at blive nedtonet, vurderer den smarte nedtoningsmodel, om nedtoningen af skærmen skal udskydes. Hvis den smarte nedtoningsmodel udskyder nedtoningen af skærmen, forlænges den tid, der går, inden skærmen nedtones. I dette tilfælde justeres skærmlåsen og inaktivitetsforsinkelsen, så de bevarer den samme afstand til skærmnedtoningsforsinkelsen som oprindeligt konfigureret.
 Hvis denne politik er angivet som sand eller ikke angives, aktiveres den smarte nedtoningsmodel, som får tilladelse til at forlænge den tid, der går, inden skærmen nedtones. Hvis denne politik er angivet som falsk, har den smarte nedtoningsmodel ikke indflydelse på skærmnedtoning.</translation>
+<translation id="6967394885063085697">Aktivér strømstyringspolitikken for tilstanden for avanceret batteriopladning.
+
+          Tilstanden Avanceret batteriopladning gør, at brugeren kan maksimere batteriets ydeevne. I tilstanden Avanceret opladning anvender systemet almindelige opladningsalgoritmer og andre teknikker, når enheden ikke er aktiv, for at maksimere batteriets ydeevne. Når enheden er aktiv, anvendes der ekspresopladning. Med ekspresopladning oplades batteriet hurtigere og når derfor fuldt niveau hurtigere. For hver dag er tiden, hvor systemet er mest aktivt, angivet ved et starttidspunkt og varighed.
+
+          Hvis denne politik er angivet som sand, og DeviceAdvancedBatteryChargeModeDayConfig er konfigureret, vil tilstanden for avanceret batteriopladning altid være aktiveret, såfremt den understøttes af enheden.
+
+          Hvis denne politik er angivet som falsk, vil tilstanden for avanceret batteriopladning altid være deaktiveret.
+
+          Hvis du konfigurerer denne politik, kan brugerne hverken ændre eller tilsidesætte den.
+
+          Hvis denne politik ikke er konfigureret, vil tilstanden for avanceret batteriopladning være deaktiveret, og den kan ikke aktiveres af brugeren.</translation>
 <translation id="6972540544240464302">Vælg konfiguration af opgaveplanlægning</translation>
 <translation id="6979158407327259162">Google Drev</translation>
 <translation id="6994082778848658360">Angiver, hvordan det sikre element, der er indbygget i hardwaren, kan bruges til at levere godkendelse med sekundær faktor, hvis det er kompatibelt med denne funktion. Maskinens afbryderknap bruges til at fastslå brugerens fysiske tilstedeværelse.
@@ -3043,6 +3181,17 @@
       Hvis du aktiverer eller deaktiverer denne indstilling, kan brugerne ikke ændre eller tilsidesætte den.
 
       Hvis politikken ikke angives, kan brugeren vælge, om der skal angives en adgangskode for at låse enheden op.</translation>
+<translation id="7107148737865880402">Aktivér strømstyringspolitikken for USB-strømdelingen.
+
+          Nogle enheder har en specifik USB-port, der er mærket med et lyn eller batteri, og som kan bruges til at oplade enheder, f.eks. en mobiltelefon, ved hjælp af systembatteriet. Denne politik påvirker opladningen via denne port, når systemet er i dvale eller slukket. Denne politik påvirker hverken andre USB-porte eller opladningen, når systemet er aktivt.
+
+          Når systemet er aktivt, leverer USB-porten altid strøm.
+
+          Når systemet er inaktivt, og denne politik er angivet som sand, leveres der strøm gennem USB-porten, hvis enheden er tilsluttet en oplader, eller hvis batteriniveauet er over 50 %. I andre tilfælde leveres der ingen strøm.
+
+          Hvis systemet er slukket, og denne politik er angivet som sand, leveres der strøm til USB-porten, når enheden er tilsluttet opladeren. I andre tilfælde leveres der ingen strøm.
+
+          Hvis denne politik ikke er konfigureret, er politikken aktiveret og kan ikke deaktiveres af brugeren.</translation>
 <translation id="7115494316187648452">Afgør, om en <ph name="PRODUCT_NAME" />-proces startes ved OS-login og bliver ved med at køre, når det sidste browservindue lukkes, så baggrundsapps og den aktuelle browsersession forbliver aktiv, inklusive eventuelle sessionscookies. Baggrundsprocessen viser et ikon i systembakken og kan altid lukkes derfra.
 
       Hvis denne politik er angivet til Sand, er baggrundstilstanden aktiveret og kan ikke styres af brugeren i browserindstillingerne.
@@ -3093,6 +3242,7 @@
           Hvis denne politik er angivet som sand eller ikke er angivet, indfries aktiveringslåse til skærme i forbindelse med strømstyring, medmindre AllowWakeLocks er angivet som falsk.
 
           Hvis denne politik er angivet som falsk, nedrykkes anmodninger om aktiveringslåse for skærme til anmodninger om aktiveringslåse for systemet.</translation>
+<translation id="7177857088692019405">Hurtig oplåsning</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Forbindelsestyper, der tillades til opdateringer</translation>
 <translation id="7194407337890404814">Standardsøgemaskinens navn</translation>
@@ -3156,6 +3306,7 @@
 <translation id="7273823081800296768">Hvis denne indstilling er aktiveret eller ikke konfigureret, kan brugerne fravælge at parre klienter og hosts på forbindelsestidspunktet, hvilket fjerner behovet for at indtaste en pinkode hver gang.
 
           Hvis denne indstilling deaktiveres, vil denne funktion ikke være tilgængelig.</translation>
+<translation id="7274077256421167535">Aktivér USB-strømdeling</translation>
 <translation id="7275334191706090484">Administrerede bogmærker</translation>
 <translation id="7291084543582732020">Hvis du aktiverer denne indstilling, har brugerne mulighed for at bruge Smart Lock, hvis kravene for funktionen er opfyldt.
 
@@ -3169,6 +3320,7 @@
 
            Denne politik respekteres kun, hvis politikken "DefaultSearchProviderEnabled" er aktiveret.</translation>
 <translation id="7302043767260300182">Skærmlåsforsinkelse, når strømforsyning er tilsluttet</translation>
+<translation id="7305262223970835999">Aktiverer en side til ændring af adgangskode for SAML-brugere, mens en session er i gang.</translation>
 <translation id="7311458740754205918">Hvis denne politik er angivet som Sand eller ikke er angivet, viser siden Ny fane muligvis forslag til indhold baseret på brugerens browserhistorik, interesser eller placering.
 
       Hvis politikken er angivet som Falsk, vises automatisk genererede forslag til indhold ikke på siden Ny fane.</translation>
@@ -3293,6 +3445,15 @@
       Hvis værdien af denne politik er 0, anvendes standardcachestørrelsen, men brugeren vil ikke kunne ændre den.
 
       Hvis denne politik ikke er indstillet, bruges standardstørrelsen, og brugeren vil kunne tilsidesætte den med flaget "--disk-cache-size".</translation>
+<translation id="759389052790680884">Angiv et brugerdefineret niveau i procent, hvor batteriopladningen skal stoppe.
+
+          Opladningen af batteriet stopper, når den angivne værdi er nået.
+
+          DeviceBatteryChargeCustomStartCharging skal være mindre end DeviceBatteryChargeCustomStopCharging.
+
+          Denne politik anvendes kun, hvis DeviceBatteryChargeMode har en brugerdefineret værdi.
+
+          Hvis denne politik ikke er konfigureret eller forbliver uændret, anvendes standardtilstanden for batteriopladning.</translation>
 <translation id="759957074386651883">Indstillinger for Beskyttet browsing</translation>
 <translation id="7604169113182304895">Android-apps vælger selv, om de vil overholde denne liste. Du kan ikke tvinge dem til at overholde den.</translation>
 <translation id="7612157962821894603">Markeringer for hele systemet kan angives ved opstart af <ph name="PRODUCT_NAME" /></translation>
@@ -3367,6 +3528,15 @@
 <translation id="7712109699186360774">Spørg mig, hver gang et website ønsker at få adgang til kameraet og/eller mikrofonen</translation>
 <translation id="7713608076604149344">Begrænsninger af download</translation>
 <translation id="7715711044277116530">Procentdel, som nedtoningsforsinkelsen på skærmen skaleres i præsentationstilstand</translation>
+<translation id="7716781462866245042">Angiv dagkonfiguration af tilstanden for avanceret batteriopladning.
+
+          Denne politik anvendes kun, hvis DeviceAdvancedBatteryChargeModeEnabled er angivet som sand.
+
+          Hvis denne politik ikke er konfigureret eller forbliver uændret, vil tilstanden for avanceret batteriopladning altid være deaktiveret.
+
+          Bemærk! <ph name="CHARGE_START_TIME_FIELD_NAME" /> skal være mindre end <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Bemærk! Tilladte værdier for feltet <ph name="MINUTE_FIELD_NAME" /> i <ph name="CHARGE_START_TIME_FIELD_NAME" /> og <ph name="CHARGE_END_TIME_FIELD_NAME" /> er 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">Konfigurer hjælpefunktioner for <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Denne politik aktiverer HTTP/0.9 på andre porte end 80 for HTTP og 443 for HTTPS.
 
@@ -3440,6 +3610,7 @@
       Bestemmer id'et for den udvidelse, der skal bruges som pauseskærm på loginskærmen. Udvidelsen skal være en del af den AppPack, der er konfigureret til dette domæne via politikken DeviceAppPack.</translation>
 <translation id="7882857838942884046">Hvis du deaktiverer Google Sync, fungerer Android-tjenesten til backup og gendannelse ikke korrekt.</translation>
 <translation id="7882890448959833986">Ignorer advarslen om manglende understøttelse af OS</translation>
+<translation id="7895553628261067384">Fjernadgang</translation>
 <translation id="7902255855035461275">Mønstre på denne liste sammenlignes med sikkerhedskilden for den anmodende webadresse. Hvis der findes et match, gives der adgang til videooptagelsesenheder, uden at du behøver give tilladelse til det.
 
 BEMÆRK! Op til version 45 var denne funktion kun understøttet i terminaltilstand.</translation>
@@ -3451,6 +3622,11 @@
 <translation id="7937491150792971922">Flet politikker for lister over installation af udvidelser fra flere kilder</translation>
 <translation id="7937766917976512374">Tillad eller afvis videooptagelse</translation>
 <translation id="7941975817681987555">Forudse ikke netværkshandlinger på nogen netværksforbindelse</translation>
+<translation id="7952007677054834789">Konfigurerer siderne til at blive indlæst på opstartssiden, startsiden og siden Ny fane i <ph name="PRODUCT_NAME" /> og forhindrer brugerne i at ændre dem.
+
+      Brugerens startsideindstillinger låses kun helt, hvis du enten vælger, at startsiden skal være siden Ny fane eller indstiller den til at være en webadresse og angiver en webadresse for startsiden. Hvis du ikke angiver webadressen for startsiden, kan brugeren stadig angive siden Ny fane som startside ved at angive "chrome://newtab".
+
+      Politikken "Webadresser, der skal åbnes ved opstart" ignoreres, medmindre du vælger "Åbn en liste over webadresser" i "Handling ved opstart".</translation>
 <translation id="7952958573604504839">Denne politik er udfaset i M48 til fordel for <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> og er fjernet i M54.
 
       Aktiverer netværksforudsigelse i <ph name="PRODUCT_NAME" /> og forhindrer brugerne i at ændre denne indstilling.
@@ -3589,6 +3765,7 @@
 <translation id="8176035528522326671">Tillad, at kun virksomhedsbrugeren er primær multiprofilbruger (standardadfærd for virksomhedsadministrerede brugere)</translation>
 <translation id="8214600119442850823">Konfigurerer adgangskodeadministratoren.</translation>
 <translation id="8217516105848565518">Denne politik er udfaset. Brug RemoteAccessHostDomainList i stedet.</translation>
+<translation id="8244171102276095471">Aktivér RC4-krypteringspakker i TLS</translation>
 <translation id="8244525275280476362">Maksimal henteforsinkelse efter ugyldiggørelse af en politik</translation>
 <translation id="8256688113167012935">Styrer det kontonavn, som <ph name="PRODUCT_OS_NAME" /> viser på loginskærmen for den tilsvarende enhedslokale konto.
 
@@ -3629,6 +3806,7 @@
 <translation id="8312129124898414409">Giver dig mulighed for at angive, om websites må anvende nøglegenerering. Brug af nøglegenerering kan enten være tilladt for alle websites eller nægtet for alle websites.
 
           Hvis denne politik ikke angives, anvendes "BlockKeygen", og brugeren vil kunne ændre den.</translation>
+<translation id="8320149248919453401">Tilstanden for batteriopladning</translation>
 <translation id="8329984337216493753">Denne politik er kun aktiv i detailtilstand.
 
       Når DeviceIdleLogoutTimeout er angivet, definerer denne politik varigheden af advarselsfeltet med en nedtælling, der vises, inden brugeren logges ud.
@@ -3794,6 +3972,7 @@
       Hvis politikken ikke konfigureres, anvendes standardtidsrummet på 345600000 millisekunder (fire dage) for <ph name="PRODUCT_OS_NAME" />-enheder og 604800000 millisekunder (én uge) for <ph name="PRODUCT_NAME" />.</translation>
 <translation id="8685024486845674965">Advarsler via adgangskodebeskyttelse udløses ved genbrug af adgangskoder</translation>
 <translation id="8693243869659262736">Brug den indbyggede DNS-klient</translation>
+<translation id="8698286761337647563">Hvor mange dage i forvejen skal SAML-brugere underrettes om, at deres adgangskode er ved at udløbe</translation>
 <translation id="8703488928438047864">Rapportér tavlestatus</translation>
 <translation id="8703872185032220081">Angiv dagkonfiguration for ændring ved strømspidsbelastning.
 
@@ -3838,6 +4017,7 @@
       Hvis denne indstilling er deaktiveret, eller der ikke er angivet en værdi, sender tjenesten til beskyttelse af adgangskoder brugerne til https://myaccounts.google.com, så adgangskoden kan ændres der.
       Denne politik er kun tilgængelig for Windows-forekomster, der er knyttet til et <ph name="MS_AD_NAME" />-domæne, eller Windows 10 Pro- eller Enterprise-forekomster, der er tilmeldt administration af enheder.</translation>
 <translation id="8798099450830957504">Standard</translation>
+<translation id="8800453707696044281">Angiv et brugerdefineret niveau i procent, hvor batteriopladningen skal stoppe</translation>
 <translation id="8801680448782904838">Underret en bruger om, at genstart af browseren eller enheden anbefales eller påkræves</translation>
 <translation id="8818173863808665831">Rapportér enhedens geografiske placering.
 
@@ -3951,6 +4131,11 @@
       Denne politik berører kun brugere, som er godkendt ved hjælp af SAML.
 
       Politikkens værdi skal angives i sekunder.</translation>
+<translation id="9018338365267278833">Dette fjerner udvidelser, der vises i <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, eller udvidelser, der vises i<ph name="EXTENSION_SETTINGS_POLICY_NAME" />, hvor installationstilstanden er konfigureret til blokeret, og lokale data ryddes samtidig.  Se privatlivspolitikken for udvidelser eller politikken for dataopbevaring for at forstå, hvad der kan ske med de brugerdata, der ikke gemmes lokalt.
+
+      Når politikken er angivet som aktiveret, fjernes de udvidelser, der hører under de førnævnte lister (hvis de allerede er installeret på en computer), helt fra den pågældende computer (herunder lokale brugerdata).
+
+      Når politikken er angivet som deaktiveret eller ikke er konfigureret, deaktiveres de udvidelser, der hører under de førnævnte lister (hvis de allerede er installeret på en computer og findes på sortlisten <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />), fra den pågældende computer og afinstalleres ikke.</translation>
 <translation id="9027787254195333560">Denne politik giver dig mulighed for at konfigurere det avatarbillede, der repræsenterer brugeren på loginskærmen. Politikken konfigureres ved at angive den webadresse, hvor <ph name="PRODUCT_OS_NAME" /> kan downloade avatarbilledet og en kryptografisk hash-værdi, som bruges til at bekræfte downloadens integritet. Billedet skal være i .jpeg-format, og dets størrelse må ikke overstige 512 kB. Webadressen skal være tilgængelig uden nogen form for godkendelse.
 
       Avatarbilledet downloades og cachelagres. Det downloades igen, når webadressen eller hash-værdien ændres.
diff --git a/components/policy/resources/policy_templates_el.xtb b/components/policy/resources/policy_templates_el.xtb
index 2522a7c..a6f213b 100644
--- a/components/policy/resources/policy_templates_el.xtb
+++ b/components/policy/resources/policy_templates_el.xtb
@@ -54,6 +54,13 @@
 <translation id="1049138910114524876">Διαμορφώνει την επιλογή των τοπικών ρυθμίσεων που εφαρμόζονται αναγκαστικά στην οθόνη σύνδεσης του <ph name="PRODUCT_OS_NAME" />.
 
       Εάν οριστεί αυτή η πολιτική, η οθόνη σύνδεσης θα προβάλλεται πάντα στις τοπικές ρυθμίσεις που καθορίζονται από την πρώτη τιμή αυτής της πολιτικής (η πολιτική ορίζεται ως μια λίστα για συμβατότητα προώθησης).  Εάν αυτή η πολιτική δεν οριστεί ή οριστεί σε μια κενή λίστα, η οθόνη σύνδεσης θα προβάλλεται στις τοπικές ρυθμίσεις της τελευταίας περιόδου σύνδεσης χρήστη.  Εάν αυτή η πολιτική οριστεί σε μη έγκυρες τοπικές ρυθμίσεις, η οθόνη σύνδεσης θα προβάλλεται στις εναλλακτικές τοπικές ρυθμίσεις (προς το παρόν en-US).</translation>
+<translation id="1052499923181221200">Αυτή η πολιτική δεν εφαρμόζεται παρά μόνο εάν οριστεί η πολιτική SamlInSessionPasswordChangeEnabled.
+      Εάν εκείνη η πολιτική έχει οριστεί ως true και αυτή η πολιτική οριστεί για παράδειγμα ως 14, οι χρήστες SAML θα ειδοποιούνται σχετικά με τη λήξη του κωδικού πρόσβασής τους 14 ημέρες πριν από την ημερομηνία λήξης του κωδικού πρόσβασης.
+      Θα μπορούν έτσι να προβούν άμεσα στην αλλαγή του κωδικού πρόσβασής τους κατά τη διάρκεια της περιόδου σύνδεσης.
+      Ωστόσο, αυτές οι ειδοποιήσεις θα εμφανίζονται μόνο όταν οι πληροφορίες λήξης των κωδικών πρόσβασης αποστέλλονται στη συσκευή από τον πάροχο ταυτοτήτων SAML κατά τη ροή σύνδεσης SAML.
+      Εάν ορίσετε την τιμή 0 για αυτήν την πολιτική, οι χρήστες δεν θα ειδοποιούνται προκαταβολικά. Σε αυτήν την περίπτωση, οι χρήστες θα ειδοποιούνται αφού ο κωδικός πρόσβασής τους λήξει.
+
+      Εάν αυτή η πολιτική οριστεί, ο χρήστης δεν μπορεί να την αλλάξει ή να την παρακάμψει.</translation>
 <translation id="1062011392452772310">Ενεργοποίηση απομακρυσμένης διαβεβαίωσης για τη συσκευή</translation>
 <translation id="1062407476771304334">Αντικατάσταση</translation>
 <translation id="1079801999187584280">Να μην επιτρέπεται η χρήση των Εργαλείων για προγραμματιστές</translation>
@@ -217,6 +224,7 @@
       Εάν η πολιτική είναι ενεργοποιημένη, θα επιτρέπεται η πρόσβαση του Βοηθού Google στο περιβάλλον οθόνης.
       Εάν η πολιτική είναι απενεργοποιημένη, δεν θα επιτρέπεται η πρόσβαση του Βοηθού Google στο περιβάλλον οθόνης.
       Εάν δεν οριστεί, οι χρήστες μπορούν να αποφασίζουν εάν ο Βοηθός Google θα έχει πρόσβαση στο περιβάλλον οθόνης</translation>
+<translation id="1376119291123231789">Ενεργοποίηση σύνθετης λειτουργίας φόρτισης μπαταρίας</translation>
 <translation id="1383493480903114193">Αυτή η πολιτική επιβάλλει την εκτέλεση κώδικα δικτύωσης στη διεργασία του προγράμματος περιήγησης.
 
       Αυτή η πολιτική είναι απενεργοποιημένη από προεπιλογή και αν ενεργοποιηθεί, αφήνει τους χρήστες εκτεθειμένους σε ζητήματα ασφαλείας μόλις η διεργασία δικτύωσης βρεθεί σε περιβάλλον δοκιμών.
@@ -317,6 +325,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Ενεργοποίηση του αποκλεισμού ενσωμάτωσης λογισμικού τρίτου μέρους</translation>
 <translation id="1504431521196476721">Απομακρυσμένη διαβεβαίωση</translation>
+<translation id="1507382822467487898">
+          Ορίζει ποια διεύθυνση ελέγχου πρόσβασης μέσων (διεύθυνση MAC) θα χρησιμοποιείται όταν η συσκευή είναι συνδεδεμένη σε μια βάση σύνδεσης.
+
+          Όταν ορισμένα μοντέλα συσκευών συνδεθούν σε μια βάση σύνδεσης, η καθορισμένη διεύθυνση MAC βάσης σύνδεσης της συσκευής χρησιμοποιείται από προεπιλογή για την αναγνώριση της συσκευής στο Ethernet. Αυτή η πολιτική επιτρέπει στον διαχειριστή να αλλάξει την πηγή της διεύθυνσης MAC που θα χρησιμοποιείται όταν η συσκευή είναι συνδεδεμένη στη βάση σύνδεσης.
+
+          Εάν η πολιτική οριστεί ως DeviceDockMacAddress ή δεν οριστεί καθόλου, θα χρησιμοποιείται η καθορισμένη διεύθυνση MAC βάσης σύνδεσης της συσκευής.
+
+          Εάν η πολιτική οριστεί ως DeviceNicMacAddress, θα χρησιμοποιείται η διεύθυνση ελέγχου πρόσβασης μέσων ελεγκτή διεπαφής δικτύου (διεύθυνση NIC MAC) της συσκευής.
+
+          Εάν η πολιτική οριστεί ως DockNicMacAddress, θα χρησιμοποιείται η διεύθυνση NIC MAC της βάσης σύνδεσης.
+
+          Ο χρήστης δεν μπορεί να αλλάξει αυτήν τη ρύθμιση.</translation>
 <translation id="1507957856411744193">Εάν αυτή η πολιτική έχει οριστεί ως αληθής, το <ph name="PRODUCT_NAME" /> θα συνδέεται σε συσκευές Cast σε όλες τις διευθύνσεις IP, όχι μόνο σε ιδιωτικές διευθύνσεις RFC1918/RFC4193.
 
           Εάν αυτή η πολιτική οριστεί ως ψευδής, το <ph name="PRODUCT_NAME" /> θα συνδέεται σε συσκευές Cast μόνο στις ιδιωτικές διευθύνσεις RFC1918/RFC4193.
@@ -749,6 +769,17 @@
 <translation id="2303795211377219696">Ενεργοποίηση της Αυτόματης συμπλήρωσης για πιστωτικές κάρτες</translation>
 <translation id="2309390639296060546">Προεπιλεγμένη ρύθμιση γεωτοποθεσίας</translation>
 <translation id="2327252517317514801">Καθορισμός τομέων που επιτρέπεται να έχουν πρόσβαση στο G Suite</translation>
+<translation id="2356878440219553005">Ορίζει την πολιτική διαχείρισης ισχύος λειτουργίας φόρτισης μπαταρίας.
+
+          Ελέγξτε δυναμικά τη φόρτιση της μπαταρίας, ώστε να ελαχιστοποιήσετε τη φθορά της λόγω εντατικής χρήσης και να επιμηκύνετε τη διάρκεια ζωής της.
+
+          Εάν επιλεγεί η προσαρμοσμένη λειτουργία φόρτισης μπαταρίας, πρέπει να οριστούν οι τιμές DeviceBatteryChargeCustomStartCharging και DeviceBatteryChargeCustomStopCharging.
+
+          Εάν αυτή η πολιτική οριστεί, η λειτουργία φόρτισης μπαταρίας θα εφαρμόζεται, εφόσον υποστηρίζεται από τη συσκευή.
+
+          Εάν αυτή η πολιτική δεν οριστεί αλλά η συσκευή υποστηρίζει τη χρήση μιας πολιτικής, θα εφαρμόζεται η τυπική λειτουργία φόρτισης μπαταρίας. Σε αυτήν την περίπτωση, ο χρήστης δεν θα μπορεί να αλλάξει τη λειτουργία φόρτισης.
+
+          Σημείωση: Η πολιτική <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" />, εάν έχει οριστεί, υπερισχύει αυτής της πολιτικής.</translation>
 <translation id="237494535617297575">Σας επιτρέπει να ορίσετε μια λίστα με τα μοτίβα διευθύνσεων url που προσδιορίζουν τους ιστότοπους στους οποίους επιτρέπεται να εμφανίζουν ειδοποιήσεις.
 
           Αν αυτή η πολιτική δεν οριστεί θα χρησιμοποιηθεί η καθολική προεπιλεγμένη τιμή για όλους τους ιστότοπους είτε από την πολιτική ''DefaultNotificationsSetting'' εφόσον οριστεί, είτε από την προσωπική διαμόρφωση του χρήστη.</translation>
@@ -786,6 +817,7 @@
 
       Εάν η παρούσα πολιτική έχει οριστεί σε "Όχι", η αυτόματη σύνδεση μηδενικής καθυστέρησης (εάν έχει διαμορφωθεί) δεν μπορεί να παρακαμφθεί.</translation>
 <translation id="2454228136871844693">Βελτιστοποίηση για σταθερότητα.</translation>
+<translation id="2463034609187171371">Ενεργοποίηση σουιτών κρυπτογράφησης DHE στο TLS</translation>
 <translation id="2463365186486772703">Τοπικές ρυθμίσεις εφαρμογής</translation>
 <translation id="2466131534462628618">Παράβλεψη του διακομιστή μεσολάβησης από τον έλεγχο ταυτότητας πύλης υποδοχής</translation>
 <translation id="2482676533225429905">Εγγενής ανταλλαγή μηνυμάτων</translation>
@@ -968,6 +1000,7 @@
 <translation id="2769952903507981510">Διαμόρφωση του υποχρεωτικού ονόματος τομέα για κεντρικούς υπολογιστές απομακρυσμένης πρόσβασης</translation>
 <translation id="2787173078141616821">Αναφορά πληροφοριών σχετικά με την κατάσταση του Android</translation>
 <translation id="2799297758492717491">Επιτρέπει την αυτόματη αναπαραγωγή πολυμέσων σε μια λίστα επιτρεπόμενων μοτίβων URL</translation>
+<translation id="2801155097555584385">Ορισμός ποσοστού έναρξης φόρτισης για την προσαρμοσμένη φόρτιση μπαταρίας</translation>
 <translation id="2801230735743888564">Επιτρέπει στους χρήστες να παίξουν το κρυφό παιχνίδι με τον δεινόσαυρο όταν η συσκευή είναι εκτός σύνδεσης.
 
       Αν η πολιτική έχει οριστεί σε False, οι χρήστες δεν θα μπορούν να παίξουν το κρυφό παιχνίδι με τον δεινόσαυρο όταν η συσκευή είναι εκτός σύνδεσης. Αν αυτή η ρύθμιση οριστεί σε True, οι χρήστες θα μπορούν να παίξουν το παιχνίδι με τον δεινόσαυρο. Αν δεν οριστεί αυτή η πολιτική, οι χρήστες δεν επιτρέπεται να παίξουν το κρυφό παιχνίδι με τον δεινόσαυρο σε εγγεγραμμένο Chrome OS, αλλά έχουν τη δυνατότητα να παίξουν υπό διαφορετικές συνθήκες.</translation>
@@ -1041,6 +1074,7 @@
       Εάν απενεργοποιήσετε αυτήν τη ρύθμιση ή δεν ορίσετε κάποια τιμή, η Προεπισκόπηση εκτύπωσης θα χρησιμοποιήσει τον εκτυπωτή που χρησιμοποιήθηκε πιο πρόσφατα ως προεπιλεγμένο προορισμό.
 
       Εάν ενεργοποιήσετε αυτήν τη ρύθμιση, η Προεπισκόπηση εκτύπωσης θα χρησιμοποιήσει τον προεπιλεγμένο εκτυπωτή του λειτουργικού συστήματος ως προεπιλεγμένο προορισμό.</translation>
+<translation id="285627849510728211">Ορισμός διαμόρφωσης ημέρας για τη σύνθετη λειτουργία φόρτισης μπαταρίας</translation>
 <translation id="2856674246949497058">Κάντε επαναφορά έκδοσης και μείνετε στην έκδοση προορισμού εάν η έκδοση του λειτουργικού συστήματος είναι νεότερη από την έκδοση προορισμού. Εκτελέστε ένα powerwash κατά τη διάρκεια της διαδικασίας.</translation>
 <translation id="2872961005593481000">Τερματισμός λειτουργίας</translation>
 <translation id="2873651257716068683">Παρακάμπτει το προεπιλεγμένο μέγεθος σελίδας εκτύπωσης. Εάν το μέγεθος σελίδας δεν είναι διαθέσιμο, αυτή η πολιτική αγνοείται.</translation>
@@ -1175,12 +1209,26 @@
 <translation id="3072045631333522102">Προφύλαξη οθόνης για χρήση στην οθόνη σύνδεσης σε εμπορική λειτουργία</translation>
 <translation id="3072847235228302527">Καθορισμός των Όρων Παροχής Υπηρεσιών για λογαριασμό συσκευής/τοπικό λογαριασμό</translation>
 <translation id="3077183141551274418">Ενεργοποιεί ή απενεργοποιεί τους κύκλους ζωής καρτελών</translation>
+<translation id="3079417254871857650">Ορίζει την ενέργεια που πρέπει να εκτελεστεί όταν ο αρχικός κατάλογος του χρήστη έχει δημιουργηθεί με κρυπτογράφηση ecryptfs.
+
+      Εάν ορίσετε αυτήν την πολιτική ως DisallowArc, οι εφαρμογές Android θα απενεργοποιηθούν για τον χρήστη και δεν θα πραγματοποιηθεί μετεγκατάσταση από την κρυπτογράφηση ecryptfs σε κρυπτογράφηση ext4. Η εκτέλεση εφαρμογών Android δεν θα αποτρέπεται όταν ο αρχικός κατάλογος είναι ήδη κρυπτογραφημένος με κρυπτογράφηση ext4.
+
+      Εάν ορίσετε αυτήν την πολιτική ως Migrate, θα πραγματοποιηθεί αυτόματα μετεγκατάσταση των αρχικών καταλόγων με κρυπτογράφηση ecryptfs σε κρυπτογράφηση ext4 κατά τη σύνδεση χωρίς να ζητηθεί η συναίνεση του χρήστη.
+
+      Εάν ορίσετε αυτήν την πολιτική ως Wipe, οι αρχικοί κατάλογοι με κρυπτογράφηση ecryptfs θα διαγραφούν κατά τη σύνδεση και θα δημιουργηθούν νέοι αρχικοί κατάλογοι με κρυπτογράφηση ext4. Προειδοποίηση: Αυτή η επιλογή καταργεί τα τοπικά δεδομένα του χρήστη.
+
+      Εάν ορίσετε αυτήν την πολιτική ως MinimalMigrate, οι αρχικοί κατάλογοι με κρυπτογράφηση ecryptfs θα διαγραφούν κατά τη σύνδεση και θα δημιουργηθούν νέοι αρχικοί κατάλογοι με κρυπτογράφηση ext4. Ωστόσο, θα γίνει προσπάθεια να διατηρηθούν τα διακριτικά σύνδεσης, έτσι ώστε ο χρήστης να μην χρειαστεί να συνδεθεί ξανά. Προειδοποίηση: Αυτή η επιλογή καταργεί τα τοπικά δεδομένα του χρήστη.
+
+      Εάν ορίσετε αυτήν την πολιτική χρησιμοποιώντας μια επιλογή που δεν υποστηρίζεται πλέον (π.χ. AskUser ή AskForEcryptfsArcUsersσε), η πολιτική θα θεωρηθεί ότι έχει οριστεί ως Migrate.
+
+      Αυτή η πολιτική δεν ισχύει για τους χρήστες εφαρμογών kiosk. Εάν αυτή η πολιτική δεν οριστεί, η συσκευή θα συμπεριφέρεται όπως εάν είχε οριστεί η επιλογή DisallowArc.</translation>
 <translation id="3086995894968271156">Διαμορφώστε τον Δέκτη Google Cast στο <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Σας επιτρέπει να ορίσετε μια λίστα μοτίβων URL που καθορίζουν ιστοτόπους στους οποίους επιτρέπεται να προβάλλονται εικόνες.
 
           Εάν αυτή η πολιτική δεν οριστεί, θα χρησιμοποιηθεί η καθολική προεπιλεγμένη τιμή για όλους τους ιστοτόπους είτε από την πολιτική "DefaultImagesSetting" εφόσον έχει οριστεί, είτε από την προσωπική διαμόρφωση του χρήστη.
 
           Λάβετε υπόψη ότι στο παρελθόν αυτή η πολιτική ήταν λανθασμένα ενεργοποιημένη στο Android, χωρίς να υποστηρίζεται ποτέ πλήρως σε συσκευές με Android.</translation>
+<translation id="3091832372132789233">Φορτίστε την μπαταρία για τις συσκευές που συνδέονται πρωτίστως σε μια εξωτερική πηγή τροφοδοσίας.</translation>
 <translation id="3096595567015595053">Κατάλογος ενεργοποιημένων προσθηκών</translation>
 <translation id="3101501961102569744">Επιλογή τρόπου καθορισμού των ρυθμίσεων του διακομιστή μεσολάβησης</translation>
 <translation id="3101709781009526431">Ημερομηνία και ώρα</translation>
@@ -1206,6 +1254,7 @@
           Εάν αυτή η ρύθμιση είναι απενεργοποιημένη, τότε το <ph name="PRODUCT_NAME" /> θα χρησιμοποιεί μόνο τους κεντρικούς υπολογιστές της Εγγενούς ανταλλαγής μηνυμάτων που έχουν εγκατασταθεί σε επίπεδο συστήματος.
 
           Εάν αυτή η ρύθμιση δεν οριστεί, το <ph name="PRODUCT_NAME" /> θα επιτρέπει τη χρήση των κεντρικών υπολογιστών της Εγγενούς ανταλλαγής μηνυμάτων σε επίπεδο χρήστη.</translation>
+<translation id="3177802893484440532">Απαιτούνται έλεγχοι OCSP/CRL μέσω διαδικτύου για τοπικά σημεία αγκύρωσης εμπιστοσύνης</translation>
 <translation id="3185009703220253572">από την έκδοση <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Οι εφαρμογές Android δεν μπορούν να αποκτήσουν πρόσβαση σε εταιρικά κλειδιά. Αυτή η πολιτική δεν επηρεάζει τις εφαρμογές Android.</translation>
 <translation id="3205825995289802549">Μεγιστοποίηση του πρώτου παραθύρου του προγράμματος περιήγησης στην πρώτη εκτέλεση</translation>
@@ -1219,6 +1268,7 @@
 <translation id="3220624000494482595">Εάν η εφαρμογή kiosk είναι μια εφαρμογή Android, δεν θα ελέγχει την έκδοση <ph name="PRODUCT_OS_NAME" />, ακόμη και αν αυτή η πολιτική οριστεί <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Πρότυπα διευθύνσεων URL για να επιτρέπονται οι εγκαταστάσεις επεκτάσεων, εφαρμογών και σεναρίων χρήστη από</translation>
 <translation id="3240609035816615922">Πολιτική πρόσβασης στη διαμόρφωση εκτυπωτών</translation>
+<translation id="3240655340884151271">Ενσωματωμένη διεύθυνση NIC MAC βάσης σύνδεσης</translation>
 <translation id="3243309373265599239">Καθορίζει τη χρονική διάρκεια χωρίς εισαγωγή από το χρήστη, μετά από την οποία η οθόνη θαμπώνει κατά τη λειτουργία με εναλλασσόμενο ρεύμα.
 
           Όταν αυτή η πολιτική ορίζεται σε τιμή μεγαλύτερη από το μηδέν, καθορίζει τη χρονική διάρκεια κατά την οποία ο χρήστης πρέπει να παραμείνει αδρανής προτού το <ph name="PRODUCT_OS_NAME" /> θαμπώσει την οθόνη.
@@ -1240,6 +1290,12 @@
       Εάν αυτή η ρύθμιση είναι ενεργοποιημένη ή δεν έχει διαμορφωθεί, οι χρήστες μπορούν να ενεργοποιήσουν τον διακομιστή μεσολάβησης εκτυπωτή νέφους μέσω του ελέγχου ταυτότητας με το Λογαριασμό τους Google.
 
       Εάν αυτή η ρύθμιση είναι απενεργοποιημένη, οι χρήστες δεν μπορούν να ενεργοποιήσουν το διακομιστή μεσολάβησης και δεν θα επιτρέπεται η κοινή χρήση των εκτυπωτών του υπολογιστή με το <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Ενεργοποιεί μια σελίδα με διεύθυνση chrome://password-change που επιτρέπει στους χρήστες SAML την αλλαγή των κωδικών πρόσβασης SAML κατά τη διάρκεια της περιόδου σύνδεσης, διασφαλίζοντας έτσι ότι ο κωδικός πρόσβασης SAML και ο κωδικός πρόσβασης κλειδώματος οθόνης συσκευής παραμένουν πάντα συγχρονισμένοι.
+
+      Αυτή η πολιτική ενεργοποιεί επίσης την αποστολή ειδοποιήσεων για την ενημέρωση των χρηστών SAML σχετικά με την επικείμενη λήξη του κωδικού πρόσβασης SAML, ώστε να μπορούν να προβούν στην άμεση αλλαγή του κωδικού πρόσβασής τους κατά τη διάρκεια της περιόδου σύνδεσης.
+      Ωστόσο, αυτές οι ειδοποιήσεις θα εμφανίζονται μόνο όταν οι πληροφορίες λήξης των κωδικών πρόσβασης αποστέλλονται στη συσκευή από τον πάροχο ταυτοτήτων SAML κατά τη ροή σύνδεσης SAML.
+
+      Εάν αυτή η πολιτική οριστεί, ο χρήστης δεν μπορεί να την αλλάξει ή να την παρακάμψει.</translation>
 <translation id="3322771899429619102">Σας επιτρέπει να ορίσετε μια λίστα με τα μοτίβα url που προσδιορίζουν ιστότοπους στους οποίους επιτρέπεται να χρησιμοποιούν τη δημιουργία κλειδιού. Αν ένα μοτίβο url περιέχεται στην πολιτική "KeygenBlockedForUrls", αυτή η πολιτική παρακάμπτει αυτές τις εξαιρέσεις.
 
           Αν δεν ορίσετε αυτήν την πολιτική, θα χρησιμοποιηθεί η καθολική προεπιλεγμένη τιμή για όλους τους ιστότοπους είτε από την πολιτική "DefaultKeygenSetting" εφόσον έχει οριστεί, είτε από την προσωπική διαμόρφωση του χρήστη.</translation>
@@ -1325,6 +1381,7 @@
 
           Εάν αυτή η πολιτική οριστεί ψευδής, η εκτέλεση των καθυστερήσεων διαχείρισης ενέργειας και του ορίου διάρκειας της περιόδου σύνδεσης ξεκινά αμέσως μετά την έναρξης της περιόδου σύνδεσης.</translation>
 <translation id="3478024346823118645">Διαγραφή δεδομένων χρήστη κατά την αποσύνδεση</translation>
+<translation id="3480961938508521469">Πλήρης φόρτιση μπαταρίας με έναν τυπικό ρυθμό</translation>
 <translation id="348495353354674884">Ενεργοποίηση εικονικού πληκτρολογίου</translation>
 <translation id="3487623755010328395">
         Αν οριστεί αυτή η πολιτική, το <ph name="PRODUCT_NAME" /> θα προσπαθήσει να καταχωρίσει τον εαυτό του και να εφαρμόσει τη σχετική πολιτική cloud σε όλα τα προφίλ.
@@ -1371,6 +1428,8 @@
 <translation id="3547954654003013442">Ρυθμίσεις διακομιστή μεσολάβησης</translation>
 <translation id="355118380775352753">Ιστότοποι για άνοιγμα σε εναλλακτικό πρόγραμμα περιήγησης</translation>
 <translation id="3554984410014457319">Να επιτρέπεται στον Βοηθό Google η ακρόαση της φράσης φωνητικής ενεργοποίησης</translation>
+<translation id="356579196325389849">Δυνατότητα διαμόρφωσης του καναλιού κυκλοφορίας του Chrome OS από τους χρήστες</translation>
+<translation id="3575011234198230041">Έλεγχος ταυτότητας HTTP</translation>
 <translation id="3577251398714997599">Ρύθμιση διαφημίσεων για ιστοτόπους με παρεμβατικές διαφημίσεις</translation>
 <translation id="357917253161699596">Να επιτρέπεται η διαχείριση των πιστοποιητικών χρήστη από τους χρήστες</translation>
 <translation id="3583230441447348508">Καθορίζει μια λίστα των κοινοποιήσεων αρχείων προκαθορισμένου δικτύου.
@@ -1401,6 +1460,7 @@
 
         Αυτή η πολιτική χρησιμοποιείται από την εγγραφή πολιτικής cloud σε επίπεδο συσκευής για υπολογιστή και μπορεί να οριστεί από το Μητρώο ή το GPO σε Windows, το plist σε Mac και το αρχείο πολιτικής JSON σε Linux.</translation>
 <translation id="3660562134618097814">Μεταφορά cookie SAML IdP κατά τη σύνδεση</translation>
+<translation id="3668151900457104753">Απεγκατάσταση επεκτάσεων που περιλαμβάνονται σε λίστες αποκλεισμού</translation>
 <translation id="3701121231485832347">Ελέγχει τις ρυθμίσεις που αφορούν συγκεκριμένα τις συσκευές <ph name="PRODUCT_OS_NAME" /> των οποίων η διαχείριση γίνεται από <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Το πεδίο μίας γραμμής αποσύρθηκε και θα καταργηθεί στο μέλλον. Ξεκινήστε να χρησιμοποιείτε το πλαίσιο κειμένου πολλών γραμμών παρακάτω.)</translation>
 <translation id="3709266154059827597">Διαμόρφωση λίστας αποκλεισμένων για την εγκατάσταση επέκτασης</translation>
@@ -1480,6 +1540,16 @@
           Εάν δεν ρυθμιστεί αυτή η πολιτική, το πληκτρολόγιο οθόνης θα είναι αρχικά απενεργοποιημένο, αλλά θα μπορεί να ενεργοποιείται από τον χρήστη ανά πάσα στιγμή.</translation>
 <translation id="382476126209906314">Διαμόρφωση του προθέματος TalkGadget για κεντρικούς υπολογιστές απομακρυσμένης πρόσβασης</translation>
 <translation id="3824972131618513497">Ελέγχει τις ρυθμίσεις που σχετίζονται με τη διαχείριση ενέργειας και την επανεκκίνηση.</translation>
+<translation id="3826475866868158882">Ενεργοποίηση των Υπηρεσιών τοποθεσίας Google</translation>
+<translation id="3831054243924627613">Αυτή η πολιτική ελέγχει την αρχική κατάσταση της λειτουργίας δημιουργίας αντιγράφων ασφαλείας και επαναφοράς Android.
+
+      Όταν αυτή η πολιτική δεν έχει διαμορφωθεί ή έχει οριστεί ως <ph name="BR_DISABLED" />, η λειτουργία δημιουργίας αντιγράφων ασφαλείας και επαναφοράς Android είναι αρχικά απενεργοποιημένη.
+
+      Όταν αυτή η πολιτική έχει οριστεί ως <ph name="BR_ENABLED" />, η λειτουργία δημιουργίας αντιγράφων ασφαλείας και επαναφοράς Android είναι αρχικά ενεργοποιημένη.
+
+      Όταν αυτή η πολιτική έχει οριστεί ως <ph name="BR_UNDER_USER_CONTROL" />, ζητείται από τον χρήστη να επιλέξει αν θα χρησιμοποιήσει τη λειτουργία δημιουργίας αντιγράφων ασφαλείας και επαναφοράς Android. Εάν ο χρήστης ενεργοποιήσει τη λειτουργία δημιουργίας αντιγράφων ασφαλείας και επαναφοράς, τα δεδομένα εφαρμογών Android αποστέλλονται στους διακομιστές δημιουργίας αντιγράφων ασφαλείας Android από τους οποίους ανακτώνται για επαναφορά σε περίπτωση επανεγκατάστασης συμβατών εφαρμογών.
+
+      Λάβετε υπόψη ότι αυτή η πολιτική ελέγχει την κατάσταση της λειτουργίας δημιουργίας αντιγράφων ασφαλείας και επαναφοράς Android μόνο κατά την αρχική ρύθμιση. Ο χρήστης μπορεί αργότερα να ανοίξει τις ρυθμίσεις Android και να ενεργοποιήσει/απενεργοποιήσει τη λειτουργία δημιουργίας αντιγράφων ασφαλείας και επαναφοράς Android.</translation>
 <translation id="3831376478177535007">Όταν είναι ενεργοποιημένη αυτή η ρύθμιση, το <ph name="PRODUCT_NAME" /> επιτρέπει να θεωρηθούν αξιόπιστα τα πιστοποιητικά που έχουν εκδοθεί από τις λειτουργίες PKI παλαιού τύπου της Symantec Corporation, εφόσον επικυρωθούν επιτυχώς με άλλο τρόπο και συνδέονται με ένα αναγνωρισμένο πιστοποιητικό CA.
 
       Λάβετε υπόψη ότι αυτή η πολιτική εξαρτάται από το εάν το λειτουργικό σύστημα εξακολουθεί να αναγνωρίζει πιστοποιητικά από την υποδομή παλαιού τύπου της Symantec. Εάν μια ενημέρωση λειτουργικού συστήματος αλλάξει τον χειρισμό των συγκεκριμένων πιστοποιητικών, αυτή η πολιτική ενδέχεται να μην έχει πλέον κάποιο αποτέλεσμα.  Επιπλέον αυτή η πολιτική προορίζεται για προσωρινή λύση που θα δώσει στις επιχειρήσεις περισσότερο χρόνο να καταργήσουν τα πιστοποιητικά Symantec παλαιού τύπου.  Αυτή η πολιτική θα καταργηθεί την ή περίπου την 1η Ιανουαρίου 2019.
@@ -1561,6 +1631,15 @@
 
           Εάν δεν έχει οριστεί ή έχει οριστεί σε "False", τότε οι χρήστες μπορούν να μεταφέρουν αρχεία στο Google Drive.</translation>
 <translation id="3915395663995367577">URL για αρχείο .pac διακομιστή μεσολάβησης</translation>
+<translation id="3920892052017026701">Ορίστε το ποσοστό έναρξης φόρτισης για την προσαρμοσμένη φόρτιση μπαταρίας.
+
+          Η φόρτιση της μπαταρίας θα ξεκινά όταν το επίπεδο φόρτισης της μπαταρίας πέσει κάτω από την καθορισμένη τιμή έναρξης φόρτισης για την προσαρμοσμένη φόρτιση μπαταρίας.
+
+          Η τιμή DeviceBatteryChargeCustomStartCharging πρέπει να είναι μικρότερη από την τιμή DeviceBatteryChargeCustomStopCharging.
+
+          Αυτή η πολιτική χρησιμοποιείται μόνο εάν η πολιτική DeviceBatteryChargeMode οριστεί ως προσαρμοσμένη.
+
+          Εάν αυτή η πολιτική δεν διαμορφωθεί ή δεν οριστεί καθόλου, χρησιμοποιείται η τυπική λειτουργία φόρτισης μπαταρίας.</translation>
 <translation id="3925377537407648234">Ορίστε την ανάλυση οθόνης και τον παράγοντα κλίμακας</translation>
 <translation id="3939893074578116847">Αποστολή πακέτων δικτύου στον διακομιστή διαχείρισης για την παρακολούθηση της κατάστασης στο διαδίκτυο, προκειμένου να μπορεί
       ο διακομιστής να διαπιστώνει αν η συσκευή βρίσκεται εκτός σύνδεσης.
@@ -1692,6 +1771,7 @@
 <translation id="4150201353443180367">Οθόνη</translation>
 <translation id="4157003184375321727">Αναφορά έκδοσης λειτουργικού συστήματος και υλικολογισμικού</translation>
 <translation id="4157594634940419685">Επιτρέπει την πρόσβαση σε εγγενείς εκτυπωτές CUPS</translation>
+<translation id="4160962198980004898">Πηγή διεύθυνσης MAC συσκευής κατά τη σύνδεση της συσκευής σε μια βάση σύνδεσης</translation>
 <translation id="4163705126749612234">Διαμορφώνει τα απαιτούμενα ονόματα τομέα υπολογιστή-πελάτη που θα επιβάλλονται σε υπολογιστές-πελάτες απομακρυσμένης πρόσβασης και αποτρέπει την αλλαγή αυτής της ρύθμισης από τους χρήστες.
 
           Εάν αυτή η ρύθμιση ενεργοποιηθεί, τότε μόνο οι υπολογιστές-πελάτες από τους καθορισμένους τομείς θα μπορούν να συνδεθούν στον κεντρικό υπολογιστή.
@@ -1769,6 +1849,7 @@
       Σημειώνεται ότι εάν μια πολιτική περιέχει αναγνωριστικό εφαρμογής, δεν σημαίνει απαραίτητα ότι ο χρήστης θα μπορεί να ενεργοποιήσει την εφαρμογή ως εφαρμογή σημειώσεων στο κλείδωμα οθόνης. Για παράδειγμα, στο Chrome 61, η ομάδα των διαθέσιμων εφαρμογών περιορίζεται επιπλέον από την πλατφόρμα.
 
       Εάν η πολιτική δεν οριστεί, δεν επιβάλλονται εξαιτίας της περιορισμοί στην ομάδα εφαρμογών που μπορεί να ενεργοποιήσει ο χρήστης στο κλείδωμα οθόνης.</translation>
+<translation id="4313767483634435271">Καθορισμένη διεύθυνση MAC βάσης σύνδεσης συσκευής</translation>
 <translation id="4322842393287974810">Επιτρέπει στην εφαρμογή kiosk αυτόματης εκκίνησης με μηδενική καθυστέρηση να ελέγχει την έκδοση <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="4325690621216251241">Προσθήκη κουμπιού αποσύνδεσης στο δίσκο του συστήματος</translation>
 <translation id="4332177773549877617">Συμβάντα καταγραφής για εγκαταστάσεις εφαρμογών Android</translation>
@@ -1800,6 +1881,7 @@
 <translation id="4360826270668210664">Εάν οριστεί αυτή η πολιτική, ο κεντρικός υπολογιστής απομακρυσμένης πρόσβασης θα απαιτεί από τους υπολογιστές-πελάτες που εκτελούν έλεγχο ταυτότητας την απόκτηση ενός διακριτικού ελέγχου ταυτότητας από αυτό το URL για την πραγματοποίηση σύνδεσης. Πρέπει να χρησιμοποιείται σε συνδυασμό με την πολιτική RemoteAccessHostTokenValidationUrl.
 
           Αυτή η λειτουργία είναι αυτήν τη στιγμή απενεργοποιημένη στην πλευρά του διακομιστή.</translation>
+<translation id="4363057787588706121">Επιτρέπεται η συγχώνευση πολιτικών λίστας από διαφορετικές πηγές</translation>
 <translation id="436581050240847513">Αναφορά διεπαφών δικτύου συσκευών</translation>
 <translation id="4372704773119750918">Να μην επιτρέπεται στον εταιρικό χρήστη η συμμετοχή σε πολλαπλό προφίλ (κύριο ή δευτερεύον)</translation>
 <translation id="4377599627073874279">Να επιτρέπεται σε όλους τους ιστότοπους να εμφανίζουν όλες τις εικόνες</translation>
@@ -1973,6 +2055,7 @@
 <translation id="4826326557828204741">Ενέργεια σε περίπτωση καθυστέρησης αδράνειας κατά τη χρήση της μπαταρίας</translation>
 <translation id="4832852360828533362">Αναφορές χρήστη και συσκευής</translation>
 <translation id="4834526953114077364">Οι χρήστες που έχουν χρησιμοποιηθεί λιγότερο πρόσφατα και δεν έχουν συνδεθεί κατά τους τελευταίους 3 μήνες καταργούνται μέχρι να διατεθεί ελεύθερος χώρος</translation>
+<translation id="4835622243021053389">Ενεργοποιήστε την ταυτοποίηση NTLMv2.</translation>
 <translation id="4858735034935305895">Να επιτρέπεται η λειτουργία πλήρους οθόνης</translation>
 <translation id="4861767323695239729">Διαμόρφωση των επιτρεπόμενων μεθόδων εισαγωγής σε μια περίοδο σύνδεσης χρήστη</translation>
 <translation id="487460824085252184">Κάντε αυτόματη μετεγκατάσταση, χωρίς να ζητάτε τη συγκατάθεση του χρήστη.</translation>
@@ -2096,6 +2179,11 @@
 
       Σε αντίθεση με την πολιτική <ph name="URL_LIST_POLICY_NAME" />, οι κανόνες ισχύουν και για τις δύο κατευθύνσεις. Δηλαδή, όταν έχει εγκατασταθει και ενεργοποιηθεί το πρόσθετο του Internet Explorer, ελέγχει επίσης εάν το <ph name="IE_PRODUCT_NAME" /> θα πρέπει να ανοίγει αυτά τα URL στο <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Ενεργοποίηση εκκίνησης σε AC (εναλλασσόμενο ρεύμα)</translation>
+<translation id="5131211790949066746">Ενεργοποιεί τη συγχώνευση των πολιτικών λίστας εγκατάστασης επεκτάσεων <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> και <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" />.
+
+      Εάν ενεργοποιήσετε αυτήν τη ρύθμιση, οι τιμές από την πολιτική πλατφόρμας υπολογιστή, την πολιτική cloud υπολογιστή και την πολιτική πλατφόρμας χρήστη συγχωνεύονται σε μία λίστα και χρησιμοποιούνται ως ενιαίο σύνολο αντί των τιμών από την πηγή με την υψηλότερη προτεραιότητα.
+
+      Εάν απενεργοποιήσετε αυτήν την πολιτική ή δεν την ορίσετε, λαμβάνονται μόνο οι καταχωρήσεις λίστας από την πηγή με την υψηλότερη προτεραιότητα, ενώ όλες οι άλλες πηγές εμφανίζονται ως διενέξεις αλλά παραβλέπονται.</translation>
 <translation id="5141670636904227950">Ορίστε τον προεπιλεγμένο τύπο μεγέθυνσης οθόνης που θα ενεργοποιηθεί στην οθόνη σύνδεσης</translation>
 <translation id="5142301680741828703">Να εμφανίζονται πάντα τα παρακάτω πρότυπα διεύθυνσης URL στο <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Σας επιτρέπει να καθορίσετε πρόσθετες παραμέτρους που χρησιμοποιούνται όταν το <ph name="PRODUCT_FRAME_NAME" /> πραγματοποιεί εκκίνηση του <ph name="PRODUCT_NAME" />.
@@ -2215,6 +2303,7 @@
 
       Εάν δεν οριστεί αυτή η πολιτική ή εάν οριστεί σε κενή συμβολοσειρά ή μη έγκυρο εύρος θυρών, το WebRTC επιτρέπεται να χρησιμοποιήσει οποιαδήποτε διαθέσιμη τοπική θύρα UDP.</translation>
 <translation id="5290940294294002042">Καθορίστε μια λίστα προσθηκών τις οποίες θα μπορεί να ενεργοποιεί ή να απενεργοποιεί ο χρήστης</translation>
+<translation id="5306186200045823863">Ενεργοποίηση της τεχνολογίας Legacy PKI Infrastructure της Symantec Corporation ως αξιόπιστης</translation>
 <translation id="5307432759655324440">Διαθεσιμότητα κατάστασης ανώνυμης περιήγησης</translation>
 <translation id="5318185076587284965">Ενεργοποίηση της χρήσης διακομιστών αναμετάδοσης από τον κεντρικό υπολογιστή απομακρυσμένης πρόσβασης</translation>
 <translation id="5323128137188992869">Επιτρέψτε τη μετάδοση περιεχομένου στη συσκευή μέσω του <ph name="PRODUCT_NAME" />.
@@ -2317,6 +2406,7 @@
       Σε περίπτωση διένεξης των κανόνων μεταξύ τους, το <ph name="PRODUCT_NAME" /> χρησιμοποιεί τον πιο συγκεκριμένο κανόνα.</translation>
 <translation id="5475361623548884387">Ενεργοποίηση εκτύπωσης</translation>
 <translation id="547601067149622666">Να μην επιτρέπονται οι διαφημίσεις σε ιστοτόπους με παρεμβατικές διαφημίσεις</translation>
+<translation id="5483065054530244863">Επιτρέπονται τα υπογεγραμμένα πιστοποιητικά SHA-1 που εκδίδονται από τοπικά σημεία αγκύρωσης</translation>
 <translation id="5483777239978559943">Αυτή η πολιτική έχει καταργηθεί. Χρησιμοποιήστε την πολιτική <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> για να ελέγξετε τη διαθεσιμότητα της προσθήκης Flash και <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> για να ελέγξετε εάν το ενσωματωμένο πρόγραμμα προβολής PDF θα πρέπει να χρησιμοποιηθεί για το άνοιγμα αρχείων PDF.
 
       Καθορίζει μια λίστα προσθηκών τις οποίες μπορεί να ενεργοποιήσει ή να απενεργοποιήσει ένας χρήστης στο <ph name="PRODUCT_NAME" />.
@@ -2433,6 +2523,17 @@
           Εάν ενεργοποιήσετε ή δεν ορίσετε αυτήν τη ρύθμιση, οι χρήστες θα μπορούν να προβάλλουν τους κωδικούς πρόσβασης σε απλό κείμενο στη διαχείριση κωδικού πρόσβασης.</translation>
 <translation id="5620392548325769024">Ενεργοποίηση εμφάνισης της σελίδας υποδοχής στην πρώτη εκκίνηση του προγράμματος περιήγησης μετά από αναβάθμιση του λειτουργικού συστήματος</translation>
 <translation id="5630352020869108293">Επαναφορά τελευταίας περιόδου σύνδεσης</translation>
+<translation id="5643906875497889108">Ελέγχει ποιοι τύποι εφαρμογών/επεκτάσεων επιτρέπεται να εγκατασταθούν και περιορίζει την πρόσβαση κατά τον χρόνο εκτέλεσης.
+
+          Αυτή η ρύθμιση ορίζει τους επιτρεπόμενους τύπους εφαρμογών/επεκτάσεων που μπορούν να εγκατασταθούν στο <ph name="PRODUCT_NAME" /> και τους κεντρικούς υπολογιστές με τους οποίους μπορούν να αλληλεπιδρούν. Η τιμή είναι μια λίστα συμβολοσειρών, καθεμία από τις οποίες μπορεί να είναι μία από τις εξής: "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app". Ανατρέξτε στην τεκμηρίωση των επεκτάσεων του <ph name="PRODUCT_NAME" /> για περισσότερες πληροφορίες σχετικά με αυτούς τους τύπους.
+
+          Λάβετε υπόψη ότι αυτή η πολιτική επηρεάζει επίσης τις επεκτάσεις και τις εφαρμογές που εγκαθίστανται αναγκαστικά μέσω της πολιτικής ExtensionInstallForcelist.
+
+          Εάν αυτή η ρύθμιση διαμορφωθεί, οι επεκτάσεις/εφαρμογές των οποίων ο τύπος δεν περιλαμβάνεται στη λίστα δεν θα εγκατασταθούν.
+
+          Εάν αυτή η ρύθμιση δεν διαμορφωθεί, δεν επιβάλλονται περιορισμοί ως προς τους αποδεκτούς τύπους επεκτάσεων/εφαρμογών.
+
+          Πριν από την έκδοση 75, η χρήση πολλαπλών αναγνωριστικών επεκτάσεων διαχωρισμένων με κόμμα δεν υποστηρίζεται και θα παραβλέπεται. Η υπόλοιπη πολιτική θα συνεχίσει να ισχύει.</translation>
 <translation id="5645779841392247734">Να επιτρέπονται τα cookie σε αυτούς τους ιστότοπους</translation>
 <translation id="5689430183304951538">Προεπιλεγμένο μέγεθος σελίδας εκτύπωσης</translation>
 <translation id="5693469654327063861">Να επιτρέπεται η μετεγκατάσταση δεδομένων</translation>
@@ -2472,6 +2573,7 @@
 <translation id="5765780083710877561">Περιγραφή:</translation>
 <translation id="5770738360657678870">Κανάλι Dev (μπορεί να είναι ασταθές)</translation>
 <translation id="5774856474228476867">Προεπιλεγμένη διεύθυνση URL αναζήτησης πάροχο αναζήτησης</translation>
+<translation id="5775235485119094648">Φόρτιση της μπαταρίας όταν το επίπεδο φόρτισης βρίσκεται εντός του καθορισμένου εύρους</translation>
 <translation id="5776485039795852974">Να γίνεται ερώτηση κάθε φορά για την εμφάνιση ειδοποιήσεων επιφάνειας εργασίας</translation>
 <translation id="5781412041848781654">Καθορίζει ποια βιβλιοθήκη GSSAPI θα χρησιμοποιηθεί για τον έλεγχο ταυτότητας HTTP. Μπορείτε να προσδιορίσετε απλώς το όνομα της βιβλιοθήκης ή μια πλήρη διαδρομή.
 
@@ -2539,6 +2641,7 @@
 <translation id="5893553533827140852">Εάν είναι ενεργοποιημένη αυτή η ρύθμιση, τότε η μεσολάβηση των αιτημάτων ελέγχου ταυτότητας gnubby θα γίνεται μέσω μιας απομακρυσμένης σύνδεσης σε κεντρικό υπολογιστή.
 
           Εάν είναι απενεργοποιημένη αυτή η ρύθμιση ή δεν διαμορφωθεί, δεν θα γίνεται μεσολάβηση των αιτημάτων ελέγχου ταυτότητας gnubby.</translation>
+<translation id="5897913798715600338">Φορτίστε την μπαταρία χρησιμοποιώντας την τεχνολογία γρήγορης φόρτισης.</translation>
 <translation id="5898486742390981550">Όταν συνδέονται πολλοί χρήστες, μόνο ο κύριος χρήστης μπορεί να χρησιμοποιήσει τις εφαρμογές Android.</translation>
 <translation id="5900196529149231477">
       Αυτή η πολιτική ισχύει για την οθόνη σύνδεσης. Ανατρέξτε, επίσης, στην πολιτική <ph name="ISOLATE_ORIGINS_POLICY_NAME" />, η οποία ισχύει για την περίοδο σύνδεσης χρήστη. Συνιστάται να ορίσετε την ίδια τιμή και για τις δύο πολιτικές. Εάν οι τιμές δεν είναι ίδιες, μπορεί να υπάρξει καθυστέρηση στην καταχώριση μιας περιόδου σύνδεσης χρήστη κατά την εφαρμογή της τιμής που προσδιορίζεται από την πολιτική χρήστη.
@@ -2547,12 +2650,14 @@
       Εάν η πολιτική δεν έχει διαμορφωθεί, θα χρησιμοποιηθούν οι προεπιλεγμένες ρυθμίσεις απομόνωσης ιστοτόπου για την οθόνη σύνδεσης.
       </translation>
 <translation id="5901427587865226597">Μόνο εκτύπωση διπλής όψης</translation>
+<translation id="5905473632148429217">Ενεργοποίηση ελέγχων OCSP/CRL μέσω διαδικτύου</translation>
 <translation id="5906199912611534122">Επιτρέπει την ενεργοποίηση και την απενεργοποίηση του περιορισμού δικτύου.
       Ισχύει για όλους τους χρήστες και για όλες τις διεπαφές στη συσκευή. Αφού οριστεί,
       ο περιορισμός παραμένει μέχρι να αλλάξει η πολιτική, προκειμένου να απενεργοποιηθεί.
 
       Εάν οριστεί ως ψευδής, δεν υπάρχει περιορισμός.
       Εάν οριστεί ως αληθής, το σύστημα περιορίζεται, έτσι ώστε να επιτευχθούν οι παρεχόμενες ταχύτητες μεταφόρτωσης και λήψης (σε kbit/δευτ.).</translation>
+<translation id="591088232153082363">Προσαρμοστική φόρτιση μπαταρίας με βάση το μοτίβο χρήσης μπαταρίας</translation>
 <translation id="5921713479449475707">Να επιτρέπονται οι λήψεις αυτόματης ενημέρωσης μέσω HTTP</translation>
 <translation id="5921888683953999946">Ρύθμιση της προεπιλεγμένης κατάστασης της δυνατότητας προσβασιμότητας μεγάλου δείκτη στην οθόνη σύνδεσης.
 
@@ -2574,6 +2679,7 @@
 <translation id="5950205771952201658">Λαμβάνοντας υπόψη ότι οι έλεγχοι ακύρωσης τερματισμού μη κρίσιμων διεργασιών στο διαδίκτυο δεν παρέχουν αποτελεσματικά οφέλη ασφάλειας, απενεργοποιούνται από προεπιλογή στην έκδοση 19 του <ph name="PRODUCT_NAME" /> και σε νεότερες εκδόσεις. Με τη ρύθμιση αυτής της πολιτικής ως "true", γίνεται επαναφορά της προηγούμενης συμπεριφοράς και εκτελούνται οι έλεγχοι OCSP/CRL στο διαδίκτυο.
 
       Εάν η πολιτική δεν έχει οριστεί ή έχει οριστεί ως "false", το <ph name="PRODUCT_NAME" /> δεν θα εκτελεί ελέγχους ακύρωσης στο διαδίκτυο στο <ph name="PRODUCT_NAME" /> 19 και σε νεότερες εκδόσεις.</translation>
+<translation id="5961137303188584693">Ενσωματωμένη διεύθυνση NIC MAC συσκευής</translation>
 <translation id="5966615072639944554">Οι επεκτάσεις επιτρέπονται για τη χρήση του API απομακρυσμένης διαβεβαίωσης</translation>
 <translation id="5983708779415553259">Προεπιλεγμένη συμπεριφορά για ιστότοπους που δεν περιλαμβάνονται σε κάποιο πακέτο περιεχομένου</translation>
 <translation id="5997543603646547632">Χρήση του ρολογιού 24 ωρών από προεπιλογή</translation>
@@ -2664,6 +2770,17 @@
 <translation id="6111936128861357925">Να επιτρέπεται το κρυφό παιχνίδι με τον δεινόσαυρο</translation>
 <translation id="6114416803310251055">έχει αποσυρθεί</translation>
 <translation id="6133088669883929098">Να επιτρέπεται σε όλους τους ιστότοπους να χρησιμοποιούν τη δημιουργία κλειδιού</translation>
+<translation id="6136537398661737682">Αυτή η πολιτική ελέγχει την αρχική κατάσταση των Υπηρεσιών τοποθεσίας Google.
+
+      Όταν αυτή η πολιτική δεν έχει διαμορφωθεί ή έχει οριστεί ως <ph name="GLS_DISABLED" />, οι Υπηρεσίες τοποθεσίας Google είναι αρχικά απενεργοποιημένες.
+
+      Όταν αυτή η πολιτική έχει οριστεί ως <ph name="GLS_ENABLED" />, οι Υπηρεσίες τοποθεσίας Google είναι αρχικά ενεργοποιημένες.
+
+      Όταν αυτή η πολιτική έχει οριστεί ως <ph name="GLS_UNDER_USER_CONTROL" />, ζητείται από τον χρήστη να επιλέξει αν θα χρησιμοποιήσει τις Υπηρεσίες τοποθεσίας Google. Αυτό θα επιτρέψει στις εφαρμογές Android να χρησιμοποιούν τις υπηρεσίες για την αναζήτηση της τοποθεσίας της συσκευής, ενώ επίσης θα επιτρέψει την υποβολή ανώνυμων δεδομένων τοποθεσίας στο Google.
+
+      Λάβετε υπόψη ότι αυτή η πολιτική ελέγχει την κατάσταση των Υπηρεσιών τοποθεσίας Google μόνο κατά την αρχική ρύθμιση. Ο χρήστης μπορεί αργότερα να ανοίξει τις ρυθμίσεις Android και να ενεργοποιήσει/απενεργοποιήσει τις Υπηρεσίες τοποθεσίας Google.
+
+      Λάβετε υπόψη ότι αυτή η πολιτική παραβλέπεται και οι Υπηρεσίες τοποθεσίας Google είναι πάντα απενεργοποιημένες όταν η πολιτική <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> έχει οριστεί ως <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">Να χρησιμοποιείται πάντα κατά προσέγγιση εντοπισμός ζώνης ώρας</translation>
 <translation id="6145799962557135888">Σας επιτρέπει να ορίσετε μια λίστα με τα μοτίβα διευθύνσεων url που προσδιορίζουν τους ιστότοπους στους οποίους επιτρέπεται η εκτέλεση JavaScript.
 
@@ -2739,9 +2856,17 @@
       Αν είναι απενεργοποιημένη, δεν εισάγονται τα δεδομένα φόρμας αυτόματης συμπλήρωσης.
 
       Αν δεν οριστεί, ο χρήστης μπορεί να ερωτηθεί αν θα γίνει εισαγωγή, διαφορετικά η εισαγωγή μπορεί να πραγματοποιηθεί αυτόματα.</translation>
+<translation id="6221175752766085998">Επιτρέπονται τα πιστοποιητικά που εκδίδονται από τοπικά σημεία αγκύρωσης χωρίς επέκταση subjectAlternativeName</translation>
 <translation id="6224304369267200483">Η άμεση επιβεβαίωση κλειδιού ασφαλείας επιτρέπεται αυτόματα από URL/τομείς</translation>
 <translation id="6233173491898450179">Ορισμός καταλόγου λήψεων</translation>
 <translation id="6244210204546589761">Διευθύνσεις URL για να άνοιγμα κατά την εκκίνηση</translation>
+<translation id="6255387031094435995">Επιτρέπει τη συγχώνευση των επιλεγμένων πολιτικών όταν προέρχονται από διαφορετικές πηγές με το ίδιο εύρος και το ίδιο επίπεδο.
+
+        Εάν μια πολιτική είναι στη λίστα, σε περίπτωση διένεξης μεταξύ δύο πηγών, με δεδομένο ότι έχουν το ίδιο εύρος και το ίδιο επίπεδο, οι τιμές θα συγχωνευτούν σε μια νέα λίστα πολιτικών.
+
+        Εάν μια πολιτική είναι στη λίστα, σε περίπτωση διένεξης μεταξύ δύο πηγών και μεταξύ διαφορετικών ευρών ή/και επιπέδων, θα εφαρμοστεί η πολιτική με την υψηλότερη προτεραιότητα.
+
+        Εάν μια πολιτική δεν είναι στη λίστα, σε περίπτωση οποιασδήποτε διένεξης μεταξύ πηγών, ευρών ή/και επιπέδων, θα εφαρμοστεί η πολιτική με την υψηλότερη προτεραιότητα.</translation>
 <translation id="6258193603492867656">Καθορίζει εάν το Kerberos SPN που έχει δημιουργηθεί θα πρέπει να περιλαμβάνει μια μη τυπική θύρα. Αν ενεργοποιήσετε αυτήν τη ρύθμιση και εισαχθεί μια μη τυπική θύρα (δηλαδή, μια θύρα εκτός από 80 ή 443), θα συμπεριληφθεί στο Kerberos SPN που έχει δημιουργηθεί. Αν απενεργοποιήσετε αυτήν τη ρύθμιση, το Kerberos SPN που έχει δημιουργηθεί δεν θα συμπεριλάβει κάποια θύρα σε καμία περίπτωση.</translation>
 <translation id="6261643884958898336">Αναφορά πληροφοριών ταυτοποίησης συσκευής</translation>
 <translation id="6281043242780654992">Διαμορφώνει τις πολιτικές της εγγενούς ανταλλαγής μηνυμάτων. Οι κεντρικοί υπολογιστές εγγενούς ανταλλαγής μηνυμάτων βρίσκονται στη μαύρη λίστα εκτός και αν τοποθετηθούν στη λίστα επιτρεπόμενων.</translation>
@@ -2939,6 +3064,7 @@
 <translation id="6757438632136860443">Σας επιτρέπει να ορίσετε μια λίστα μοτίβων URL που καθορίζουν ιστοτόπους οι οποίοι δεν επιτρέπεται να εκτελούν την προσθήκη <ph name="FLASH_PLUGIN_NAME" />.
 
           Εάν αυτή η πολιτική δεν οριστεί, η καθολική προεπιλεγμένη τιμή θα χρησιμοποιείται για όλους τους ιστοτόπους είτε μέσω της πολιτικής "DefaultPluginsSetting", εάν έχει οριστεί, είτε μέσω της προσωπικής διαμόρφωσης του χρήστη.</translation>
+<translation id="6757613329154374267">Ενεργοποίηση λειτουργίας δημιουργίας αντιγράφων ασφαλείας και επαναφοράς</translation>
 <translation id="6762235610019366960">Σας επιτρέπει να ελέγχετε την παρουσίαση του προωθητικού περιεχομένου πλήρους καρτέλας ή/και του εκπαιδευτικού περιεχομένου στο <ph name="PRODUCT_NAME" />.
 
       Εάν δεν έχει διαμορφωθεί ή ενεργοποιηθεί (έχει οριστεί ως αληθής), το <ph name="PRODUCT_NAME" /> μπορεί να εμφανίζει περιεχόμενο πλήρους καρτέλας στους χρήστες προκειμένου να παρέχει πληροφορίες προϊόντος.
@@ -2961,6 +3087,7 @@
       Η συμβολοσειρά μπορεί να περιέχει τις μεταβλητές ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR} και ${MACHINE_NAME} οι οποίες αντικαθίστανται με τιμές στη συσκευή, πριν από τη χρήση της συμβολοσειράς ως όνομα κεντρικού υπολογιστή. Η αντικατάσταση που προκύπτει πρέπει να είναι ένα έγκυρο όνομα κεντρικού υπολογιστή (σύμφωνα με το RFC 1035, ενότητα 3.1).
 
       Εάν αυτή η πολιτική δεν οριστεί ή εάν η τιμή μετά την αντικατάσταση δεν αποτελεί ένα έγκυρο όνομα κεντρικού υπολογιστή, δεν θα οριστεί όνομα κεντρικού υπολογιστή στο αίτημα DHCP. </translation>
+<translation id="6833988859168635883">Σελίδα εκκίνησης, Αρχική σελίδα και Σελίδα νέας καρτέλας</translation>
 <translation id="6835883744948188639">Εμφάνιση μιας επαναλαμβανόμενης προτροπής στον χρήστη, η οποία υποδεικνύει ότι συνιστάται επανεκκίνηση</translation>
 <translation id="6837480141980366278">Ελέγχει εάν το ενσωματωμένο πρόγραμμα-πελάτης DNS χρησιμοποιείται στο <ph name="PRODUCT_NAME" />.
 
@@ -3074,6 +3201,17 @@
 
       Όταν πρόκειται να μειωθεί η φωτεινότητα της οθόνης, το μοντέλο έξυπνης μείωσης φωτεινότητας αξιολογεί εάν θα πρέπει να απενεργοποιηθεί η μείωση φωτεινότητας της οθόνης. Εάν το μοντέλο έξυπνης μείωσης φωτεινότητας απενεργοποιήσει τη μείωση φωτεινότητας της οθόνης, επεκτείνει αποτελεσματικά τον χρόνο μέχρι τη μείωση φωτεινότητας της οθόνης. Σε αυτήν την περίπτωση, η απενεργοποίηση οθόνης, το κλείδωμα οθόνης και οι καθυστερήσεις αδράνειας προσαρμόζονται προκειμένου να διατηρηθούν οι ίδιες αποστάσεις από την καθυστέρηση μείωσης φωτεινότητας οθόνης σε σχέση με την αρχική διαμόρφωση.
       Εάν αυτή η πολιτική οριστεί ως Αληθής ή δεν οριστεί, το μοντέλο έξυπνης μείωσης φωτεινότητας θα ενεργοποιηθεί και θα επιτρέπεται να επεκτείνει τον χρόνο μέχρι τη μείωση φωτεινότητας οθόνης. Εάν αυτή η πολιτική οριστεί ως Ψευδής, το μοντέλο έξυπνης μείωσης φωτεινότητας δεν θα επηρεάσει τη μείωση φωτεινότητας οθόνης.</translation>
+<translation id="6967394885063085697">Ενεργοποιήστε την πολιτική διαχείρισης ισχύος σύνθετης λειτουργίας φόρτισης μπαταρίας.
+
+          H Σύνθετη λειτουργία φόρτισης μπαταρίας επιτρέπει στον χρήστη τη μεγιστοποίηση της υγείας της μπαταρίας. Στη Σύνθετη λειτουργία φόρτισης, το σύστημα θα χρησιμοποιεί τυποποιημένους αλγόριθμους φόρτισης και άλλες τεχνικές κατά τις μη εργάσιμες ώρες για τη μεγιστοποίηση της υγείας της μπαταρίας. Κατά τις εργάσιμες ώρες, χρησιμοποιείται γρήγορη φόρτιση. Η γρήγορη φόρτιση επιτρέπει στην μπαταρία να φορτίζει γρηγορότερα, με αποτέλεσμα η πλήρης φόρτιση της μπαταρίας να επιτυγχάνεται σε λιγότερο χρόνο. Το διάστημα εντατικής χρήσης του συστήματος για κάθε ημέρα ορίζεται από την ώρα έναρξης και τη διάρκεια.
+
+          Εάν αυτή η πολιτική οριστεί ως true και οριστεί επίσης η πολιτική DeviceAdvancedBatteryChargeModeDayConfig, η σύνθετη λειτουργία φόρτισης μπαταρίας θα είναι πάντα ενεργοποιημένη, εφόσον υποστηρίζεται από τη συσκευή.
+
+          Εάν αυτή η πολιτική οριστεί ως false, η σύνθετη λειτουργία φόρτισης μπαταρίας θα είναι πάντα απενεργοποιημένη.
+
+          Εάν ορίσετε αυτήν την πολιτική, οι χρήστες δεν μπορούν να την αλλάξουν ή να την παρακάμψουν.
+
+          Εάν αυτή η πολιτική δεν οριστεί, η σύνθετη λειτουργία φόρτισης μπαταρίας θα είναι απενεργοποιημένη και δεν θα μπορεί να ενεργοποιηθεί από τον χρήστη.</translation>
 <translation id="6972540544240464302">Επιλογή διαμόρφωσης χρονοδιαγράμματος εργασίας</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="6994082778848658360">Καθορίζει τον τρόπο με τον οποίο ο ενσωματωμένος εξοπλισμός ασφαλούς στοιχείου μπορεί να χρησιμοποιηθεί για την παροχή ελέγχου ταυτότητας δευτερεύοντα παράγοντα εάν είναι συμβατός με αυτήν τη λειτουργία. Το κουμπί λειτουργίας της συσκευής χρησιμοποιείται για τον εντοπισμό της φυσικής παρουσίας του χρήστη.
@@ -3151,6 +3289,17 @@
       Εάν ενεργοποιήσετε ή απενεργοποιήσετε αυτήν τη ρύθμιση, οι χρήστες δεν θα μπορούν να την αλλάξουν ή να την παρακάμψουν.
 
       Εάν αυτή η πολιτική δεν καθοριστεί, ο χρήστης θα μπορεί να επιλέξει αν επιθυμεί ή όχι να του ζητείται κωδικός πρόσβασης για να ξεκλειδώσει τη συσκευή.</translation>
+<translation id="7107148737865880402">Ενεργοποιήστε την πολιτική διαχείρισης κοινής χρήσης ισχύος USB.
+
+          Ορισμένες συσκευές έχουν μια ειδική θύρα USB που επισημαίνεται με ένα εικονίδιο κεραυνού ή μπαταρίας. Αυτή η θύρα μπορεί να χρησιμοποιηθεί για τη φόρτιση συσκευών (π.χ. ενός κινητού τηλεφώνου) από την μπαταρία του συστήματος. Αυτή η πολιτική επηρεάζει τη συμπεριφορά φόρτισης αυτής της θύρας όταν το σύστημα είναι σε κατάσταση αδράνειας ή έχει τερματιστεί. Αυτή η πολιτική δεν επηρεάζει τις άλλες θύρες USB ούτε τη συμπεριφορά φόρτισης όταν το σύστημα λειτουργεί κανονικά.
+
+          Όταν το σύστημα λειτουργεί κανονικά, η θύρα USB θα παρέχει πάντα ισχύ.
+
+          Όταν το σύστημα είναι σε κατάσταση αδράνειας και αυτή η πολιτική έχει οριστεί ως true, η θύρα USB θα παρέχει ισχύ όταν η συσκευή είναι συνδεδεμένη στον φορτιστή ή το επίπεδο μπαταρίας είναι πάνω από 50%. Διαφορετικά, δεν θα παρέχεται ισχύς.
+
+          Όταν το σύστημα έχει τερματιστεί και αυτή η πολιτική έχει οριστεί ως true, η θύρα USB θα παρέχει ισχύ μόνο όταν η συσκευή είναι συνδεδεμένη στον φορτιστή. Διαφορετικά, δεν θα παρέχεται ισχύς.
+
+          Εάν δεν οριστεί, αυτή η πολιτική είναι ενεργοποιημένη και δεν μπορεί να απενεργοποιηθεί από τον χρήστη.</translation>
 <translation id="7115494316187648452">Καθορίζει εάν μια διαδικασία του <ph name="PRODUCT_NAME" /> εκκινείται κατά τη σύνδεση του λειτουργικού συστήματος και εξακολουθεί να εκτελείται, όταν κλείνει το τελευταίο παράθυρο του προγράμματος περιήγησης, επιτρέποντας στις εφαρμογές παρασκηνίου να παραμείνουν ενεργές, συμπεριλαμβανομένων και τυχόν cookie περιόδου σύνδεσης. Η διαδικασία παρασκηνίου εμφανίζει ένα εικονίδιο στην περιοχή ειδοποιήσεων και μπορεί να κλείσει από εκεί.
 
       Αν αυτή η πολιτική οριστεί σε "True", η λειτουργία παρασκηνίου ενεργοποιείται και δεν είναι δυνατός ο έλεγχός της από το χρήστη στις ρυθμίσεις του προγράμματος περιήγησης.
@@ -3201,6 +3350,7 @@
           Εάν αυτή η πολιτική οριστεί ως αληθής (true) ή δεν οριστεί, τα wake lock οθόνης θα εγκριθούν για τη διαχείριση ισχύος, εκτός εάν το AllowWakeLocks οριστεί ως ψευδές (false).
 
           Εάν αυτή η πολιτική οριστεί ως ψευδής (false), τα αιτήματα wake lock οθόνης θα υποβιβαστούν σε αιτήματα wake lock συστήματος.</translation>
+<translation id="7177857088692019405">Γρήγορο ξεκλείδωμα</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Τύποι σύνδεσης που επιτρέπονται για ενημερώσεις</translation>
 <translation id="7194407337890404814">Όνομα προεπιλεγμένου πάροχο αναζήτησης</translation>
@@ -3265,6 +3415,7 @@
 <translation id="7273823081800296768">Εάν έχει ενεργοποιηθεί ή εάν δεν έχει διαμορφωθεί αυτή η πολιτική, οι χρήστες μπορούν να επιλέξουν να γίνεται σύζευξη των υπολογιστών-πελατών και των κεντρικών υπολογιστών στο χρόνο της σύνδεσης, περιορίζοντας την ανάγκη εισαγωγής κωδικού PIN κάθε φορά.
 
           Εάν απενεργοποιηθεί αυτή η πολιτική, αυτή η λειτουργία δεν θα είναι διαθέσιμη.</translation>
+<translation id="7274077256421167535">Ενεργοποίηση κοινής χρήσης ενέργειας USB</translation>
 <translation id="7275334191706090484">Διαχειριζόμενοι σελιδοδείκτες</translation>
 <translation id="7291084543582732020">Εάν ενεργοποιήσετε αυτήν τη ρύθμιση, δεν θα επιτρέπεται στους χρήστες να χρησιμοποιούν το Smart Lock, αν ικανοποιούνται οι απαιτήσεις για τη λειτουργία.
 
@@ -3278,6 +3429,7 @@
 
           Αυτή η πολιτική τηρείται μόνο αν είναι ενεργοποιημένη η πολιτική "DefaultSearchProviderEnabled".</translation>
 <translation id="7302043767260300182">Καθυστέρηση κλειδώματος οθόνης κατά τη λειτουργία με εναλλασσόμενο ρεύμα</translation>
+<translation id="7305262223970835999">Επιτρέπει την αλλαγή κωδικού πρόσβασης για τους χρήστες SAML σε μια σελίδα κατά τη διάρκεια της περιόδου σύνδεσης.</translation>
 <translation id="7311458740754205918">Εάν αυτή η πολιτική οριστεί αληθής ή δεν οριστεί, η Σελίδα σε νέα καρτέλα ενδέχεται να εμφανίζει προτάσεις περιεχομένου που βασίζονται στο ιστορικό περιήγησης, τα ενδιαφέροντα ή την τοποθεσία του χρήστη.
 
       Εάν αυτή η πολιτική οριστεί μη αληθής, δεν εμφανίζονται στη Σελίδα σε νέα καρτέλα προτάσεις περιεχομένου που δημιουργούνται αυτόματα.</translation>
@@ -3404,6 +3556,15 @@
       Αν η τιμή της πολιτικής είναι 0, θα χρησιμοποιηθεί το προεπιλεγμένο μέγεθος κρυφής μνήμης, αλλά ο χρήστης δεν θα μπορεί να το αλλάξει.
 
       Αν η πολιτική δεν έχει οριστεί, θα χρησιμοποιηθεί το προεπιλεγμένο μέγεθος και ο χρήστης θα μπορεί να το παρακάμψει με τη χρήση της επισήμανσης --disk-cache-size.</translation>
+<translation id="759389052790680884">Ορίστε το ποσοστό διακοπής φόρτισης για την προσαρμοσμένη φόρτιση μπαταρίας.
+
+          Η φόρτιση της μπαταρίας θα σταματά όταν το επίπεδο φόρτισης της μπαταρίας φτάσει στην καθορισμένη τιμή διακοπής φόρτισης για την προσαρμοσμένη φόρτιση μπαταρίας.
+
+          Η τιμή DeviceBatteryChargeCustomStartCharging πρέπει να είναι μικρότερη από την τιμή DeviceBatteryChargeCustomStopCharging.
+
+          Αυτή η πολιτική χρησιμοποιείται μόνο εάν η πολιτική DeviceBatteryChargeMode οριστεί ως προσαρμοσμένη.
+
+          Εάν αυτή η πολιτική δεν διαμορφωθεί ή δεν οριστεί καθόλου, χρησιμοποιείται η τυπική λειτουργία φόρτισης μπαταρίας.</translation>
 <translation id="759957074386651883">Ρυθμίσεις Ασφαλούς περιήγησης</translation>
 <translation id="7604169113182304895">Οι εφαρμογές Android ενδέχεται να επιλέξουν οικειοθελώς να ακολουθήσουν αυτήν τη λίστα. Δεν μπορείτε να τους επιβάλετε να την ακολουθήσουν.</translation>
 <translation id="7612157962821894603">Επισημάνσεις σε ολόκληρο το σύστημα που θα εφαρμόζονται κατά την εκκίνηση του <ph name="PRODUCT_NAME" /></translation>
@@ -3482,6 +3643,15 @@
 <translation id="7712109699186360774">Να γίνεται ερώτηση κάθε φορά που ένας ιστότοπος ζητά πρόσβαση στην κάμερα ή/και το μικρόφωνο</translation>
 <translation id="7713608076604149344">Περιορισμοί λήψης</translation>
 <translation id="7715711044277116530">Ποσοστό κατά το οποίο προσαρμόζεται η καθυστέρηση μείωσης φωτεινότητας στη λειτουργία παρουσίασης</translation>
+<translation id="7716781462866245042">Ορίστε τη διαμόρφωση ημέρας για τη σύνθετη λειτουργία φόρτισης μπαταρίας.
+
+          Αυτή η πολιτική χρησιμοποιείται μόνο όταν η πολιτική DeviceAdvancedBatteryChargeModeEnabled έχει οριστεί ως true.
+
+          Εάν αυτή η πολιτική δεν διαμορφωθεί ή δεν οριστεί καθόλου, η σύνθετη λειτουργία φόρτισης μπαταρίας θα είναι πάντα απενεργοποιημένη.
+
+          Σημείωση: Η τιμή <ph name="CHARGE_START_TIME_FIELD_NAME" /> πρέπει να είναι μικρότερη από την τιμή <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Σημείωση: Οι επιτρεπόμενες τιμές <ph name="MINUTE_FIELD_NAME" /> στα πεδία <ph name="CHARGE_START_TIME_FIELD_NAME" /> και <ph name="CHARGE_END_TIME_FIELD_NAME" /> είναι 0, 15, 30 ή 45.</translation>
 <translation id="7717938661004793600">Διαμόρφωση λειτουργιών προσβασιμότητας <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Αυτή η πολιτική ενεργοποιεί το HTTP/0.9 σε θύρες εκτός της θύρας 80 για HTTP και της θύρας 443 για HTTPS.
 
@@ -3555,6 +3725,7 @@
       Καθορίζει το αναγνωριστικό της επέκτασης που θα χρησιμοποιηθεί ως προφύλαξη οθόνης της οθόνης σύνδεσης. Η επέκταση θα πρέπει να αποτελεί τμήμα του AppPack το οποίο διαμορφώνεται για αυτόν τον τομέα μέσω της πολιτικής DeviceAppPack.</translation>
 <translation id="7882857838942884046">Η απενεργοποίηση του Google Sync θα έχει ως αποτέλεσμα η λειτουργία δημιουργίας αντιγράφων ασφαλείας και επαναφοράς Android να μην λειτουργεί σωστά.</translation>
 <translation id="7882890448959833986">Καταστολή προειδοποίησης μη υποστηριζόμενου λειτουργικού συστήματος</translation>
+<translation id="7895553628261067384">Απομακρυσμένη πρόσβαση</translation>
 <translation id="7902255855035461275">Τα μοτίβα σε αυτήν τη λίστα θα αντιστοιχιστούν με την προέλευση ασφαλείας του URL 
       που στέλνει το αίτημα.  Εάν εντοπιστεί αντιστοίχιση, θα παραχωρείται πρόσβαση
       στις συσκευές καταγραφής ήχου χωρίς ερώτηση.
@@ -3568,6 +3739,11 @@
 <translation id="7937491150792971922">Συγχώνευση πολιτικών λίστας εγκατάστασης επεκτάσεων από πολλές πηγές</translation>
 <translation id="7937766917976512374">Αποδοχή ή απόρριψη της καταγραφής βίντεο</translation>
 <translation id="7941975817681987555">Να μην προβλέπονται ενέργειες δικτύου σε κάθε σύνδεση δικτύου</translation>
+<translation id="7952007677054834789">Ορίζει τις σελίδες που θα φορτώνονται κατά την εκκίνηση, την προεπιλεγμένη αρχική σελίδα και την προεπιλεγμένη σελίδα νέας καρτέλας στο <ph name="PRODUCT_NAME" /> και απαγορεύει την αλλαγή αυτών των σελίδων από τους χρήστες.
+
+      Οι ρυθμίσεις αρχικής σελίδας του χρήστη μπορούν να κλειδωθούν εντελώς μόνο εάν επιλέξετε ως αρχική σελίδα τη νέα σελίδα καρτέλας ή εάν επιλέξετε ότι η αρχική σελίδα θα είναι ένα URL και ορίσετε το συγκεκριμένη URL αρχικής σελίδας. Εάν δεν ορίσετε το URL αρχικής σελίδας, ο χρήστης θα μπορεί να επιλέξει ως αρχική σελίδα τη νέα σελίδα καρτέλας ορίζοντας τη διεύθυνση chrome://newtab.
+
+      Η πολιτική "URL για άνοιγμα κατά την εκκίνηση" παραβλέπεται εκτός εάν επιλέξετε "Άνοιγμα μιας λίστας URL" ως Ενέργεια κατά την εκκίνηση.</translation>
 <translation id="7952958573604504839">Αυτή η πολιτική καταργήθηκε στο M48 έναντι του <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> και αφαιρέθηκε στο M54.
 
       Ενεργοποιεί την πρόβλεψη δικτύου στο προϊόν <ph name="PRODUCT_NAME" /> και αποτρέπει τη δυνατότητα αλλαγής αυτής της ρύθμισης από τους χρήστες.
@@ -3711,6 +3887,7 @@
 <translation id="8176035528522326671">Να επιτρέπεται στον εταιρικό χρήστη να είναι τόσο κύριος όσο και δευτερεύων (προεπιλεγμένη συμπεριφορά για εταιρικούς, διαχειριζόμενους χρήστες)</translation>
 <translation id="8214600119442850823">Διαμορφώνει τη διαχείριση κωδικού πρόσβασης.</translation>
 <translation id="8217516105848565518">Αυτή η πολιτική έχει καταργηθεί. Χρησιμοποιήστε εναλλακτικά την πολιτική RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">Ενεργοποίηση σουιτών κρυπτογράφησης RC4 στο TLS</translation>
 <translation id="8244525275280476362">Μέγιστη καθυστέρηση ανάκτησης μετά από ακύρωση πολιτικής</translation>
 <translation id="8256688113167012935">Ελέγχει το όνομα του λογαριασμού που εμφανίζει το <ph name="PRODUCT_OS_NAME" /> στην οθόνη σύνδεσης για τον αντίστοιχο τοπικό λογαριασμό συσκευής.
 
@@ -3751,6 +3928,7 @@
 <translation id="8312129124898414409">Σας επιτρέπει να ορίσετε αν επιτρέπεται στους ιστότοπους να χρησιμοποιούν τη δημιουργία κλειδιού. Η χρήση της δημιουργίας κλειδιού μπορεί να επιτρέπεται σε όλους τους ιστότοπους ή να απαγορεύεται για όλους τους ιστότοπους.
 
           Αν δεν οριστεί αυτή η πολιτική, θα χρησιμοποιηθεί η πολιτική "BlockKeygen" και ο χρήστης θα μπορεί να την αλλάξει.</translation>
+<translation id="8320149248919453401">Λειτουργία φόρτισης μπαταρίας</translation>
 <translation id="8329984337216493753">Αυτή η λειτουργία είναι ενεργή μόνο σε εμπορική λειτουργία.
 
       Εάν η πολιτική "DeviceIdleLogoutTimeout" έχει καθοριστεί, τότε καθορίζει τη διάρκεια του πλαισίου προειδοποίησης με ένα χρονόμετρο αντίστροφης μέτρησης το οποίο εμφανίζεται στον χρήστη πριν από την εκτέλεση της αποσύνδεσης.
@@ -3916,6 +4094,7 @@
       Εάν δεν οριστεί, η προεπιλεγμένη περίοδος των 345.600.000 χιλιοστών του δευτερολέπτου (τέσσερις ημέρες) χρησιμοποιείται για συσκευές <ph name="PRODUCT_OS_NAME" /> και η περίοδος των 604.800.000 χιλιοστών του δευτερολέπτου (μία εβδομάδα) χρησιμοποιείται για <ph name="PRODUCT_NAME" />.</translation>
 <translation id="8685024486845674965">Η προειδοποίηση προστασίας κωδικού πρόσβασης ενεργοποιείται από την επαναχρησιμοποίηση του κωδικού πρόσβασης</translation>
 <translation id="8693243869659262736">Χρήση ενσωματωμένου προγράμματος-πελάτη DNS</translation>
+<translation id="8698286761337647563">Ορίζει πόσες ημέρες πριν λήξει ο κωδικός πρόσβασής τους θα ειδοποιούνται οι χρήστες SAML.</translation>
 <translation id="8703488928438047864">Αναφορά κατάστασης πίνακα</translation>
 <translation id="8703872185032220081">Ορισμός διαμόρφωσης ημέρας για τη λειτουργία ισχύος Peak Shift.
 
@@ -3968,6 +4147,7 @@
       Εάν αυτή η ρύθμιση είναι απενεργοποιημένη ή δεν έχει οριστεί, τότε η υπηρεσία προστασίας κωδικού πρόσβασης θα οδηγεί τους χρήστες στη διεύθυνση https://myaccounts.google.com για να αλλάξουν τον κωδικό πρόσβασής τους.
       Αυτή η πολιτική είναι διαθέσιμη μόνο στις παρουσίες των Windows που συμμετέχουν σε κάποιον τομέα <ph name="MS_AD_NAME" /> ή παρουσίες Windows 10 Pro ή Enterprise που είναι εγγεγραμμένες για διαχείριση συσκευής.</translation>
 <translation id="8798099450830957504">Προεπιλογή</translation>
+<translation id="8800453707696044281">Ορισμός ποσοστού διακοπής φόρτισης για την προσαρμοσμένη φόρτιση μπαταρίας</translation>
 <translation id="8801680448782904838">Ειδοποίηση προς κάποιον χρήστη ότι συνιστάται ή απαιτείται επανεκκίνηση ενός προγράμματος περιήγησης ή επανεκκίνηση συσκευής</translation>
 <translation id="8818173863808665831">Αναφορά της γεωγραφικής τοποθεσίας της συσκευής.
 
@@ -4096,6 +4276,11 @@
       Αυτή η πολιτική επηρεάζει μόνο τους χρήστες που πραγματοποίησαν έλεγχο ταυτότητας μέσω SAML.
 
       Η τιμής της πολιτικής θα πρέπει να προσδιοριστεί σε δευτερόλεπτα.</translation>
+<translation id="9018338365267278833">Αυτή η πολιτική καταργεί τις επεκτάσεις που εμφανίζονται στη λίστα <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> ή στην πολιτική <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> και των οποίων η εγκατάσταση έχει αποκλειστεί. Επιπλέον, διαγράφει τα τοπικά δεδομένα χρήστη αυτών των επεκτάσεων.  Ανατρέξτε στην πολιτική απορρήτου ή στην πολιτική διατήρησης δεδομένων των επεκτάσεων για να μάθετε τι συμβαίνει με τα δεδομένα χρήστη που δεν αποθηκεύονται τοπικά.
+
+      Εάν η πολιτική ενεργοποιηθεί, οι επεκτάσεις που περιλαμβάνονται στις παραπάνω λίστες (εάν είναι ήδη εγκατεστημένες σε έναν υπολογιστή) θα καταργηθούν πλήρως (συμπεριλαμβανομένων των τοπικών δεδομένων χρήστη) από τον υπολογιστή.
+
+      Εάν η πολιτική απενεργοποιηθεί ή δεν οριστεί καθόλου, οι επεκτάσεις που περιλαμβάνονται στις παραπάνω λίστες (εάν είναι ήδη εγκατεστημένες σε έναν υπολογιστή και αναφέρονται στη λίστα αποκλεισμού <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />) θα απενεργοποιηθούν στον υπολογιστή και δεν θα απεγκατασταθούν.</translation>
 <translation id="9027787254195333560">Αυτή η πολιτική σάς επιτρέπει να διαμορφώσετε την εικόνα avatar που αντιπροσωπεύει τον χρήστη στην οθόνη σύνδεσης. Η πολιτική ορίζεται με καθορισμό του URL από το οποίο το <ph name="PRODUCT_OS_NAME" /> μπορεί να κατεβάσει την εικόνα avatar και έναν κρυπτογραφικό κατακερματισμό που χρησιμοποιείται για την επαλήθευση της ακεραιότητας της λήψης. Η εικόνα πρέπει να είναι σε μορφή JPEG και το μέγεθός της δεν πρέπει να υπερβαίνει τα 512 kB. Το URL πρέπει να είναι προσβάσιμο χωρίς έλεγχο ταυτότητας.
 
       Γίνεται λήψη της εικόνας avatar και αποθήκευση στην κρυφή μνήμη. Λαμβάνεται ξανά, όποτε αλλάζει το URL ή ο κατακερματισμός.
diff --git a/components/policy/resources/policy_templates_et.xtb b/components/policy/resources/policy_templates_et.xtb
index b5055721..4a1524d 100644
--- a/components/policy/resources/policy_templates_et.xtb
+++ b/components/policy/resources/policy_templates_et.xtb
@@ -54,6 +54,13 @@
 <translation id="1049138910114524876">Seadistab lokaadi, mis jõustatakse operatsioonisüsteemi <ph name="PRODUCT_OS_NAME" /> sisselogimisekraanil.
 
       Kui see reegel on määratud, kuvatakse sisselogimisekraan alati lokaadis, mis selle reegli esimese väärtusega määratakse (reegel on määratud suunamise ühilduvuse loendina). Kui seda reeglit pole määratud või see on tühi loend, kuvatakse sisselogimisekraan kasutaja viimase seansi lokaadis. Kui sellele reeglile on määratud väärtus, mis ei ole kehtiv lokaat, kuvatakse sisselogimisekraan varulokaadis (praegu en-US).</translation>
+<translation id="1052499923181221200">Kui reegel SamlInSessionPasswordChangeEnabled on seatud väärtusele Tõene, ei ole sellel reeglil mingit mõju.
+      Kui eelmainitud reegel on seatud väärtusele Tõene ja see reegel on seatud näiteks väärtusele 14, teavitatakse SAML-i kasutajaid parooli aegumiskuupäevast 14 päeva ette.
+      Seejärel saavad kasutajad kohe tegutseda, muutes seansisiseselt parooli enne, kui see aegub.
+      Neid märguandeid esitatakse ainult juhul, kui SAML-i identiteedi pakkuja saadab SAML-i sisselogimisvoo ajal seadmesse parooli aegumise teabe.
+      Kui reegli väärtuseks on määratud null, ei teavitata kasutajaid ette, vaid alles siis, kui parool on juba aegunud.
+
+      Kui reegel on määratud, ei saa kasutaja seda muuta ega alistada.</translation>
 <translation id="1062011392452772310">Seadme kaugatesteerimise lubamine</translation>
 <translation id="1062407476771304334">Asenda</translation>
 <translation id="1079801999187584280">Arendaja tööriistade kasutamise keelamine</translation>
@@ -216,6 +223,7 @@
       Kui reegel on lubatud, on Google'i assistendil luba ekraanikuva kontekstile juurde pääseda.
       Kui reegel on keelatud, ei ole Google'i assistendil lubatud ekraanikuva kontekstile juurde pääseda.
       Kui reegel on määramata, saavad kasutajad otsustada, kas lubada Google'i assistendil ekraanikuva kontekstile juurde pääseda</translation>
+<translation id="1376119291123231789">Aku laadimise täpsema režiimi lubamine</translation>
 <translation id="1383493480903114193">See reegel sundkäitab võrgustiku koodi brauseri protsessis.
 
       See reegel on vaikimisi keelatud. Kui see lubatakse, võib kasutajatel esineda turvalisuse probleeme, kui võrgustiku protsess toimub liivakastis.
@@ -317,6 +325,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Kolmanda osapoole tarkvara sisestamise blokeerimise lubamine</translation>
 <translation id="1504431521196476721">Kaugatesteerimine</translation>
+<translation id="1507382822467487898">
+          Määrab, millist MAC-aadressi (meediumipöörduse juhtimise aadress) kasutatakse, kui dokk on seadmega ühendatud.
+
+          Kui dokk on ühendatud teatud seadmemudelitega, kasutatakse seadme Ethernetis tuvastamiseks vaikimisi seadmele määratud doki MAC-aadressi. Reegel võimaldab administraatoril muuta MAC-aadressi allikat, kui seade on dokiga ühendatud.
+
+          Kui reegel on määramata või valitud on „DeviceDockMacAddress”, kasutatakse seadmele määratud doki MAC-aadressi.
+
+          Kui valitud on „DeviceNicMacAddress”, kasutatakse seadme NIC (võrguliidese kontroller) MAC-aadressi.
+
+          Kui valitud on „DockNicMacAddress”, kasutatakse doki NIC MAC-aadressi.
+
+          Kasutaja ei saa seda seadet muuta.</translation>
 <translation id="1507957856411744193">Kui reegel on seatud väärtusele Tõene, loob <ph name="PRODUCT_NAME" /> ühenduse Casti seadmetega kõigi IP-aadresside, mitte ainult RFC1918/RFC4193 privaatsete aadresside kaudu.
 
           Kui reegel on seatud väärtusele Väär, loob <ph name="PRODUCT_NAME" /> ühenduse Casti seadmetega ainult RFC1918/RFC4193 privaatsete aadresside kaudu.
@@ -755,6 +775,17 @@
 <translation id="2303795211377219696">Automaattäite lubamine krediitkaartide puhul</translation>
 <translation id="2309390639296060546">Geograafilise asukoha vaikeseade</translation>
 <translation id="2327252517317514801">G Suite'i kasutamise loaga domeenide määramine</translation>
+<translation id="2356878440219553005">Määrab aku laadimise režiimi toitehalduse reegli.
+
+          See võimaldab aku laadimist dünaamiliselt juhtida, et vähendada aku kulumist stressi tõttu ja pikendada aku tööiga.
+
+          Kui valitud on kohandatud aku laadimise režiim, tuleb määrata reeglid DeviceBatteryChargeCustomStartCharging ja DeviceBatteryChargeCustomStopCharging.
+
+          Kui reegel on määratud, rakendatakse aku laadimise režiim eeldusel, et seade toetab seda.
+
+          Kui reegel on määramata ja seade toetab reeglit, rakendatakse standardne aku laadimise režiim ja kasutaja ei saa seda muuta.
+
+          Märkus. Kui <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> on määratud, alistab see selle reegli.</translation>
 <translation id="237494535617297575">Võimaldab määrata URL-i mustrite loendi, mis määrab saidid, millel on lubatud kuvada märguandeid.
 
           Kui jätate selle reegli määramata, siis kasutatakse kõikide saitide puhul globaalset vaikeväärtust, mis pärineb reeglist „DefaultNotificationsSetting”, kui see on määratud, või kasutaja isiklikku konfigureerimist.</translation>
@@ -792,6 +823,7 @@
 
       Kui reegli väärtuseks on seatud Väär, siis ei saa nullviivitusega automaatset sisselogimist vahele jätta (kui see on konfigureeritud).</translation>
 <translation id="2454228136871844693">Stabiilsuse optimeerimine.</translation>
+<translation id="2463034609187171371">TLS-is DHE šifreerimiskomplektide lubamine</translation>
 <translation id="2463365186486772703">Rakenduse lokaat</translation>
 <translation id="2466131534462628618">Hõiveportaali autentimisel puhverserveri eiramine</translation>
 <translation id="2482676533225429905">Omasõnumside</translation>
@@ -975,6 +1007,7 @@
 <translation id="2769952903507981510">Kaugjuurdepääsu hostidele nõutava domeeninime seadistamine</translation>
 <translation id="2787173078141616821">Saada teavet Androidi oleku kohta</translation>
 <translation id="2799297758492717491">Lubatud loendisse lisatud URL-i mustrite puhul meediasisu automaatesituse lubamine</translation>
+<translation id="2801155097555584385">Aku laadimise alguse kohandatud taseme määramine protsentides</translation>
 <translation id="2801230735743888564">Luba kasutajal mängida dinosauruse üllatusmängu, kui seade pole võrguga ühendatud.
 
       Kui selle reegli väärtuseks on määratud Väär, ei saa kasutajad dinosauruse üllatusmängu mängida, kui seade pole võrguga ühendatud. Kui seade väärtuseks on määratud Tõene, saavad kasutajad dinosaurusemängu mängida. Kui see reegel on määramata, ei saa kasutajad dinosauruse üllatusmängu mängida registreeritud Chrome OS-is, kuid saavad seda mängida muudel juhtudel.</translation>
@@ -1048,6 +1081,7 @@
       Kui keelate seade või jätate väärtuse määramata, kasutab printimise eelvaade vaikesihtkohana viimati kasutatud printerit.
 
       Kui lubate selle seade, kasutab printimise eelvaade vaikesihtkohana operatsioonisüsteemi vaikeprinterit.</translation>
+<translation id="285627849510728211">Aku laadimise täpsema režiimi päevaseadistuse määramine</translation>
 <translation id="2856674246949497058">Võimaldab naasta ja jääda sihtversioonile, kui operatsioonisüsteemi versioon on uuem kui sihtversioon. Tehke protsessi käigus Powerwash.</translation>
 <translation id="2872961005593481000">Lülita välja</translation>
 <translation id="2873651257716068683">Alistab prinditava lehe vaikesuuruse. Reeglit eiratakse, kui lehe suurus ei ole saadaval.</translation>
@@ -1182,12 +1216,26 @@
 <translation id="3072045631333522102">Ekraanisäästja, mida kasutatakse jaemüügirežiimis sisselogimiskuval</translation>
 <translation id="3072847235228302527">Teenusetingimuste määramine seadmes kasutatava konto jaoks</translation>
 <translation id="3077183141551274418">Lubab või keelab vahelehtede elutsüklid</translation>
+<translation id="3079417254871857650">Määrab toimingu, mis tehakse juhul, kui kasutaja juurkataloog loodi ecryptfs-krüpteerimisega.
+
+      Kui määrate reegli väärtuseks „DisallowArc”, on Androidi rakendused kasutaja jaoks keelatud ning üleminekut ecryptfs-krüpteerimiselt ext4-krüpteerimisele ei toimu. Androidi rakenduste käitamist ei takistata, kui juurkataloog kasutab juba ext4-krüpteerimist.
+
+      Kui määrate reegli väärtuseks „Migrate”, viiakse ecryptfs-krüpteerimisel põhinevad juurkataloogid sisselogimisel automaatselt üle ext4-krüpteerimisele ja seejuures ei küsita kasutaja nõusolekut.
+
+      Kui määrate reegli väärtuseks „Wipe”, kustutatakse ecryptfs-krüpteerimisel põhinevad juurkataloogid sisselogimisel ja nende asemel luuakse uued ext4-krüpteeritud juurkataloogid. Hoiatus. See eemaldab kasutaja kohalikud andmed.
+
+      Kui määrate reegli väärtuseks „MinimalMigrate”, kustutatakse ecryptfs-krüpteerimisel põhinevad juurkataloogid sisselogimisel ja nende asemel luuakse uued ext4-krüpteeritud juurkataloogid. Siiski püütakse säilitada sisselogimismärgid, et kasutaja ei peaks uuesti sisse logima. Hoiatus. See eemaldab kasutaja kohalikud andmed.
+
+      Kui määrate reegli jaoks valiku, mida enam ei toetata („AskUser” või „AskForEcryptfsArcUsers”), koheldakse seda nii, nagu oleksite määranud valiku „Migrate”.
+
+      Reegel ei kehti kioski kasutajatele. Kui reegel on määramata, käitub seade samamoodi kui seade „DisallowArc” valimisel.</translation>
 <translation id="3086995894968271156">Cast'i vastuvõtja seadistamine teenuses <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Võimaldab määrata URL-i mustrite loendi, mis määrab saidid, millel on lubatud kuvada pilte.
 
           Kui jätate selle reegli määramata, siis kasutatakse kõikide saitide puhul globaalset vaikeväärtust, mis pärineb reeglist „DefaultImagesSetting”, kui see on määratud, või kasutaja isiklikku konfigureerimist.
 
           Pange tähele, et reegel oli seni Androidis ekslikult lubatud, ent seda funktsiooni ei ole Androidis kunagi täielikult toetatud.</translation>
+<translation id="3091832372132789233">Peamiselt välise toiteallikaga ühendatud seadmete akude laadimine.</translation>
 <translation id="3096595567015595053">Lubatud pistikprogrammide loend</translation>
 <translation id="3101501961102569744">Valimine, kuidas määrata puhverserveri seaded</translation>
 <translation id="3101709781009526431">Kuupäev ja kellaaeg</translation>
@@ -1213,6 +1261,7 @@
           Kui seade keelatakse, kasutab teenus <ph name="PRODUCT_NAME" /> ainult süsteemi tasemel installitud omasõnumside hoste.
 
           Kui seadet ei määrata, lubab teenus <ph name="PRODUCT_NAME" /> kasutada kasutaja tasemel omasõnumside hoste.</translation>
+<translation id="3177802893484440532">Kohalike usaldusankrute puhul veebipõhiste OCSP/CRL-i kontrollide nõudmine</translation>
 <translation id="3185009703220253572">alates versioonist <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Androidi rakendused ei pääse juurde ettevõttevõtmetele. See reegel neid ei mõjuta.</translation>
 <translation id="3205825995289802549">Esmasel käivitamisel esimese brauseriakna maksimeerimine</translation>
@@ -1222,6 +1271,7 @@
 <translation id="3220624000494482595">Kui kioskirakendus on Androidi rakendus, ei juhi see operatsioonisüsteemi <ph name="PRODUCT_OS_NAME" /> versiooni, isegi kui reegli väärtuseks on määratud <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">URL-ide mustrid, millelt on lubatud installida laiendusi, rakendusi ja kasutaja skripte</translation>
 <translation id="3240609035816615922">Printeri seadistuse juurdepääsu reegel.</translation>
+<translation id="3240655340884151271">Doki sisseehitatud NIC MAC-aadress</translation>
 <translation id="3243309373265599239">Määrab aja, pärast mida hämardatakse võrgutoitega töötamisel ekraan, kui kasutaja pole midagi sisestanud.
 
           Kui selle reegli väärtuseks määratakse arv, mis on suurem kui null, määrab see aja, mille jooksul peab kasutaja olema tegevusetu, enne kui <ph name="PRODUCT_OS_NAME" /> ekraani hämardab.
@@ -1243,6 +1293,12 @@
       Kui seade on lubatud või seadistamata, saavad kasutajad lubada pilvprintimise puhverserveri Google'i kontoga autentides.
 
       Kui seade on keelatud, ei saa kasutajad puhverserverit lubada ja seadmel ei ole lubatud jagada printereid teenusega <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Lubab aadressiga chrome://password-change lehe, mis võimaldab SAML-i kasutajatel seansi ajal SAML-i parooli muuta. See tagab, et SAML-i parool ja seadme lukustuskuva parool on sünkroonitud.
+
+      Reegel lubab ka märguanded, mis annavad SAML-i kasutajatele parooli peatsest aegumisest teada, et nad saaksid kohe seansi ajal parooli muuta.
+      Neid märguandeid esitatakse ainult juhul, kui SAML-i identiteedi pakkuja saadab SAML-i sisselogimisvoo ajal seadmesse parooli aegumise teabe.
+
+      Kui reegel on määratud, ei saa kasutaja seda muuta ega alistada.</translation>
 <translation id="3322771899429619102">Võimaldab määrata URL-i mustrite loendi, mis määrab saidid, millel on lubatud kasutada võtmete loomist. Kui URL-i muster on loendis „KeygenBlockedForUrls”, alistab see need erandid.
 
           Kui jätate reegli määramata, kasutatakse kõikide saitide puhul globaalset vaikeväärtust, mis pärineb reeglist „DefaultKeygenSetting”, kui see on määratud, või kasutaja isiklikku seadistust.</translation>
@@ -1328,6 +1384,7 @@
 
           Kui see reegel on määratud olekule Väär või seda pole määratud, siis toimub toitehalduse viivituste ja seansi pikkuse limiidi aktiveerimine kohe, kui seanss algab.</translation>
 <translation id="3478024346823118645">Kustuta kasutaja andmed väljalogimisel</translation>
+<translation id="3480961938508521469">Aku tavakiirusel täislaadimine.</translation>
 <translation id="348495353354674884">Luba virtuaalne klaviatuur</translation>
 <translation id="3487623755010328395">
         Kui see reegel on määratud, üritab teenus <ph name="PRODUCT_NAME" /> end registreerida ja rakendada seotud pilvepõhised reeglid kõikidele profiilidele.
@@ -1373,6 +1430,8 @@
 <translation id="3547954654003013442">Puhverserveri seaded</translation>
 <translation id="355118380775352753">Alternatiivses brauseris avatavad veebisaidid</translation>
 <translation id="3554984410014457319">Google'i assistendile loa andmine kuulata häälega aktiveerimise fraasi</translation>
+<translation id="356579196325389849">Kasutajad saavad Chrome OS-i väljalaskekanalit seadistada</translation>
+<translation id="3575011234198230041">HTTP autentimine</translation>
 <translation id="3577251398714997599">Sekkuvate reklaamidega saitide reklaamiseaded</translation>
 <translation id="357917253161699596">Kasutajatel kasutajasertifikaatide haldamise lubamine</translation>
 <translation id="3583230441447348508">Määrab eelseadistatud failide võrguhoidlate loendi.
@@ -1403,6 +1462,7 @@
 
         Seda reeglit kasutatakse arvutites seadme ulatuses pilvereegli registreerimiseks ja selle saab määrata failiga Registry või GPO Windowsis, failiga plist Macis ja JSON-i reeglifailiga Linuxis.</translation>
 <translation id="3660562134618097814">SAML IdP küpsisefailide ülekandmine sisselogimisel</translation>
+<translation id="3668151900457104753">Musta nimekirja kantud laiendite desinstallimine</translation>
 <translation id="3701121231485832347">Haldab üksuse <ph name="MS_AD_NAME" /> hallatud operatsioonisüsteemiga <ph name="PRODUCT_OS_NAME" /> seadmete seadeid.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Üherealist välja enam ei toetata ja tulevikus see eemaldatakse. Hakake kasutama allolevat mitmerealist tekstivälja.)</translation>
 <translation id="3709266154059827597">Laienduste installimise musta nimekirja seadistamine</translation>
@@ -1484,6 +1544,16 @@
           Kui jätate reegli määramata, on ekraanil kuvatav klaviatuur algselt keelatud, kuid kasutaja saab selle igal ajal lubada.</translation>
 <translation id="382476126209906314">TalkGadgeti eesliite seadistamine kaugjuurdepääsu hostidele</translation>
 <translation id="3824972131618513497">Haldab toitehalduse ja taaskäivitamisega seotud seadeid.</translation>
+<translation id="3826475866868158882">Google'i asukohateenused on lubatud</translation>
+<translation id="3831054243924627613">Reegel juhib Androidi varundamise ja taastamise algset olekut.
+
+      Kui reegel on seadistamata või seatud väärtusele <ph name="BR_DISABLED" />, on Androidi varundamine ja taastamine algselt keelatud.
+
+      Kui reegel on seatud väärtusele <ph name="BR_ENABLED" />, on Androidi varundamine ja taastamine algselt lubatud.
+
+      Kui reegel on seatud väärtusele <ph name="BR_UNDER_USER_CONTROL" />, palutakse kasutajal valida, kas ta soovib Androidi varundamise ja taastamise funktsiooni kasutada. Kui kasutaja lubab taastamise ja varundamise, laaditakse ühilduvate Androidi rakenduste andmed üles Androidi varundusserveritesse ja need taastatakse rakenduste uuesti installimisel.
+
+      Pange tähele, et see reegel juhib Androidi varundamise ja taastamise olekut ainult algseadistamisel. Pärast seda saab kasutaja Androidi seaded avada ning Androidi varundamise ja taastamise sisse/välja lülitada.</translation>
 <translation id="3831376478177535007">Kui see seade on lubatud, lubab teenus <ph name="PRODUCT_NAME" /> ettevõtte Symantec Corporation PKI pärandtoimingute väljastatud sertifikaate usaldada, kui need õnnestub valideerida ja tuvastatud CA-sertifikaadiga siduda.
 
       Arvestage sellega, et see reegel oleneb sellest, kas operatsioonisüsteem tuvastab Symanteci pärandtaristu sertifikaadid. Kui OS-i värskendus muudab selliste sertifikaatide käsitlemist OS-is, siis see reegel enam ei kehti. Lisaks on see reegel ajutine lahendus, et anda ettevõtetele rohkem aega Symanteci pärandsertifikaatide kasutamisest loobumiseks. See reegel eemaldatakse 2019. aasta 1. jaanuari paiku.
@@ -1567,6 +1637,15 @@
 
           Kui reeglit pole määratud või reegli olekuks on määratud Väär, siis saavad kasutajad teisaldada faile teenusesse Google Drive.</translation>
 <translation id="3915395663995367577">Puhverserveri pac-faili URL</translation>
+<translation id="3920892052017026701">Määrake aku laadimise alguse kohandatud tase protsentides.
+
+          Aku laadimine algab, kui aku tühjeneb kohandatud väärtuseni.
+
+          Reegli DeviceBatteryChargeCustomStartCharging väärtus peab olema väiksem kui reegli DeviceBatteryChargeCustomStopCharging väärtus.
+
+          Reeglit kasutatakse ainult juhul, kui reegel DeviceBatteryChargeMode on seatud kohandatud väärtusele.
+
+          Kui reegel on seadistamata või määramata, kasutatakse standardset aku laadimise režiimi.</translation>
 <translation id="3925377537407648234">Ekraani eraldusvõime ja skaleerimisteguri määramine</translation>
 <translation id="3939893074578116847">Võrgupaketid saadetakse veebioleku jälgimiseks haldusserverisse, et
       server saaks tuvastada, kui seade pole võrguga ühendatud.
@@ -1697,6 +1776,7 @@
 <translation id="4150201353443180367">Kuva</translation>
 <translation id="4157003184375321727">OS-ist ja püsivara versioonist teavitamine</translation>
 <translation id="4157594634940419685">CUPS-i omaprinteritele juurdepääsu lubamine</translation>
+<translation id="4160962198980004898">MAC-aadressi allikas ajal, mil seade on dokiga ühendatud</translation>
 <translation id="4163705126749612234">Seadistab nõutud kliendi domeeninimed kaugjuurdepääsuga klientidele ja takistab kasutajatel seda muuta.
 
           Kui seade on lubatud, saavad hostiga ühenduse luua ainult määratud domeenis olevad kliendid.
@@ -1773,6 +1853,7 @@
       Pange tähele, et reegel, mis sisaldab rakenduse ID-d, ei tähenda alati seda, et kasutaja saab rakenduse lubada lukustuskuval märkmete tegemise rakendusena. Näiteks Chrome'i versioonis 61 on saadaolevate rakenduste kogumi täiendavalt piiranud ka platvorm.
 
       Kui reegel jäetakse määramata, puuduvad piirangud rakenduste kogumile, mille kasutaja saab lukustuskuval reegliga lubada.</translation>
+<translation id="4313767483634435271">Seadme jaoks määratud doki MAC-aadress</translation>
 <translation id="4322842393287974810">Luba automaatselt käivitatud viivituseta kioskirakendusel juhtida operatsioonisüsteemi <ph name="PRODUCT_OS_NAME" /> versiooni</translation>
 <translation id="4325690621216251241">Lisa väljalogimisnupp süsteemisalve</translation>
 <translation id="4332177773549877617">Androidi rakenduse installimiste logisündmused</translation>
@@ -1804,6 +1885,7 @@
 <translation id="4360826270668210664">Kui reegel on määratud, nõuab kaugjuurdepääsu host, et kliendid hangiksid autentimiseks ja ühenduse loomiseks sellelt URL-ilt autentimisloa. Reeglit tuleb kasutada koos reegliga RemoteAccessHostTokenValidationUrl.
 
           Funktsioon on praegu serveris keelatud.</translation>
+<translation id="4363057787588706121">Eri allikatest pärinevate loendi reeglite liitmise lubamine</translation>
 <translation id="436581050240847513">Seadme võrguliidestest teatamine</translation>
 <translation id="4372704773119750918">Ärge lubage ettevõtte kasutajal olla osa multiprofiilist (esmane või teisene)</translation>
 <translation id="4377599627073874279">Luba kõikidel saitidel kõikide kujutiste kuvamine</translation>
@@ -1977,6 +2059,7 @@
 <translation id="4826326557828204741">Toiming, mis rakendub siis, kui tegevusetuse viivitusaeg saab täis akutoite kasutamise ajal</translation>
 <translation id="4832852360828533362">Kasutaja ja seadme aruandlus</translation>
 <translation id="4834526953114077364">Kõige kauem aega tagasi kasutanud kasutajad, kes ei ole viimase 3 kuu jooksul sisse loginud, eemaldatakse, kuni on piisavalt vaba ruumi</translation>
+<translation id="4835622243021053389">Lubab NTLMv2 autentimise.</translation>
 <translation id="4858735034935305895">Täisekraanrežiimi lubamine</translation>
 <translation id="4861767323695239729">Kasutajaseansis lubatud sisestusmeetodite seadistamine</translation>
 <translation id="487460824085252184">Üleviimine toimub automaatselt, kasutaja nõusolekut ei küsita.</translation>
@@ -2100,6 +2183,11 @@
 
       Erinevalt reeglist <ph name="URL_LIST_POLICY_NAME" /> kehtivad reeglid mõlemas suunas. See tähendab, et kui Internet Exploreri pistikprogramm on olemas ja lubatud, juhib see ka seda, kas<ph name="IE_PRODUCT_NAME" /> peaks avama URL-id rakenduses <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Vahelduvvooluga käivitamise lubamine</translation>
+<translation id="5131211790949066746">Lubab liita laienduste installimise loendi reeglid <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> ja <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" />.
+
+      Kui selle seade lubate, liidetakse seadme platvormi reegel, seadme pilve reegel ja kasutaja platvormi reegel üheks loendiks ning seda kasutatakse tervikuna, selle asemel, et kasutada ainult kõige kõrgema prioriteediga allika väärtusi.
+
+      Kui keelate seade või jätate selle määramata, kasutatakse ainult kõige kõrgema prioriteediga allika loendikandeid ja kõik teised allikad kuvatakse konfliktidena, kuid neid eiratakse.</translation>
 <translation id="5141670636904227950">Lubage ekraaniluubi vaiketüüp sisselogimisekraanil</translation>
 <translation id="5142301680741828703">Renderda alati rakenduses <ph name="PRODUCT_FRAME_NAME" /> järgmiste URL-ide mustrid</translation>
 <translation id="5148753489738115745">Võimaldab teil määrata täiendavad parameetrid, mida kasutatakse siis, kui <ph name="PRODUCT_FRAME_NAME" /> käivitab rakenduse <ph name="PRODUCT_NAME" />.
@@ -2219,6 +2307,7 @@
 
       Kui reeglit ei ole määratud või kui see on määratud tühjale stringile või kehtetule pordivahemikule, on WebRTC-l lubatud kasutada mis tahes saadaolevat kohalikku UDP-porti.</translation>
 <translation id="5290940294294002042">Määrake pistikprogrammide loend, mida kasutaja saab lubada või keelata</translation>
+<translation id="5306186200045823863">Symantec Corporationi pärand-PKI taristu usalduse lubamine</translation>
 <translation id="5307432759655324440">Inkognito režiimi saadavus</translation>
 <translation id="5318185076587284965">Luba kaugjuurdepääsuhostil kasutada releeservereid</translation>
 <translation id="5323128137188992869">Sisu lubatakse teenuse <ph name="PRODUCT_NAME" /> kaudu seadmesse üle kanda.
@@ -2321,6 +2410,7 @@
       Kui reeglid on omavahel vastuolus, kasutab <ph name="PRODUCT_NAME" /> kõige üksikasjalikumat reeglit.</translation>
 <translation id="5475361623548884387">Luba printimine</translation>
 <translation id="547601067149622666">Ära luba sekkuvate reklaamidega saitidel reklaame</translation>
+<translation id="5483065054530244863">Luba SHA-1-ga allkirjastatud sertifikaadid, mille on väljastanud kohalikud usaldusankrud</translation>
 <translation id="5483777239978559943">See reegel on aegunud. Flashi pistikprogrammi saadavaloleku juhtimiseks kasutage reeglit <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> ja reegliga <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> saate juhtida, kas PDF-failide avamiseks tuleks kasutada integreeritud PDF-vaaturit.
 
       Määrab loendi pistikprogrammidest, mille kasutaja saab rakenduses <ph name="PRODUCT_NAME" /> lubada või keelata.
@@ -2436,6 +2526,17 @@
           Kui lubate reegli või jätate selle määramata, siis saavad kasutajad paroolihalduris paroole tavatekstina vaadata.</translation>
 <translation id="5620392548325769024">Tervituslehe kuvamise lubamine brauseri esmakordsel käivitamisel pärast operatsioonisüsteemi täiendamist</translation>
 <translation id="5630352020869108293">Viimase seansi taastamine</translation>
+<translation id="5643906875497889108">Määrab, millist tüüpi rakendusi/laiendusi on lubatud installida, ja piirab käitusaja juurdepääsu.
+
+          See seade lisab lubatud loendisse laiendused/rakendused, mille saab rakendusse <ph name="PRODUCT_NAME" /> installida, ja määrab, millist hostidega need suhelda saavad. Väärtus on stringide loend, millest igaüks peab olema üks järgmistest. "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app". Vaadake nende tüüpide kohta lisateavet rakenduse <ph name="PRODUCT_NAME" /> laienduste dokumentidest.
+
+          Pange tähele, et reegel mõjutab ka laiendusi ja rakendusi, mis sundinstallitakse reegli ExtensionInstallForcelist alusel.
+
+          Kui seade on määratud, ei installita laiendusi/rakendusi, mille tüüp puudub loendist.
+
+          Kui seade on määramata, ei jõustata aktsepteeritavate laienduste/rakenduste tüüpide piiranguid.
+
+          75. versioonist varasemates versioonides ei toetata mitut komaeraldusega laienduse ID-d ja need jäetakse vahele. Ülejäänud reegel siiski kehtib.</translation>
 <translation id="5645779841392247734">Luba küpsised nendel saitidel</translation>
 <translation id="5689430183304951538">Prinditava lehe vaikesuurus</translation>
 <translation id="5693469654327063861">Luba andmete üleviimine</translation>
@@ -2475,6 +2576,7 @@
 <translation id="5765780083710877561">Kirjeldus:</translation>
 <translation id="5770738360657678870">Arendaja kanal (võib olla ebastabiilne)</translation>
 <translation id="5774856474228476867">Vaikeotsingupakkuja otsingu URL</translation>
+<translation id="5775235485119094648">Akut laaditakse, kui see on määratud vahemikus.</translation>
 <translation id="5776485039795852974">Küsi iga kord, kui sait tahab näidata töölauateatisi</translation>
 <translation id="5781412041848781654">Määrab GSSAPI kogu, mida kasutatakse HTTP autentimiseks. Võite määrata vaid kogu nime või kogu tee.
 
@@ -2542,6 +2644,7 @@
 <translation id="5893553533827140852">Kui see seade on lubatud, siis edastatakse gnubby autentimistaotlused puhverserverisse kaughosti ühenduse abil.
 
           Kui see seade on keelatud või seadistamata, siis ei edastata gnubby autentimistaotlusi puhverserveri abil.</translation>
+<translation id="5897913798715600338">Aku laadimiseks kasutatakse kiirlaadimise tehnoloogiat.</translation>
 <translation id="5898486742390981550">Kui sisse on loginud mitu kasutajat, saab Androidi rakendusi kasutada ainult peamine kasutaja.</translation>
 <translation id="5900196529149231477">
       See reegel kehtib sisselogimiskuval. Vaadake ka reeglit <ph name="ISOLATE_ORIGINS_POLICY_NAME" />, mis kehtib kasutajaseansi puhul. Soovitatav on mõlemale reeglile määrata sama väärtus. Kui väärtused ei ühti, võib kasutajareegliga määratud väärtuse rakendamisel esineda kasutajaseanssi sisenemisel viivitusi.
@@ -2551,12 +2654,14 @@
       Kui reegel on seadistamata, kasutatakse sisselogimiskuval platvormi saitide isoleerimise vaikeseadeid.
       </translation>
 <translation id="5901427587865226597">Ainult dupleksprintimine</translation>
+<translation id="5905473632148429217">Luba veebipõhised OCSP/CRL-i kontrollid</translation>
 <translation id="5906199912611534122">Võimaldab lubada või keelata võrguühenduse piiramise.
       See kehtib kõigi kasutajate ja seadme kõigi liideste puhul. Pärast määramist
       on piirang aktiivne, kuni see reeglis keelatakse.
 
       Kui reegel on määratud väärtusele Väär, ei ole võrguühendus piiratud.
       Kui reegel on määratud väärtusele Tõene, on süsteem piiratud, et järgida määratud üles- ja allalaadimiskiirust (kbit/s).</translation>
+<translation id="591088232153082363">Aku kohanduv laadimine akukaustuse mustri alusel.</translation>
 <translation id="5921713479449475707">Automaatsete allalaadimiste lubamine HTTP kaudu</translation>
 <translation id="5921888683953999946">Sisselogimisekraanil suure kursori hõlbustusfunktsiooni vaikeoleku määramine.
 
@@ -2578,6 +2683,7 @@
 <translation id="5950205771952201658">Kuna veebipõhised softfail-tühistamiskontrollid ei suurenda turvalisust, keelatakse need vaikimisi toote <ph name="PRODUCT_NAME" /> 19. versioonis ja hilisemates versioonides. Kui seate reegli olekuks Tõene, taastatakse varasem käitumine ja kasutatakse veebipõhiseid OCSP-/CRL-kontrolle.
 
       Kui jätate reegli määramata või seate selle olekuks Väär, ei tee <ph name="PRODUCT_NAME" /> 19. versioonis ja hilisemates versioonides toote <ph name="PRODUCT_NAME" /> veebipõhiseid tühistamiskontrolle.</translation>
+<translation id="5961137303188584693">Seadme sisseehitatud NIC MAC-aadress</translation>
 <translation id="5966615072639944554">Kaugatesteerimise API kasutamiseks lubatud laiendused</translation>
 <translation id="5983708779415553259">Mitte ühessegi sisupaketti kuuluvate saitide vaikekäitumine</translation>
 <translation id="5997543603646547632">Vaikimisi 24-tunnise kella kasutamine</translation>
@@ -2668,6 +2774,17 @@
 <translation id="6111936128861357925">Luba dinosauruse üllatusmäng</translation>
 <translation id="6114416803310251055">iganenud</translation>
 <translation id="6133088669883929098">Luba kõikidel saitidel võtmeid luua</translation>
+<translation id="6136537398661737682">Reegel juhib Google'i asukohateenuste algset olekut.
+
+      Kui reegel on seadistamata või seatud väärtusele <ph name="GLS_DISABLED" />, on Google'i asukohateenused algselt keelatud.
+
+      Kui reegel on seatud väärtusele <ph name="GLS_ENABLED" />, on Google'i asukohateenused algselt lubatud.
+
+      Kui reegel on seatud väärtusele <ph name="GLS_UNDER_USER_CONTROL" />, küsitakse kasutajalt, kas ta soovib Google'i asukohateenuseid kasutada. See lubab Androidi rakendustel kasutada teenuseid seadme asukoha kohta päringute esitamiseks, samuti lubatakse Google'ile anonüümsete asukohaandmete saatmine.
+
+      Pange tähele, et reegel määrab Google'i asukohateenuste oleku ainult algseadistuse ajal. Pärast seda saab kasutaja Androidi seaded avada ja Google'i asukohateenused sisse/välja lülitada.
+
+      Pange tähele, et kui reegel <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> on seatud väärtusele <ph name="BLOCK_GEOLOCATION_SETTING" />, siis seda reeglit eiratakse ja Google'i asukohateenused on alati keelatud.</translation>
 <translation id="6141402445226505817">Alati ligikaudse ajavööndi tuvastamise kasutamine</translation>
 <translation id="6145799962557135888">Võimaldab määrata URL-i mustrite nimekirja, mis määrab saidid, millel on lubatud käitada JavaScripti.
 
@@ -2742,9 +2859,17 @@
       Reegli keelamisel automaatselt täidetud vormi andmeid ei impordita.
 
       Kui jätate selle reegli määramata, siis võidakse kasutajalt küsida, kas ta soovib importida, või võib importimine toimuda automaatselt.</translation>
+<translation id="6221175752766085998">Luba kohalike usaldusankrute väljastatud sertifikaadid ilma laiendusega subjectAlternativeName</translation>
 <translation id="6224304369267200483">URL-id/domeenid, millel on turvavõtme otsene atesteerimine automaatselt lubatud</translation>
 <translation id="6233173491898450179">Määra allalaadimiskataloog</translation>
 <translation id="6244210204546589761">Käivitamisel avatavad URL-id</translation>
+<translation id="6255387031094435995">Lubab valitud reeglite liitmise, kui need pärinevad eri allikatest ning neil on sama ulatus ja tase.
+
+        Kui reegel on loendis ja kahe allika vahel, millel on sama ulatus ja tase, ilmneb konflikt, liidetakse väärtused uude reegliloendisse.
+
+        Kui reegel on loendis ja kahe allika vahel, millel on erinev ulatus ja tase, ilmneb konflikt, liidetakse rakendatakse kõrgeima prioriteediga reegel.
+
+        Kui reegel puudub loendist ning allikate, ulatuste ja/või tasemete vahel ilmneb konflikt, rakendatakse kõrgeima prioriteediga reegel.</translation>
 <translation id="6258193603492867656">Määrab, kas Kerberose SPN peab hõlmama ebastandardset porti.
 
           Seade lubamisel ja ebastandardse pordi sisestamisel (nt muu port kui 80 või 443) lisatakse see loodud Kerberose SPN-i.
@@ -2946,6 +3071,7 @@
 <translation id="6757438632136860443">Võimaldab määrata URL-i mustrite loendi, mis määrab saidid, millel on lubatud pistikprogrammi <ph name="FLASH_PLUGIN_NAME" /> käitada.
 
           Kui jätate selle reegli määramata, kasutatakse kõikide saitide puhul globaalset vaikeväärtust, mis pärineb reeglist „DefaultPluginsSetting” (kui see on määratud) või kasutaja isiklikust seadistusest.</translation>
+<translation id="6757613329154374267">Varundamine ja taastamine on lubatud</translation>
 <translation id="6762235610019366960">Võimaldab teil teenuses <ph name="PRODUCT_NAME" /> hallata kogu vahelehel esitatavat reklaam- ja/või hariduslikku sisu.
 
       Kui see on seadistamata või lubatud (valikul Tõene), võib teenus <ph name="PRODUCT_NAME" /> kuvada kasutajatele kogu vahelehel esitatavat sisu, et toote kohta teavet anda.
@@ -2968,6 +3094,7 @@
       String võib sisaldada muutujaid ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, mis asendatakse seadmes väärtustega enne hostinimena kasutamist. Nende asendamisel peaks tekkima kehtiv hostinimi (eeskirja RFC 1035 jaotise 3.1 kohaselt).
 
       Kui see reegel on määramata või pärast asendamist tekkiv väärtus ei ole kehtiv hostinimi, siis DHCP-päringus hostinime ei määrata. </translation>
+<translation id="6833988859168635883">Käivitamisel avatav leht, avaleht ja uus vaheleht</translation>
 <translation id="6835883744948188639">Kuva kasutajale korduv viip, mis näitab, et taaskäivitamine on soovitatav</translation>
 <translation id="6837480141980366278">Määrab, kas rakenduses <ph name="PRODUCT_NAME" /> kasutatakse sisseehitatud DNS-i klienti.
 
@@ -3082,6 +3209,17 @@
 
       Kui ekraani hämardamine algab, uurib nutikas hämardamismudel, kas ekraani hämardamine tuleks edasi lükata. Kui nutikas hämardamismudel lükkab ekraani hämardamise edasi, pikendatakse sisuliselt aega, mille möödudes ekraan hämardatakse. Sel juhul reguleeritakse ka ekraani väljalülitamise, lukustamise ja tegevusetuse viiteaegu, et järgida algselt seadistatud hämardamisviivitust.
       Kui reegel on määramata või seatud väärtusele Tõene, lubatakse nutikas hämardamismudel ja ekraani hämardamiseni kuluva aja pikendamine. Kui reegel on seatud väärtusele Väär, ei mõjuta nutikas hämardamismudel ekraani hämardamist.</translation>
+<translation id="6967394885063085697">Võimaldab lubada aku laadimise täpsema režiimi toitehalduse reegli.
+
+          Aku laadimise täpsem režiim võimaldab kasutajatel maksimeerida aku seisukorda. Laadimise täpsemas režiimis kasutab süsteem töövälisel ajal standardset laadimisalgoritmi ja muid tehnikaid, et täiustada aku seisukorda. Tööajal kasutatakse kiirlaadimist. Kiirlaadimine võimaldab akut kiiremini laadida, mistõttu saab aku kiiremini täis. Algusaeg ja kestus määravad iga päeva puhul aja, mil süsteemi kõige rohkem kasutatakse.
+
+          Kui reegel on seatud väärtusele Tõene ja reegel DeviceAdvancedBatteryChargeModeDayConfig on määratud, on aku laadimise täpsem režiim alati lubatud eeldusel, et seade seda toetab.
+
+          Kui reegel on seatud väärtusele Väär, on aku laadimise täpsem režiim alati keelatud.
+
+          Kui määrate reegli, ei saa kasutajad seda muuta ega alistada.
+
+          Kui reegel on määramata, on aku laadimise täpsem režiim keelatud ja kasutaja ei saa seda lubada.</translation>
 <translation id="6972540544240464302">Tegumite ajakava koostaja seadistuse valimine</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="6994082778848658360">Määrab, kuidas kasutada sisseehitatud turvalist elementi kahe teguriga autentimise funktsiooni pakkumiseks, kui element ühildub selle funktsiooniga. Kasutaja füüsilise kohaloleku tuvastamiseks kasutatakse seadme toitenuppu.
@@ -3159,6 +3297,17 @@
       Kui lubate või keelate seade, ei saa kasutajad seda muuta ega alistada.
 
       Kui jätate reegli määramata, saavad kasutajad valida, kas nad soovivad seadme avamiseks parooli sisestada või mitte.</translation>
+<translation id="7107148737865880402">Võimaldab lubada USB toite jagamise toitehalduse reegli.
+
+          Teatud seadmetel on välgunoole või akuikooniga tähistatud USB-port, mida saab kasutada süsteemi aku abil seadmete, näiteks mobiiltelefonide laadimiseks. Reegel mõjutab pordi laadimiskäitumist ajal, mil süsteem on väljalülitatud või unerežiimis. Reegel ei mõjuta muid USB-porte ja laadimiskäitumist ajal, mil süsteem on ärkvel.
+
+          Kui süsteem on ärkvel, on USB-pordi toide alati sisse lülitatud.
+
+          Kui reegel on seatud väärtusele Tõene ja süsteem on unerežiimis, lülitub USB-pordi toide sisse juhul, kui seade on ühendatud pistikupesaga või aku tase on &gt; 50%. Muidu on toide välja lülitatud.
+
+          Kui reegel on seatud väärtusele Tõene ja süsteem on välja lülitatud, lülitub USB-pordi toide sisse juhul, kui seade on ühendatud pistikupesaga. Muidu on toide välja lülitatud.
+
+          Kui reegel on määramata, on see lubatud ja kasutaja ei saa seda keelata.</translation>
 <translation id="7115494316187648452">Määrab, kas brauseri <ph name="PRODUCT_NAME" /> protsess käivitub operatsioonisüsteemi sisselogimisel ja jätkab töötamist pärast viimase brauseriakna sulgemist. Sel juhul võivad taustarakendused ja praegune sirvimisseanss, sh seansipõhised küpsisefailid, jääda aktiivseks. Taustaprotsess kuvab süsteemisalves ikooni, mis võimaldab protsessi igal ajal sulgeda.
 
       Kui reegel on seatud väärtusele Tõene, on taustarežiim lubatud ja kasutaja ei saa seda brauseri seadetes muuta.
@@ -3208,6 +3357,7 @@
           Kui reegel on määramata või seatud väärtusele Tõene, järgitakse toitehalduse puhul ekraani äratuslukke, v.a juhul, kui AllowWakeLocks on seatud väärtusele Väär.
 
           Kui reegel on seatud väärtusele Väär, eiratakse äratuslukutaotlusi.</translation>
+<translation id="7177857088692019405">Kiire avamine</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Värskenduste jaoks lubatud ühenduse tüübid</translation>
 <translation id="7194407337890404814">Vaikeotsingupakkuja nimi</translation>
@@ -3272,6 +3422,7 @@
 <translation id="7273823081800296768">Kui see seade on lubatud või seadistamata, siis saavad kasutajad kliente ja hoste ühenduse ajal siduda, nii ei pea iga kord sisestama PIN-koodi.
 
           Kui see seade on keelatud, siis pole funktsioon saadaval.</translation>
+<translation id="7274077256421167535">USB toite jagamise lubamine</translation>
 <translation id="7275334191706090484">Hallatud järjehoidjad</translation>
 <translation id="7291084543582732020">Kui lubate selle seade, lubatakse kasutajatel Smart Locki kasutada, kui funktsiooni kasutamise nõuded on täidetud.
 
@@ -3285,6 +3436,7 @@
 
           See reegel kehtib vaid siis, kui reegel „DefaultSearchProviderEnabled” on lubatud.</translation>
 <translation id="7302043767260300182">Ekraani lukustamise viiteaeg võrgutoite kasutamisel</translation>
+<translation id="7305262223970835999">Lubab lehe jaoks SAML-i kasutajate parooli seansisisese muutmise.</translation>
 <translation id="7311458740754205918">Kui selle väärtuseks määratakse Tõene või seda ei määrata, võidakse uuel vahelehel näidata sisu soovitusi kasutaja sirvimisajaloo, huvide või asukoha põhjal.
 
       Kui selle väärtuseks määratakse Väär, ei näidata uuel vahelehel automaatselt loodud sisu soovitusi.</translation>
@@ -3411,6 +3563,15 @@
       Kui reegli väärtus on 0, siis kasutatakse vahemälu vaikemahtu, kuid kasutaja ei saa seda muuta.
 
       Kui reeglit pole määratud, siis kasutatakse vaikemahtu ja kasutaja saab selle alistada märgendiga --ketta-vahemälu-maht.</translation>
+<translation id="759389052790680884">Määrake aku laadimise katkestamise kohandatud tase protsentides.
+
+          Aku laadimine katkeb, kui laetuse tase jõuab kohandatud väärtuseni.
+
+          Reegli DeviceBatteryChargeCustomStartCharging väärtus peab olema väiksem kui reegli DeviceBatteryChargeCustomStopCharging väärtus.
+
+          Reeglit kasutatakse ainult juhul, kui reegel DeviceBatteryChargeMode on seatud kohandatud väärtusele.
+
+          Kui reegel on seadistamata või määramata, kasutatakse standardset aku laadimise režiimi.</translation>
 <translation id="759957074386651883">Ohutu sirvimise seaded</translation>
 <translation id="7604169113182304895">Androidi rakendused võivad vabatahtlikult loendit järgida, ent te ei saa neid selleks sundida.</translation>
 <translation id="7612157962821894603">Süsteemiülesed märgistused, mis rakendatakse toote <ph name="PRODUCT_NAME" /> käivitamisel</translation>
@@ -3489,6 +3650,15 @@
 <translation id="7712109699186360774">Küsi iga kord, kui sait soovib pääseda kaamera ja/või mikrofoni juurde</translation>
 <translation id="7713608076604149344">Allalaadimise piirangud</translation>
 <translation id="7715711044277116530">Esitlusrežiimis ekraani tumenduse viivituse skaleerimise määr protsentides</translation>
+<translation id="7716781462866245042">Võimaldab määrata aku laadimise täpsema režiimi päevaseadistuse.
+
+          Seda reeglit kasutatakse vaid siis, kui atribuudi DeviceAdvancedBatteryChargeModeEnabled väärtuseks on määratud Tõene.
+
+          Kui reegel on määramata või seadistamata, on aku laadimise täpsem režiim alati keelatud.
+
+          Märkus. <ph name="CHARGE_START_TIME_FIELD_NAME" /> peab olema väiksem kui <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Märkus. Üksuste <ph name="CHARGE_START_TIME_FIELD_NAME" /> ja <ph name="CHARGE_END_TIME_FIELD_NAME" /> välja <ph name="MINUTE_FIELD_NAME" /> lubatud väärtused on 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">Seadistage teenuse <ph name="PRODUCT_OS_NAME" /> juurdepääsufunktsioonid.</translation>
 <translation id="7724994675283793633">See reegel lubab HTTP/0.9 portides, mis ei ole HTTP puhul 80 ja HTTPS-i puhul 443.
 
@@ -3562,6 +3732,7 @@
       Määrab laienduse ID, mida kasutatakse sisselogimisekraani ekraanisäästjana. Laiendus peab kuuluma AppPacki, mis on seadistatud domeenile DeviceAppPack-reegliga.</translation>
 <translation id="7882857838942884046">Google'i sünkroonimise keelamisel ei tööta Androidi varunduse ja taastamise funktsioonid korralikult.</translation>
 <translation id="7882890448959833986">Toetuseta OS-is hoiatuse blokeerimine</translation>
+<translation id="7895553628261067384">Kaugjuurdepääs</translation>
 <translation id="7902255855035461275">Selles loendis olevaid mustreid võrreldakse taotleva URL-i
       algse turvalisusega. Vaste leidmisel antakse juurdepääs
       videosalvestusseadmetele ilma küsimata.
@@ -3575,6 +3746,11 @@
 <translation id="7937491150792971922">Laienduste installimise loendi reeglite liitmine mitmest allikast</translation>
 <translation id="7937766917976512374">Video jäädvustamise lubamine või keelamine</translation>
 <translation id="7941975817681987555">Ära ennusta võrgutoiminguid ühegi võrguühenduse puhul</translation>
+<translation id="7952007677054834789">Võimaldab määrata rakenduses <ph name="PRODUCT_NAME" /> laadimisel käivitatavad lehed ning vaikimisi kasutatava avalehe ja uue vahelehe ning takistab kasutajaid neid muutmast.
+
+      Kasutaja avalehe seaded on täielikult lukustatud vaid juhul, kui valite avaleheks uue vahelehe või seate selle URL-iks ja määrate avalehel URL-i. Kui te ei määra avalehe URL-i, saab kasutaja määrata avaleheks uue vahelehe käsuga „chrome://newtab”.
+
+      Reeglit „Käivitamisel avatavad URL-id” eiratakse, kui te ei vali jaotises „Toiming käivitamisel” käsku „Ava URL-ide loend”.</translation>
 <translation id="7952958573604504839">Reegli tugi on versioonis M48 katkestatud ja asendatud reegliga <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> ning versioonist M54 on reegel eemaldatud.
 
       Lubab rakenduses <ph name="PRODUCT_NAME" /> võrguprognoosid ja keelab kasutajatel selle seade muutmise.
@@ -3718,6 +3894,7 @@
 <translation id="8176035528522326671">Luba ettevõtte kasutajal olla ainult peamine mitme profiiliga kasutaja (vaikekäitumine ettevõtte hallatud kasutajate puhul)</translation>
 <translation id="8214600119442850823">Seadistatakse paroolihaldur.</translation>
 <translation id="8217516105848565518">Selle reegli tugi on katkestatud. Kasutage selle asemel reeglit RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">TLS-is RC4 šifreerimiskomplektide lubamine</translation>
 <translation id="8244525275280476362">Maksimaalne toomisviivitus pärast reegli kehtetuks tunnistamist</translation>
 <translation id="8256688113167012935">Juhib konto nime, mida <ph name="PRODUCT_OS_NAME" /> sisselogimiskuval vastava seadmepõhise konto jaoks näitab.
 
@@ -3759,6 +3936,7 @@
 <translation id="8312129124898414409">Võimaldab määrata, kas veebisaitidel on lubatud võtmeid luua. Võtmete loomise saab kõikide veebisaitide jaoks lubada või keelata.
 
           Kui jätate reegli määramata, kasutatakse reeglit „BlockKeygen” ja kasutaja saab seda muuta.</translation>
+<translation id="8320149248919453401">Aku laadimise režiim</translation>
 <translation id="8329984337216493753">See reegel on aktiivne vaid jaemüügirežiimis.
 
       Kui DeviceIdleLogoutTimeout on määratud, siis määratleb reegel, kui kaua kuvatakse loenduriga hoiatusboks enne väljalogimist.
@@ -3925,6 +4103,7 @@
       Kui reegel on määramata, kasutatakse vaikeperioodi, mis on operatsioonisüsteemiga <ph name="PRODUCT_OS_NAME" /> seadmete puhul 345 600 000 millisekundit (neli päeva) ja brauseri <ph name="PRODUCT_NAME" /> puhul 604 800 000 millisekundit (üks nädal).</translation>
 <translation id="8685024486845674965">Paroolikaitse hoiatuse käivitab parooli uuesti kasutamine</translation>
 <translation id="8693243869659262736">Kasuta sisseehitatud DNS-i klienti</translation>
+<translation id="8698286761337647563">Määrab, mitu päeva enne teavitatakse SAML-i kasutajaid parooli aegumisest</translation>
 <translation id="8703488928438047864">Teavita paneeli olekust</translation>
 <translation id="8703872185032220081">Päevase seadistuse määramine elektrikasutuse nihutamisele tarbimise tippajast.
 
@@ -3977,6 +4156,7 @@
       Kui see seade on keelatud või määramata, saadab paroolikaitseteenus kasutajad parooli muutmiseks saidile https://myaccounts.google.com.
       Reegel on saadaval ainult Windowsi eksemplarides, mis on liidetud domeeniga <ph name="MS_AD_NAME" />, ja Windows 10 Pro või Enterprise'i eksemplaridega, mis on registreeritud seadmehalduse teenuses.</translation>
 <translation id="8798099450830957504">Vaikimisi</translation>
+<translation id="8800453707696044281">Aku laadimise katkestamise kohandatud taseme määramine protsentides</translation>
 <translation id="8801680448782904838">Kasutaja teavitamine brauseri või seadme soovitatavast või kohustuslikust taaskäivitamisest</translation>
 <translation id="8818173863808665831">Esitab seadme geograafilise asukoha.
 
@@ -4104,6 +4284,11 @@
       See reegel mõjutab ainult neid kasutajad, kes kasutavad autentimiseks SAML-i.
 
       Reegli väärtus tuleb määrata sekundites.</translation>
+<translation id="9018338365267278833">See eemaldab loendisse <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> või reeglisse <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> lisatud laiendused, mille installimisrežiimiks on määratud Blokeeritud, ja kustutab lõplikult ka kaustajate kohalikud andmed.  Vaadake laienduste privaatsuseeskirjadest või andmete säilitamise reeglitest teavet selle kohta, mis võib juhtuda kasutajate andmetega, mis ei ole kohalikult talletatud.
+
+      Kui reegel on seatud väärtusele Lubatud, eemaldatakse eelmainitud loenditesse kuuluvad laiendused (kui need on juba seadmesse installitud) täielikult (koos kasutaja kohalike andmetega).
+
+      Kui reegel on määramata või seatud väärtusele Keelatud, keelatakse seadmes eelmainitud loenditesse kuuluvad laiendused (kui need on juba seadmesse installitud ja kantud keelatud loendisse <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />), ent neid ei desinstallita.</translation>
 <translation id="9027787254195333560">Selle reegliga saate seadistada avatari pildi, mis kujutab kasutajat sisselogimisekraanil. Reegli seadistamiseks määrake URL, kust <ph name="PRODUCT_OS_NAME" /> saab alla laadida avatari pildi, ja krüptograafiline räsiväärtus, mida kasutatakse allalaadimise terviklikkuse kinnitamiseks. Pilt peab olema JPEG-vormingus, mille maksimaalne maht on 512 kB. URL peab olema juurdepääsetav autentimiseta.
 
       Avatari pilt laaditakse alla ja talletatakse vahemällu. URL-i või räsi muutumisel laaditakse pilt uuesti alla.
diff --git a/components/policy/resources/policy_templates_fa.xtb b/components/policy/resources/policy_templates_fa.xtb
index 41ccd5b..a4fdb7a8 100644
--- a/components/policy/resources/policy_templates_fa.xtb
+++ b/components/policy/resources/policy_templates_fa.xtb
@@ -51,6 +51,13 @@
 
       اگر این خط‌مشی تنظیم شود، صفحه ورود به سیستم همیشه به منطقه زبانی مشخص‌شده توسط اولین مقدار این خط‌مشی (خط‌مشی به‌صورت فهرستی برای سازگاری روبه جلو تعریف می‌شود) نشان داده می‌شود.
 اگر این خط‌مشی تنظیم نشود یا روی یک فهرست خالی تنظیم شود، صفحه ورود به سیستم به منطقه زمانی آخرین جلسه کاربر نمایش داده می‌شود.  اگر این خط‌مشی روی مقداری تنظیم شود که منطقه زبانی معتبری نیست، صفحه ورود به سیستم به منطقه زبانی پیش‌فرض (درحال‌حاضر انگلیسی-ایالات متحده) نمایش داده می‌شود.</translation>
+<translation id="1052499923181221200">‏اگر SamlInSessionPasswordChangeEnabled روی درست تنظیم نشود، این خط‌مشی تأثیری ندارد.
+      اگر آن خط‌مشی روی درست تنظیم شود، و این خط‌مشی (برای مثال) روی ۱۴ تنظیم شود، به این معنی است که ۱۴ روز قبل از منقضی شدن گذرواژه کاربران SAML، به آن‌ها اعلام خواهد شد.
+      به‌این‌ترتیب کاربران می‌توانند هنگام فعال بودن جلسه گذرواژه را تغییر دهند و قبل از منقضی شدن آن را به‌روز کنند.
+      اما این اعلان‌ها تنها درصورتی نشان داده می‌شود که ارائه‌دهنده هویت SAML، درطول جریان ورود به سیستم SAML اطلاعات انقضای گذرواژه را به دستگاه ارسال کند.
+      تنظیم این خط‌مشی روی صفر به معنی این است که ازقبل به کاربران اطلاع‌رسانی نمی‌شود، و فقط زمانی که گذرواژه منقضی می‌شود به کاربران اعلام می‌شود.
+
+      اگر این خط‌مشی تنظیم شود، کاربر نمی‌تواند آن را تغییر دهد یا لغو کند.</translation>
 <translation id="1062011392452772310">فعال کردن اعطای گواهی راه دور برای دستگاه</translation>
 <translation id="1062407476771304334">جایگزینی</translation>
 <translation id="1079801999187584280">غیرمجاز کردن استفاده از «ابزارهای برنامه‌نویس»</translation>
@@ -211,6 +218,7 @@
       اگر این خط‌مشی فعال باشد، «دستیار Google» اجازه دارد به محتوای صفحه‌نمایش دسترسی داشته باشد.
       اگر این خط‌مشی غیرفعال باشد، «دستیار Google» اجازه دسترسی به محتوای صفحه‌نمایش را ندارد.
       اگر تنظیم نشود، کاربران ‌می‌توانند انتخاب کنند «دستیار Google» به محتوای صفحه‌نمایش دسترسی داشته باشد یا نه.</translation>
+<translation id="1376119291123231789">فعال کردن حالت پیشرفته شارژ باتری</translation>
 <translation id="1383493480903114193">‏این خط‌مشی کد ایجاد شبکه‌ را وادار می‌کند در پردازش مرورگر اجرا شود.
 
       این خط‌مشی به‌طور پیش‌فرض غیرفعال است و اگر فعال شود، پس از اینکه پردازش ایجاد شبکه‌ در جعبه ایمنی صورت گیرد، کاربر را در معرض مشکلات امنیتی قرار می‌دهد.
@@ -306,6 +314,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">فعال کردن مسدود کردن تزریق نرم‌افزار شخص‌ثالث</translation>
 <translation id="1504431521196476721">تأیید هویت ازراه‌دور</translation>
+<translation id="1507382822467487898">‏
+          نشانی MAC (کنترل دسترسی رسانه) را پیکربندی می‌کند که هنگام اتصال پایه به دستگاه استفاده خواهد شد.
+
+          هنگام اتصال پایه به بعضی از مدل‌های دستگاه، نشانی MAC مشخص‌شده برای پایه به‌طور پیش‌فرض برای شناسایی دستگاه در اترنت استفاده می‌شود. این خط‌مشی به سرپرست اجازه می‌دهد مبدأ نشانی MAC را هنگام اتصال به پایه تغییر دهد.
+
+          اگر «DeviceDockMacAddress» انتخاب شده باشد یا خط‌مشی تنظیم نشود، از نشانی MAC پایه که برای دستگاه تعیین شده است استفاده می‌شود.
+
+          اگر «DeviceNicMacAddress» انتخاب شود، از نشانی MAC متعلق به NIC (کنترل‌کننده رابط شبکه) دستگاه استفاده می‌شود.
+
+          اگر «DockNicMacAddress» انتخاب شود، از نشانی MAC متعلق به NIC پایه استفاده می‌شود.
+
+          کاربر نمی‌تواند این تنظیم را تغییر دهد.</translation>
 <translation id="1507957856411744193">‏اگر این خط‌مشی روی درست تنظیم شود، <ph name="PRODUCT_NAME" /> نه‌فقط در نشانی‌های خصوصی RFC1918/RFC4913، بلکه در همه نشانی‌های IP به دستگاه‌های Cast متصل می‌شود.
 
           اگر این خط‌مشی روی نادرست تنظیم شود، <ph name="PRODUCT_NAME" /> فقط در نشانی‌های خصوصی RFC1918/RFC4913 به دستگاه‌های Cast متصل می‌شود.
@@ -729,6 +749,17 @@
 <translation id="2303795211377219696">فعال کردن تکمیل خودکار برای کارت‌های اعتباری</translation>
 <translation id="2309390639296060546">تنظیمات پیش‌فرض مکان جغرافیایی</translation>
 <translation id="2327252517317514801">‏تعیین دامنه‌های مجاز برای دسترسی به G Suite</translation>
+<translation id="2356878440219553005">‏خط‌مشی مدیریت نیروی حالت شارژ باتری را مشخص می‌کند.
+
+          شارژ باتری را به‌صورت پویا کنترل می‌کند تا استهلاک باتری در اثر فشار باتری را به‌حداقل برساند و عمر باتری را افزایش دهد.
+
+          اگر حالت شارژ باتری سفارشی انتخاب شود، DeviceBatteryChargeCustomStartCharging و DeviceBatteryChargeCustomStopCharging نیز باید مشخص شوند.
+
+          اگر این خط‌مشی تنظیم شود، حالت شارژ باتری اعمال می‌شود (اگر در دستگاه پشتیبانی شود).
+
+          اگر این خط‌مشی تنظیم نشود و خط‌مشی در دستگاه پشتیبانی شود، حالت استاندارد شارژ باتری اعمال می‌شود و کاربر نمی‌تواند آن را تغییر دهد.
+
+          توجه: اگر <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> مشخص شود، این خط‌مشی را لغو می‌کند.</translation>
 <translation id="237494535617297575">‏به شما امکان می‌دهد تا لیستی از الگوهای URL تعیین کنید که سایت‌هایی را که اجازه نمایش اعلان را دارند مشخص کند. اگر این قانون تنظیم نشده باقی بماند، از مقدار عمومی پیش‌فرض برای تمام سایت‌ها، خواه برگرفته از قانون "DefaultNotificationsSetting"، در صورت تنظیم بودن، یا پیکربندی شخصی کاربر، استفاده می‌شود.</translation>
 <translation id="2386362615870139244">مجاز بودن قفل بیداری صفحه نمایش</translation>
 <translation id="2411817661175306360">هشدار حفاظت با گذرواژه خاموش است</translation>
@@ -764,6 +795,7 @@
 
      اگر این خط‌مشی روی نادرست تنظیم شود، ورود خودکار فوری (در صورت پیکربندی) قابل رد شدن نیست.</translation>
 <translation id="2454228136871844693">بهینه‌سازی برای پایداری.</translation>
+<translation id="2463034609187171371">‏فعال کردن مجموعه‌های رمز DHE در TLS</translation>
 <translation id="2463365186486772703">زبان برنامه</translation>
 <translation id="2466131534462628618">احراز هویت درگاه مهمان، پروکسی را نادیده می‌گیرد</translation>
 <translation id="2482676533225429905">پیام‌رسانی داخلی</translation>
@@ -935,6 +967,7 @@
 <translation id="2769952903507981510">پیکربندی نام دامنه مورد نیاز برای میزبان‌های دسترسی ازراه‌دور</translation>
 <translation id="2787173078141616821">‏گزارش اطلاعات درباره وضعیت Android</translation>
 <translation id="2799297758492717491">مجاز کردن پخش خودکار رسانه در فهرست مجازی از الگوهای نشانی وب</translation>
+<translation id="2801155097555584385">تنظیم شروع سفارشی شارژ باتری به‌صورت درصد شارژ</translation>
 <translation id="2801230735743888564">‏به کاربران امکان داده می‌شود وقتی دستگاهشان آفلاین است بازی dinosaur easter egg را انجام دهند.
 
       اگر این خط‌مشی روی نادرست تنظیم شود، کاربران نمی‌توانند وقتی دستگاهشان آفلاین است dinosaur easter egg را بازی کنند. اگر این خط‌مشی روی درست تنظیم شود، کاربران می‌توانند این بازی را انجام دهند. اگر این خط‌مشی تنظیم نشود، کاربران اجازه ندارند در سیستم‌عامل Chrome ثبت‌شده بازی dinosaur easter egg را انجام دهند، اما می‌توانند در شرایط دیگری آن را بازی کنند.</translation>
@@ -1008,6 +1041,7 @@
       اگر این تنظیم را غیرفعال کنید یا مقداری برای آن تنظیم نکنید، «پیش‌نمایش چاپ» از آخرین چاپگر استفاده‌شده، به‌عنوان انتخاب مقصد پیش‌فرض استفاده می‌کند.
 
       اگر این تنظیم را فعال کنید، «پیش‌نمایش چاپ» از چاپگر پیش‌فرض سیستم‌عامل، به‌عنوان انتخاب مقصد پیش‌فرض استفاده می‌کند.</translation>
+<translation id="285627849510728211">تنظیم پیکربندی روز حالت پیشرفته شارژ باتری</translation>
 <translation id="2856674246949497058">‏اگر نسخه OS جدیدتر از نسخه هدف است، به عقب برگردید و در نسخه هدف بمانید. درحین پردازش powerwash انجام دهید.</translation>
 <translation id="2872961005593481000">خاموش کردن</translation>
 <translation id="2873651257716068683">اندازه صفحه چاپ پیش‌فرض را لغو می‌کند. اگر اندازه صفحه دردسترس نباشد، این خط‌مشی نادیده گرفته می‌شود.</translation>
@@ -1138,12 +1172,26 @@
 <translation id="3072045631333522102">محافظ صفحه مورداستفاده در صفحه ورود به سیستم در حالت خرده‌فروشی</translation>
 <translation id="3072847235228302527">تنظیم شرایط خدمات برای حساب محلی دستگاه</translation>
 <translation id="3077183141551274418">فعال یا غیرفعال کردن چرخه حیات برگه</translation>
+<translation id="3079417254871857650">‏کنشی را مشخص می‌کند که باید هنگام ایجاد فهرست راهنمای اصلی کاربر با رمزگذاری ecryptfs انجام شود.
+
+      اگر این خط‌مشی را روی «DisallowArc» تنظیم کنید، برنامه‌های Android برای کاربر غیرفعال می‌شود و هیچ انتقالی از رمزگذاری ecryptfs به ext4 صورت نمی‌گیرد. اگر فهرست راهنمای اصلی ازقبل با ext4 رمزشده باشد، از اجرای برنامه‌های Android جلوگیری نمی‌شود.
+
+      اگر این خط‌مشی را روی «Migrate» تنظیم کنید، فهرست‌های راهنمای اصلی رمزشده با ecryptfs، هنگام ورود به سیستم به‌طور خودکار به رمزگذاری ext4 منتقل خواهند شد و برای این کار رضایت کاربر درخواست نمی‌شود.
+
+      اگر این خط‌مشی را روی «Wipe» تنظیم کنید، فهرست‌های راهنمای اصلی رمزشده با ecryptfs، هنگام ورود به سیستم حذف خواهند شد و به‌جای آن‌ها فهرست‌های راهنمای اصلی جدیدی با رمزگذاری ext4 ایجاد می‌شود. هشدار: با این کار داده‌های محلی کاربر حذف می‌شود.
+
+      اگر این خط‌مشی را روی «MinimalMigrate» تنظیم کنید، فهرست‌های راهنمای اصلی رمزشده با ecryptfs، هنگام ورود به سیستم حذف خواهند شد و به‌جای آن‌ها فهرست‌های راهنمای اصلی جدیدی با رمزگذاری ext4 ایجاد می‌شود. بااین‌حال، سعی می‌شود کدهای ورود به سیستم حفظ شود تا کاربر مجبور نباشد دوباره به سیستم وارد شود. هشدار: با این کار داده‌های محلی کاربر حذف می‌شود.
+
+      اگر این خط‌مشی را روی گزینه‌ای تنظیم کنید که دیگر پشتیبانی نمی‌شود («AskUser» یا «AskForEcryptfsArcUsers»)، به‌جای آن «Migrate» درنظر گرفته می‌شود.
+
+      این خط‌مشی برای کاربران kiosk اعمال نمی‌شود. اگر این خط‌مشی تنظیم نشود، دستگاه به‌گونه‌ای عمل می‌کند که گویی «DisallowArc» انتخاب شده است.</translation>
 <translation id="3086995894968271156">‏گیرنده Cast را در <ph name="PRODUCT_NAME" /> پیکربندی کنید.</translation>
 <translation id="3088796212846734853">‏به شما امکان می‌دهد فهرستی از الگوهای نشانی وب تنظیم کنید که سایت‌های مجاز به نمایش تصویر را مشخص می‌کند.
 
           اگر این خط‌مشی تنظیم نشود، مقدار پیش‌فرض کلی برای همه سایت‌ها استفاده می‌شود. این مقدار پیش‌‌فرض یا از خط‌مشی «DefaultImagesSetting» (اگر تنظیم شده باشد) یا از پیکربندی شخصی کاربر به‌دست می‌آید.
 
           توجه داشته باشید قبلاً این خط‌مشی به‌اشتباه در Android فعال بود، اما این عملکرد هیچ‌گاه به‌طور کامل در Android پشتیبانی نشده است.</translation>
+<translation id="3091832372132789233">شارژ باتری دستگاه‌هایی که اصولاً به منبع برق خارجی وصل می‌شوند.</translation>
 <translation id="3096595567015595053">فهرست افزایه‌های فعال شده</translation>
 <translation id="3101501961102569744">انتخاب کنید که چگونه تنظیمات سرور پروکسی تعیین شوند</translation>
 <translation id="3101709781009526431">تاریخ و ساعت</translation>
@@ -1169,6 +1217,7 @@
           اگر این گزینه غیرفعال شود، <ph name="PRODUCT_NAME" /> تنها از میزبان‌های «پیام‌رسانی محلی» نصب‌شده در سطح سیستم استفاده می‌کند.
 
           اگر این گزینه تنظیم نشود، <ph name="PRODUCT_NAME" /> استفاده از میزبان‌های «پیام‌رسانی محلی» سطح کاربر را مجاز می‌کند.</translation>
+<translation id="3177802893484440532">‏الزام بررسی‌های OCSP/CRL برای اتصالات معتمد محلی</translation>
 <translation id="3185009703220253572">از نسخه <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">‏برنامه‌های Android نمی‌توانند به کلیدهای شرکت دسترسی پیدا کنند. این خط‌مشی بر آن‌ها تأثیری ندارد.</translation>
 <translation id="3205825995289802549">نمایش اولین پنجره مرورگر در اولین اجرا در حالت حداکثر</translation>
@@ -1178,6 +1227,7 @@
 <translation id="3220624000494482595">‏حتی اگر این خط‌مشی روی <ph name="TRUE" /> تنظیم شده باشد؛ درصورتی‌که برنامه kiosk یک برنامه Android باشد، این برنامه کنترلی بر نسخه <ph name="PRODUCT_OS_NAME" /> نخواهد داشت.</translation>
 <translation id="3236046242843493070">الگوهای نشانی وب برای اجازه نصب اسکریپت کاربر، برنامهٔ افزودنی و برنامه از</translation>
 <translation id="3240609035816615922">خط‌مشی دسترسی به پیکربندی چاپگر.</translation>
+<translation id="3240655340884151271">‏نشانی MAC متعلق به NIC داخلی پایه</translation>
 <translation id="3243309373265599239">مدت زمانی را مشخص می‌کند که بدون ورودی کاربر پس از آن صفحه هنگام کار با برق تار می‌شود.
 
           وقتی این خط‌مشی روی مقداری بزرگ‌تر از صفر تنظیم شود، مدت زمانی را مشخص می‌کند که کاربر قبل از اینکه <ph name="PRODUCT_OS_NAME" /> صفحه را تار کند، باید بیکار بماند.
@@ -1199,6 +1249,12 @@
       اگر این تنظیم فعال باشد یا پیکربندی نشده باشد، کاربران می‌توانند با راستی‌آزمایی با حساب Google، پراکسی چاپ cloud را فعال کنند.
 
       اگر این تنظیم غیرفعال باشد، کاربران نمی‌توانند پراکسی را فعال کنند و دستگاه اجازه ندارد چاپگرهای خود را با <ph name="CLOUD_PRINT_NAME" /> به اشتراک بگذارد.</translation>
+<translation id="3312206664202507568">‏صفحه‌ای را در chrome://password-change فعال می‌کند که به کاربران SAML اجازه می‌دهد هنگام فعال بودن جلسه، گذرواژه SAML خود را تغییر دهند، که با این کار تضمین می‌شود گذرواژه SAML و گذرواژه صفحه قفل باهم همگام‌سازی می‌شوند.
+
+      این خط‌مشی اعلان‌هایی را نیز فعال می‌کند که اگر زمان انقضای گذرواژه SAML کاربران SAML نزدیک باشد، به آن‌ها هشدار می‌دهد تا بتوانند هنگام فعال بودن جلسه، گذرواژه را تغییر دهند.
+      اما این اعلان‌ها تنها درصورتی نشان داده می‌شود که ارائه‌دهنده هویت SAML، درطول جریان ورود به سیستم SAML اطلاعات انقضای گذرواژه را به دستگاه ارسال کند.
+
+      اگر این خط‌مشی تنظیم شود، کاربر نمی‌تواند آن را تغییر دهد یا لغو کند.</translation>
 <translation id="3322771899429619102">‏به شما امکان می‌دهد فهرستی از الگوهای نشانی وب تعیین کنید که سایت‌های مجاز به استفاده از تولید کلید را مشخص کند. اگر الگوی نشانی وبی در «KeygenBlockedForUrls» باشد، خط‌مشی این استثناها را لغو می‌کند.
 
            اگر این خط‌مشی تنظیم نشود، برای همه سایت‌ها از مقدار پیش‌فرض کلی استفاده می‌شود، این مقدار یا از خط‌مشی «DefaultKeygenSetting» (درصورت تنظیم)، یا به‌صورتی دیگر از پیکربندی شخصی کاربر گرفته می‌شود.</translation>
@@ -1285,6 +1341,7 @@
 
           اگر خط‌مشی روی False تنظیم شده باشد یا تنظیم نشده باشد، تأخیرات مدیریت نیرو و محدودیت طول جلسه بلافاصله در شروع جلسه اجرا می‌شود.</translation>
 <translation id="3478024346823118645">داده‌های کاربر هنگام خروج از سیستم پاک شود</translation>
+<translation id="3480961938508521469">شارژ کامل باتری با سرعت استاندارد.</translation>
 <translation id="348495353354674884">فعال کردن صفحه‌کلید مجازی</translation>
 <translation id="3487623755010328395">‏
         اگر این خط‌مشی تنظیم شده باشد، <ph name="PRODUCT_NAME" /> خود را ثبت می‌کند و خط‌مشی ابری مربوطه را برای همه نمایه‌ها اعمال می‌کند.
@@ -1328,6 +1385,8 @@
 <translation id="3547954654003013442">تنظیمات پروکسی</translation>
 <translation id="355118380775352753">وب‌سایت‌هایی برای باز شدن در مرورگر جایگزین</translation>
 <translation id="3554984410014457319">‏اجازه به دستیار Google برای گوش دادن به عبارت‌های فعال‌سازی صوتی</translation>
+<translation id="356579196325389849">‏کاربران می‌توانند کانال انتشار سیستم‌عامل Chrome را پیکربندی کنند</translation>
+<translation id="3575011234198230041">‏احرازهویت HTTP</translation>
 <translation id="3577251398714997599">تنظیم آگهی برای سایت‌های حاوی آگهی‌های مزاحم</translation>
 <translation id="357917253161699596">اجازه به کاربران برای مدیریت گواهینامه‌های کاربر</translation>
 <translation id="3583230441447348508">‏فهرستی از دستگاه‌های ذخیره‌سازی متصل به شبکه را مشخص می‌کند که از قبل پیکربندی شده است.
@@ -1358,6 +1417,7 @@
 
         این خط‌مشی توسط ثبت‌نام خط‌مشی ابری در حوزه ماشین در میز کار استفاده می‌شود و می‌تواند توسط «رجیستری» یا GPO در Windows،‏ plist در Mac و فایل خط‌مشی JSON در Linux تنظیم شود.</translation>
 <translation id="3660562134618097814">‏انتقال کوکی‌های SAML IdP هنگام ورود به سیستم</translation>
+<translation id="3668151900457104753">حذف نصب افزونه‌های موجود در فهرست سیاه</translation>
 <translation id="3701121231485832347">تنظیمات مربوط به دستگاه‌های <ph name="PRODUCT_OS_NAME" /> تحت‌مدیریت <ph name="MS_AD_NAME" /> را کنترل می‌کند.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (فیلد تک‌خطی منسوخ شده است و در آینده حذف می‌شود. لطفاً از این به بعد از کادر نوشتاری چندخطی در زیر استفاده کنید.)</translation>
 <translation id="3709266154059827597">پیکربندی فهرست سیاه نصب برنامه‌های افزودنی</translation>
@@ -1439,6 +1499,16 @@
           اگر این خط‌مشی تنظیم نشود، صفحه‌کلید روی صفحه از ابتدا غیرفعال می‌شود اما کاربر می‌تواند هر وقت خواست آن را فعال کند.</translation>
 <translation id="382476126209906314">‏پیکربندی پیشوند TalkGadget برای میزبان‌های دسترسی ازراه‌دور</translation>
 <translation id="3824972131618513497">تنظیمات مربوط به مدیریت نیرو و راه‌اندازی مجدد را کنترل می‌کند.</translation>
+<translation id="3826475866868158882">‏فعال کردن خدمات مکان Google</translation>
+<translation id="3831054243924627613">‏این خط‌مشی، وضعیت اولیه پشتیبان‌گیری و بازیابی Android را کنترل می‌کند.
+
+      وقتی این خط‌مشی پیکربندی نشده باشد یا روی <ph name="BR_DISABLED" /> تنظیم شده باشد، پشتیبان‌گیری و بازیابی Android از ابتدا غیرفعال است.
+
+      وقتی این خط‌مشی روی <ph name="BR_ENABLED" /> تنظیم شده باشد، پشتیبان‌گیری و بازیابی Android از ابتدا فعال است.
+
+      وقتی این خط‌مشی روی <ph name="BR_UNDER_USER_CONTROL" /> تنظیم شده باشد، از کاربر سؤال می‌شود می‌خواهد از پشتیبان‌گیری و بازیابی Android استفاده کند یا نه. اگر کاربر پشتیبان‌گیری و بازیابی را فعال کند، داده‌های برنامه Android در سرورهای پشتیبان‌گیری Android بارگذاری می‌شود و پس از نصب مجدد برنامه‌های سازگار، از سرورها بازیابی می‌شود.
+
+      توجه داشته باشید این خط‌مشی وضعیت پشتیبان‌گیری و بازیابی Android را فقط درحین راه‌اندازی اولیه کنترل می‌کند. کاربر می‌تواند بعداً تنظیمات Android را باز کند و پشتیبان‌گیری و بازیابی Android را روشن/خاموش کند.</translation>
 <translation id="3831376478177535007">‏وقتی این تنظیم فعال شده باشد، <ph name="PRODUCT_NAME" /> به گواهینامه‌های صادرشده توسط عملیات‌های PKI قدیمی Symantec Corporation امکان می‌دهد تا به شرط آنکه باموفقیت تأیید اعتبار و به گواهینامه مرکز صدور گواهینامه شناخته‌شده‌ای متصل شوند قابل اعتماد باشند.
 
       توجه داشته باشید که این خط‌مشی بسته به سیستم‌عامل همچنان گواهینامه‌هایی را از زیرساخت قدیمی Symantec شناسایی می‌کند. اگر به‌روزرسانی سیستم‌عامل باعث تغییر رفتار سیستم‌عامل دربرابر این گواهینامه‌ها شود، این خط‌مشی دیگر اثری ندارد. به‌علاوه، این خط‌مشی به‌عنوان یک راه‌حل موقت در نظر گرفته می‌شود تا به شرکت‌ها امکان دهد زمان بیشتری برای جابه‌جا شدن از گواهینامه‌های Symantec قدیمی داشته باشند. این خط‌مشی در ۱ ژانویه ۲۰۱۹ یا نزدیک به آن تاریخ برداشته خواهد شد.
@@ -1521,6 +1591,15 @@
 
           اگر تنظیم نشود یا روی نادرست تنظیم شود، کاربران می‌توانند فایل‌ها را به Google Drive منتقل کنند.</translation>
 <translation id="3915395663995367577">‏URL فایل pac. مربوط به پروکسی</translation>
+<translation id="3920892052017026701">‏تنظیم شروع سفارشی شارژ باتری به‌صورت درصد شارژ.
+
+          وقتی شارژ باتری کمتر از مقدار شروع سفارشی شارژ باتری شود، شارژ باتری شروع می‌شود.
+
+          DeviceBatteryChargeCustomStartCharging باید کمتر از DeviceBatteryChargeCustomStopCharging باشد.
+
+          فقط زمانی از این خط‌مشی استفاده می‌شود که DeviceBatteryChargeMode روی سفارشی تنظیم شده باشد.
+
+          اگر این خط‌مشی پیکربندی یا تنظیم نشود، حالت استاندارد شارژ باتری اعمال می‌شود.</translation>
 <translation id="3925377537407648234">تنظیم وضوح نمایشگر و فاکتور مقیاس‌بندی</translation>
 <translation id="3939893074578116847">ارسال بسته‌های شبکه به سرور مدیریتی برای نظارت بر وضعیت شبکه؛ با این کار سرور می‌تواند تشخیص دهد دستگاه آفلاین است یا نه.
 
@@ -1648,6 +1727,7 @@
 <translation id="4150201353443180367">صفحه‌نمایش</translation>
 <translation id="4157003184375321727">گزارش نسخه سفت‌افزار و سیستم عامل</translation>
 <translation id="4157594634940419685">‏مجاز کردن دسترسی به چاپگرهای CUPS محلی</translation>
+<translation id="4160962198980004898">‏منبع نشانی MAC دستگاه وقتی روی پایه است</translation>
 <translation id="4163705126749612234">‏نام‌های دامنه کارخواه الزامی را پیکربندی می‌کند که در کارخواهان دسترسی ازراه‌دور اجرا می‌شود و نمی‌گذارد کاربر آن را تغییر دهد.
 
           اگر این تنظیم فعال شود، فقط کارخواهان دامنه خاصی می‌توانند به میزبان متصل شوند.
@@ -1724,6 +1804,7 @@
       توجه داشته باشید که وجود شناسه برنامه در خط‌مشی، لزوماً به معنای این نیست که کاربر می‌تواند برنامه را به‌عنوان برنامه یادداشت‌برداری در صفحه درحالت قفل فعال کند - مثلاً در Chrome 61، پلتفورم محدودیت اضافی‌ بر مجموعه برنامه‌های دردسترس اعمال می‌کند.
 
       اگر این خط‌مشی تنظیم‌نشده رها شود، هیچ‌ محدودیتی بر مجموعه برنامه‌هایی که کاربر می‌تواند در صفحه درحالت قفل فعال کند، از جانب خط‌مشی اعمال نمی‌شوند.</translation>
+<translation id="4313767483634435271">‏نشانی MAC پایه تعیین‌شده برای دستگاه</translation>
 <translation id="4322842393287974810">‏به برنامه kiosk راه‌اندازی‌شده به‌طور خودکار با تأخیر صفر، امکان داده شود نسخه <ph name="PRODUCT_OS_NAME" /> را کنترل کند</translation>
 <translation id="4325690621216251241">افزودن دکمه خروج از سیستم به سینی سیستم</translation>
 <translation id="4332177773549877617">‏ثبت گزارش رویدادهای نصب برنامه Android</translation>
@@ -1755,6 +1836,7 @@
 <translation id="4360826270668210664">‏اگر این خط‌مشی تنظیم شود، میزبان دسترسی ازراه دور، کارخواهان درحال احراز هویت را ملزم به کسب یک کد احراز هویت از این نشانی وب (برای اتصال) می‌کند. باید همراه با RemoteAccessHostTokenValidationUrl استفاده شود.
 
           درحال‌حاضر این ویژگی از سمت سرور غیرفعال است.</translation>
+<translation id="4363057787588706121">امکان ادغام خط‌مشی‌های فهرست از منابع مختلف</translation>
 <translation id="436581050240847513">گزارش واسط‌های شبکه دستگاه</translation>
 <translation id="4372704773119750918">به کاربر سازمانی امکان نمی‌دهد بخشی از چندنمایه باشد (اصلی یا ثانویه)</translation>
 <translation id="4377599627073874279">به همه سایت‌ها اجازه نمایش تصاویر داده شود</translation>
@@ -1921,6 +2003,7 @@
 <translation id="4826326557828204741">عملی است که هنگام استفاده از نیروی باتری، وقتی زمان تأخیر عدم فعالیت برسد انجام می‌شود</translation>
 <translation id="4832852360828533362">گزارش‌دهی کاربر و دستگاه</translation>
 <translation id="4834526953114077364">کاربرانی که اخیراً کمتر مورد استفاده قرار گرفته‌اند و در ۳ ماه گذشته وارد نشده‌اند، حذف می‌شوند تا فضای خالی کافی ایجاد شود</translation>
+<translation id="4835622243021053389">‏احرازهویت NTLMv2 فعال شود.</translation>
 <translation id="4858735034935305895">حالت تمام صفحه مجاز است</translation>
 <translation id="4861767323695239729">پیکربندی روش‌های ورودی مجاز در جلسه کاربری</translation>
 <translation id="487460824085252184">انتقال به‌طور خودکار، بدون کسب رضایت کاربر</translation>
@@ -2035,6 +2118,11 @@
 
       برخلاف <ph name="URL_LIST_POLICY_NAME" />، قانون‌ها در هر دو جهت اعمال می‌شود. یعنی وقتی افزونه Internet Explorer موجود و فعال باشد، این خط‌مشی همچنین کنترل می‌کند <ph name="IE_PRODUCT_NAME" /> باید این نشانی‌های وب را در <ph name="PRODUCT_NAME" /> باز کند یا نه.</translation>
 <translation id="5124368997194894978">فعال کردن راه‌اندازی با جریان متناوب</translation>
+<translation id="5131211790949066746">ادغام خط‌مشی‌های فهرست نصب افزونه <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />، <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" />، و <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> را ممکن می‌سازد.
+
+      اگر این تنظیم را فعال کنید، مقادیر خط‌مشی‌ پلتفورم ماشین، خط‌مشی ابری ماشین، و خط‌مشی پلتفورم کاربر در فهرست واحدی ادغام می‌شوند و به‌جای اینکه فقط از مقادیر منبع واحدی با بالاترین اولویت استفاده شود، از این فهرستِ واحد استفاده می‌شود.
+
+      اگر این تنظیم را غیرفعال کنید یا آن را تنظیم نکنید، فقط از ورودی‌های فهرست مربوط به منبع با بالاترین اولویت استفاده خواهد شد و سایر منابع به‌عنوان مغایرت‌هایی نشان داده می‌شود که نادیده گرفته می‌شود.</translation>
 <translation id="5141670636904227950">تنظیم نوع ذره‌بین پیش‌فرض صفحه نمایش، به کار انداخته شده در صفحه ورود به سیستم</translation>
 <translation id="5142301680741828703">این الگوی های نشانی وب همیشه در <ph name="PRODUCT_FRAME_NAME" /> اجرا و تفسیر شوند</translation>
 <translation id="5148753489738115745">به شما اجازه می‌دهد تا پارامترهایی را مشخص کنید که هنگام <ph name="PRODUCT_FRAME_NAME" />راه‌اندازی <ph name="PRODUCT_NAME" /> استفاده می‌شوند.
@@ -2144,6 +2232,7 @@
 
       اگر خط‌مشی تنظیم نشود یا رشته‌ای خالی یا دامنه درگاه نامعتبری برای آن تنظیم شود، WebRTC مجاز است از هر درگاه UDP محلی دردسترسی استفاده کند.</translation>
 <translation id="5290940294294002042">تعیین فهرست افزایه‌هایی که کاربر می‌تواند فعال یا غیرفعال کند</translation>
+<translation id="5306186200045823863">‏فعال کردن اعتماد به زیرساخت PKI قدیمی Symantec Corporation</translation>
 <translation id="5307432759655324440">موجود بودن حالت ناشناس</translation>
 <translation id="5318185076587284965">فعال‌سازی استفاده از سرورهای رله توسط میزبان دسترسی راه دور</translation>
 <translation id="5323128137188992869">‏اجازه داده می‌شود محتوا با استفاده از <ph name="PRODUCT_NAME" /> به دستگاه ارسال شود.
@@ -2237,6 +2326,7 @@
       اگر قانون‌ها با هم تضاد داشته باشند، <ph name="PRODUCT_NAME" /> از مشخص‌ترین قانون استفاده می‌کند.</translation>
 <translation id="5475361623548884387">فعال کردن چاپ</translation>
 <translation id="547601067149622666">به آگهی‌ها در سایت‌های حاوی آگهی‌های مزاحم اجازه داده نشود</translation>
+<translation id="5483065054530244863">‏مجاز کردن گواهینامه‌های امضاشده با SHA-1 که توسط اتصالات معتمد محلی صادر شده است</translation>
 <translation id="5483777239978559943">‏این خط‌مشی منسوخ شده است. لطفاً از <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> برای کنترل دردسترس بودن افزایه Flash و از <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> برای کنترل استفاده از نمایشگر PDF برای باز کردن فایل‌های PDF استفاده کنید.
 
       فهرستی از افزایه‌ها را مشخص می‌کند که کاربر می‌تواند در <ph name="PRODUCT_NAME" /> فعال یا غیرفعال کند.
@@ -2353,6 +2443,17 @@
           اگر این خط‌مشی را فعال کنید یا آن را تنظیم نکنید، کاربران می‌توانند گذرواژه‌هایشان را به‌صورت متن آشکار در مدیر گذرواژه ببینند.</translation>
 <translation id="5620392548325769024">فعال کردن نمایش صفحه خوش‌آمدگویی هنگام اولین اجرای مرورگر پس از ارتقای سیستم عامل</translation>
 <translation id="5630352020869108293">بازیابی آخرین جلسه</translation>
+<translation id="5643906875497889108">‏کنترل می‌کند چه نوع برنامه‌ها/افزونه‌هایی می‌توانند نصب شوند و دسترسی زمان اجرا را محدود می‌کند.
+
+          این تنظیم انواع مجاز برنامه‌ها/افزونه‌ها را که می‌توانند در <ph name="PRODUCT_NAME" /> نصب شوند، و میزبان‌هایی را که می‌توانند با آن‌ها تعامل داشته باشند، در فهرست مجاز قرار می‌دهد. این مقدار، فهرستی از چند رشته است که هر کدام باید یکی از این موارد باشد: « extension»،‏ «theme»، ‏«user_script»، ‏«hosted_app»،‏ «legacy_packaged_app»، ‏«platform_app». برای اطلاعات بیشتر درباره این موارد، اسناد افزونه <ph name="PRODUCT_NAME" /> را ببینید.
+
+          توجه داشته باشید این خط‌مشی بر افزونه‌ها و برنامه‌هایی که به‌صورت اجباری ازطریق ExtensionInstallForcelist نصب می‌شوند نیز تأثیر می‌گذارد.
+
+          اگر این تنظیم پیکربندی شود، افزونه‌ها/برنامه‌هایی که نوع آن‌ها در فهرست نیست نصب نمی‌شوند.
+
+          اگر این تنظیم بدون پیکربندی باشد، هیچ محدودیتی بر نوع افزونه/برنامه‌های قابل‌قبول اعمال نمی‌شود.
+
+          برای نسخه‌های قبل از نسخه ۷۵، استفاده از چند شناسه افزونه جداشده با ویرگول پشتیبانی نمی‌شود و نادیده گرفته می‌شود. بقیه موارد خط‌مشی همچنان اعمال خواهد شد.</translation>
 <translation id="5645779841392247734">مجاز بودن کوکی‌ها برای این سایت‌ها</translation>
 <translation id="5689430183304951538">اندازه پیش‌فرض صفحه چاپ</translation>
 <translation id="5693469654327063861">اجازه دادن به انتقال داده</translation>
@@ -2392,6 +2493,7 @@
 <translation id="5765780083710877561">توضیح:</translation>
 <translation id="5770738360657678870">کانال برنامه‌نویس (ممکن است ناپایدار باشد)</translation>
 <translation id="5774856474228476867">نشانی وب ارائه دهنده جستجوی پیش‌فرض</translation>
+<translation id="5775235485119094648">شارژ شدن باتری وقتی شارژ باتری در محدوده معینی است.</translation>
 <translation id="5776485039795852974">هر بار که سایتی می‌خواهد اعلان‌های دسکتاپ را نشان دهد از من سؤال شود</translation>
 <translation id="5781412041848781654">‏تعیین می‌کند که کدام کتابخانه GSSAPI برای احراز هویت HTTP استفاده شود. شما می‌توانید نام یک کتابخانه یا یک مسیر کامل را تعیین کنید.
 
@@ -2451,6 +2553,7 @@
 <translation id="5893553533827140852">‏اگر این تنظیم فعال باشد، درخواست‌های احراز هویت gnubby در سراسر یک اتصال به میزبان راه دور پروکسی خواهد شد.
 
 اگر این تنظیم غیرفعال باشد یا پیکربندی نشده باشد، درخواست‌های احراز هویت gnubby پروکسی نمی‌شود.</translation>
+<translation id="5897913798715600338">شارژ شدن باتری با استفاده از فناوری شارژ سریع.</translation>
 <translation id="5898486742390981550">‏وقتی چند کاربر به سیستم وارد می‌شوند، فقط کاربر اصلی می‌تواند از برنامه‌های Android استفاده کند.</translation>
 <translation id="5900196529149231477">‏
       این خط‌مشی برای صفحه ورود به سیستم کاربرد دارد. لطفاً خط‌مشی <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> را که برای جلسه کاربری کاربرد دارد نیز ببینید. توصیه می‌شود هردو خط‌مشی را روی مقدار یکسانی تنظیم کنید. اگر مقادیر مطابقت نداشته باشند، ممکن است هنگام اعمال مقدار مشخص‌شده توسط خط‌مشی کاربر، تأخیری در ورود جلسه کاربری ایجاد شود.
@@ -2459,11 +2562,13 @@
       اگر این خط‌مشی پیکربندی نشود، تنظیمات پیش‌فرض پلتفورم برای جداشدگی سایت در صفحه ورود به سیستم استفاده خواهد شد.
       </translation>
 <translation id="5901427587865226597">فقط چاپ دورویه</translation>
+<translation id="5905473632148429217">‏فعال کردن بررسی‌های آنلاین OCSP/CRL</translation>
 <translation id="5906199912611534122">فعال کردن یا غیرفعال کردن کنترل سرعت شبکه را مجاز می‌کند.
       این خط‌مشی برای همه کاربران و واسط‌های موجود در دستگاه اعمال می‌شود. با تنظیم شدن این خط‌مشی، کنترل سرعت تغییر نمی‌کند مگراینکه خط‌مشی به‌گونه‌ای تغییر کند که کنترل سرعت غیرفعال شود.
 
       اگر این خط‌مشی روی نادرست تنظیم شود، کنترل سرعت وجود ندارد.
       اگر این خط‌مشی روی درست تنظیم شود، سرعت سیستم‌ برای دستیابی به سرعت‌های بارگذاری و بارگیری ارائه‌شده (در واحد کیلوبیت/ثانیه) کنترل می‌شود.</translation>
+<translation id="591088232153082363">شارژ باتری انطباقی براساس الگوی مصرف باتری.</translation>
 <translation id="5921713479449475707">‏امکان بارگیری‌های به‌روزرسانی خودکار از طریق HTTP</translation>
 <translation id="5921888683953999946">حالت پیش‌فرض قابلیت دسترس‌پذیری نشانگر موشواره بزرگ را در صفحه ورود به سیستم تنظیم کنید.
 
@@ -2486,6 +2591,7 @@
 <translation id="5950205771952201658">‏با توجه به این اصل که پیدایش خطا، بررسی‌های برگردان آنلاین، امنیت را تضمین نمی‌کند، به صورت پیش‌فرض در نسخه ۱۹ و نسخه‌های بعدی <ph name="PRODUCT_NAME" /> غیرفعال شده است. با تنظیم این خط‌مشی روی درست، رفتار قبلی بازیابی می‌شود و بررسی‌های آنلاین OCSP/CRL انجام می‌شود.
 
       اگر خط‌مشی تنظیم نشود، یا روی نادرست تنظیم شود، <ph name="PRODUCT_NAME" /> بررسی‌های برگردان آنلاین را در نسخه 19 <ph name="PRODUCT_NAME" /> و نسخه‌های بعدی انجام نمی‌دهد.</translation>
+<translation id="5961137303188584693">‏نشانی MAC متعلق به NIC داخلی دستگاه</translation>
 <translation id="5966615072639944554">‏افزونه‌هایی که مجاز به استفاده از API اعطای گواهی ازراه‌دور هستند</translation>
 <translation id="5983708779415553259">رفتار پیش‌فرض برای سایت‌هایی که در هیچ بسته محتوایی نمی‌گنجند</translation>
 <translation id="5997543603646547632">استفاده از قالب ۲۴ ساعته به‌طور پیش‌فرض</translation>
@@ -2578,6 +2684,17 @@
 <translation id="6111936128861357925">‏اجازه به بازی Dinosaur Easter Egg</translation>
 <translation id="6114416803310251055">منسوخ</translation>
 <translation id="6133088669883929098">اجازه دادن به همه سایت‌ها برای استفاده از تولید کلید</translation>
+<translation id="6136537398661737682">‏این خط‌مشی وضعیت اولیه خدمات مکان Google را کنترل می‌کند.
+
+      وقتی این خط‌مشی پیکربندی نشده باشد یا روی <ph name="GLS_DISABLED" /> تنظیم شده باشد، خدمات مکان Google از ابتدا غیرفعال است.
+
+      وقتی این خط‌مشی روی <ph name="GLS_ENABLED" /> تنظیم شده باشد، خدمات مکان Google از ابتدا فعال است.
+
+      وقتی این خط‌مشی روی <ph name="GLS_UNDER_USER_CONTROL" /> تنظیم شده باشد، از کاربر سؤال می‌شود می‌خواهد از خدمات مکان Google استفاده کند یا نه. این خط‌مشی به برنامه‌های Android اجازه می‌دهد از این خدمات برای پُرسمان مکان دستگاه استفاده کنند و همچنین ارسال داده‌های مکان ناشناس به Google را فعال می‌کند.
+
+      توجه داشته باشید این خط‌مشی وضعیت خدمات مکان Google را فقط درحین راه‌اندازی اولیه کنترل می‌کند. کاربر می‌تواند بعداً تنظیمات Android را باز کند و خدمات مکان Google را روشن/خاموش کند.
+
+      توجه داشته باشید وقتی خط‌مشی <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> روی <ph name="BLOCK_GEOLOCATION_SETTING" /> تنظیم شده باشد، این خط‌مشی نادیده گرفته می‌شود و خدمات مکان Google همیشه غیرفعال است.</translation>
 <translation id="6141402445226505817">همیشه از تشخیص منطقه زمانی با دقت پایین استفاده کنید</translation>
 <translation id="6145799962557135888">‏به شما امکان می‌دهد لیستی از الگوهای URL را تعیین کنید که سایت‌هایی را مشخص کند که مجازند جاوا اسکریپت اجرا کنند. اگر این قانون تنظیم نشود، از مقدار عمومی پیش‌فرض برای تمام سایت‌ها ، خواه بر گرفته از قانون "DefaultJavaScriptSetting"، در صورت تنظیم بودن، یا پیکربندی شخصی کاربر استفاده می‌شود.</translation>
 <translation id="614662973812186053">‏این خط‌مشی مصرف Android و مجموعه داده‌های عیب‌یابی را نیز کنترل می‌کند.</translation>
@@ -2641,9 +2758,17 @@
 
       اگر غیرفعال باشد، داده تکمیل خودکار فرم‌ها وارد نمی‌شود.
       اگر تنظیم نشده باقی بماند، ممکن است از کاربر در مورد وارد کردن داده‌های تکمیل خودکار فرم‌ها سؤال شود یا به‌طور خودکار وارد کردن انجام شود.</translation>
+<translation id="6221175752766085998">‏مجاز کردن گواهینامه‌های صادرشده توسط اتصالات معتمد که فاقد افزونه subjectAlternativeName هستند</translation>
 <translation id="6224304369267200483">نشانی‌های وب/دامنه‌ها به‌طور خودکار مجاز به تأیید مستقیم «کلید امنیتی» هستند</translation>
 <translation id="6233173491898450179">تنظیم دایرکتوری بارگیری</translation>
 <translation id="6244210204546589761">نشانی‌های وبی که هنگام راه‌اندازی باز می‌شوند</translation>
+<translation id="6255387031094435995">امکان می‌دهد وقتی خط‌مشی‌های انتخاب‌شده از منابع مختلفی هستند و حوزه و سطح یکسانی دارند، باهم ادغام شوند.
+
+        اگر خط‌مشی در فهرست باشد، درصورتی‌که تداخلی بین دو منبع وجود داشته باشد، و به این شرط که دو منبع حوزه و سطح یکسانی داشته باشند، مقادیر در فهرست خط‌مشی جدیدی ادغام خواهد شد.
+
+        اگر خط‌مشی در فهرست باشد، درصورتی‌که تداخلی بین دو منبع وجود داشته باشد، اما حوزه‌ها و/یا سطح نیز باهم متفاوت باشند، خط‌مشی با بالاترین اولویت اعمال خواهد شد.
+
+        اگر خط‌مشی در فهرست نباشد، درصورتی‌که تداخلی بین منابع، حوزه‌ها و/یا سطح وجود داشته باشد، خط‌مشی با بالاترین اولویت اعمال خواهد شد.</translation>
 <translation id="6258193603492867656">‏مشخص می‌کند که آیا Kerberos SPN تولید شده باید شامل یک درگاه غیر استاندارد باشد. اگر این گزینه را فعال کنید، و یک درگاه غیر استاندارد (مثلا درگاهی به غیر از 443 یا 80) وارد شده باشد، در Kerberos SPN تولید شده قرار می‌گیرد. اگر این گزینه غیرفعال باشد یا تنظیم نشده باقی بماند، Kerberos SPN تولید شده تحت هیچ شرایطی شامل درگاه نخواهد بود.</translation>
 <translation id="6261643884958898336">گزارش اطلاعات شناسایی دستگاه</translation>
 <translation id="6281043242780654992">خط‌مشی‌ها را برای پیام‌رسانی داخلی پیکربندی می‌کند. میزبان‌های پیام‌رسانی داخلی قرار گرفته در فهرست سیاه مجاز نخواهند بود مگر اینکه در فهرست سفید قرار بگیرند.</translation>
@@ -2841,6 +2966,7 @@
 <translation id="6757438632136860443">‏به شما امکان می‌دهد فهرستی از الگوهای نشانی وب را تنظیم کنید که سایت‌هایی را مشخص می‌کند که برای اجرای افزایه <ph name="FLASH_PLUGIN_NAME" /> مجاز هستند.
 
           اگر این خط‌مشی تنظیم نشود، مقدار پیش‌فرض کلی برای همه سایت‌ها استفاده می‌شود، خواه از خط‌مشی 'DefaultPluginsSetting' (اگر تنظیم شده باشد) یا پیکربندی شخصی کاربر.</translation>
+<translation id="6757613329154374267">فعال کردن پشتیبان‌گیری و بازیابی</translation>
 <translation id="6762235610019366960">به شما اجازه می‌دهد نمایش محتوای تمام‌برگه تبلیغاتی و/یا آموزشی را در <ph name="PRODUCT_NAME" /> کنترل کنید.
 
       اگر پیکربندی نشود یا فعال شود (روی درست تنظیم شود)، <ph name="PRODUCT_NAME" /> می‌تواند برای ارائه اطلاعات محصول، محتوای تمام‌برگه به کاربران نشان دهد.
@@ -2863,6 +2989,7 @@
       رشته می‌‌تواند حاوی متغیرهای ‎${ASSET_ID}‎، ‏‎${SERIAL_NUM}‎، ‏‎${MAC_ADDR}‎، ‏‎${MACHINE_NAME}‎ باشد، که پیش از استفاده به‌عنوان نام میزبان با مقادیر دستگاه جایگزین می‌شوند. نام جایگزین حاصل باید نام میزبان معتبری (براساس RFC ۱۰۳۵، بخش ۳.۱) باشد.
 
       اگر این خط‌مشی تنظیم نشود یا مقدار بعد از جایگزینی، نام میزبان معتبری نباشد، هیچ نام میزبانی در درخواست DHCP تنظیم نخواهد شد. </translation>
+<translation id="6833988859168635883">شروع‌به‌کار، صفحه اصلی و صفحه برگه جدید</translation>
 <translation id="6835883744948188639">نمایش درخواست تکرارشونده‌ای که به کاربران نشان می‌دهد راه‌اندازی مجدد توصیه شده است</translation>
 <translation id="6837480141980366278">‏کنترل می‌کند کارخواه DNS داخلی در <ph name="PRODUCT_NAME" /> استفاده شود یا نه.
 
@@ -2974,6 +3101,17 @@
 
 وقتی صفحه‌نمایش در آستانه کم‌نور شدن است، مدل کم‌نور شدن هوشمند ارزیابی می‌کند کم شدن نور صفحه‌نمایش باید به تعویق بیفتد یا نه. اگر مدل کم‌نور شدن هوشمند کم شدن نور صفحه‌نمایش را به تعویق بیندازد، ‌مدت‌زمان کم نور شدن صفحه‌نمایش را به‌طور موثری افزایش می‌دهد. دراین‌صورت، تأخیرهای خاموش شدن صفحه، قفل شدن صفحه و بدون فعالیت شدن دستگاه طوری تنظیم می‌شود تا فاصله زمانی‌شان از کم شدن نور صفحه تفاوتی با پیکربندی اولیه نداشته باشد.
       اگر این خط‌مشی روی «درست» تنظیم شود یا تنظیم نشود، مدل کم‌نور شدن هوشمند فعال می‌شود و به آن اجازه داده می‌شود زمان کم نور شدن صفحه را افزایش دهد. اگر این خط‌مشی روی «نادرست» تنظیم شود، مدل کم‌نور شدن هوشمند روی کم شدن نور صفحه تأثیری نمی‌گذارد.</translation>
+<translation id="6967394885063085697">‏فعال کردن خط‌مشی مدیریت نیروی حالت پیشرفته شارژ باتری.
+
+          «حالت پیشرفته شارژ باتری» به کاربر امکان می‌دهد سلامت باتری را به‌حداکثر برساند. در «حالت شارژ پیشرفته»، سیستم درطول ساعات غیرکاری با هدف به‌حداکثر رساندن سلامتی باتری از الگوریتم شارژ استاندارد و سایر تکنیک‌ها استفاده می‌کند. در ساعات کاری، از شارژ سریع استفاده می‌شود. شارژ سریع اجازه می‌دهد باتری سریع‌تر شارژ شود؛ بنابراین، باتری سریع‌تر به شارژ کامل می‌رسد. با استفاده از زمان شروع و مدت‌زمان، زمان‌هایی که بیشترین استفاده از سیستم انجام می‌شود برای هر روز تعیین می‌شود.
+
+          اگر این خط‌مشی روی درست تنظیم شود، و DeviceAdvancedBatteryChargeModeDayConfig تنظیم شده باشد، حالت پیشرفته شارژ باتری همیشه فعال خواهد بود (اگر این حالت در دستگاه پشتیبانی شود).
+
+          اگر این خط‌مشی روی نادرست تنظیم شود، حالت پیشرفته شارژ باتری همیشه غیرفعال خواهد بود.
+
+          اگر این خط‌مشی را تنظیم کنید، کاربران نمی‌توانند آن را تغییر دهند یا لغو کنند.
+
+          اگر این خط‌مشی تنظیم نشود، حالت پیشرفته شارژ باتری غیرفعال است و کاربر نمی‌تواند آن را فعال کند.</translation>
 <translation id="6972540544240464302">انتخاب پیکربندی برنامه‌ریز کار</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="6994082778848658360">‏مشخص می‌کند سخت‌افزار داخلی عنصر امن چگونه می‌تواند برای ارائه تأیید هویت با دو فاکتور (در صورت سازگار بودن با این قابلیت) استفاده شود. دکمه روشن/خاموش دستگاه برای تشخیص حضور فیزیکی کاربر استفاده می‌شود.
@@ -3040,6 +3178,17 @@
       اگر این تنظیم را فعال یا غیرفعال کنید، کاربران نمی‌توانند آنرا تغییر داده یا لغو کنند.
 
       اگر خط‌مشی تنظیم نشود کاربر می‌تواند انتخاب کند که آیا از وی برای باز کردن قفل دستگاه، گذرواژه درخواست شود یا خیر.</translation>
+<translation id="7107148737865880402">‏فعال کردن خط‌مشی مدیریت نیروی اشتراک‌گذاری شارژ با USB.
+
+          برخی از دستگاه‌ها درگاه USB مخصوصی با علامت رعدوبرق یا نماد باتری دارند که می‌توان ازطریق آن دستگاه‌هایی مانند تلفن همراه را با استفاده از باتری سیستم شارژ کرد. وقتی سیستم در حالت خواب یا خاموش است، این خط‌مشی روی عملکرد شارژ این درگاه تأثیر می‌گذارد. هنگام بیدار بودن سیستم، این خط‌مشی بر درگاه‌های USB دیگر و همچنین عملکرد شارژ بی‌تأثیر است.
+
+          وقتی سیستم بیدار است، این درگاه USB همواره برق تأمین می‌کند.
+
+          درحالت خواب، اگر این خط‌مشی روی درست تنظیم شده باشد، وقتی دستگاه به پریز برق وصل است یا سطح باتری بیشتر از ۵۰٪ است، درگاه USB برق خواهد داشت. درغیراین‌صورت، برق نخواهد داشت.
+
+          در حالت خاموش، اگر این خط‌مشی روی درست تنظیم شده باشد، وقتی دستگاه به پریز برق وصل است این درگاه USB برق خواهد داشت. درغیراین‌صورت، برق نخواهد داشت.
+
+          اگر این خط‌مشی بدون تنظیم باشد، خط‌مشی فعال است و کاربر نمی‌تواند آن را غیرفعال کند.</translation>
 <translation id="7115494316187648452">تعیین می‌کند که آیا یک فرآیند <ph name="PRODUCT_NAME" /> هنگام ورود به سیستم‌عامل شروع شود و با بسته شدن آخرین پنجره مرورگر اجرای آن ادامه یابد یا نه، و به برنامه‌های پس‌زمینه و جلسه کنونی مرور (از جمله هر کوکی جلسه‌ای) اجازه می‌دهد که فعال باقی بمانند. فرآیند پس‌زمینه دارای نمادی در سینی سیستم است و همیشه می‌تواند از آنجا بسته شود.
 
       اگر این خط‌مشی روی درست تنظیم شود، حالت پس‌زمینه فعال می‌شود و نمی‌تواند توسط کاربر در تنظیمات مرورگر کنترل شود.
@@ -3090,6 +3239,7 @@
           اگر این خط‌مشی روی درست تنظیم شود یا تنظیم نشود، wake lock صفحه برای مدیریت شارژ باتری استفاده خواهد شد؛ مگراینکه AllowWakeLocks روی نادرست تنظیم شود.
 
           اگر این خط‌مشی روی نادرست تنظیم شود، درخواست‌های wake lock صفحه به درخواست‌های wake lock سیستم تنزل می‌یابد.</translation>
+<translation id="7177857088692019405">باز کردن سریع قفل</translation>
 <translation id="7185078796915954712">امنیت لایه انتقال ۱.۳</translation>
 <translation id="718956142899066210">انواع اتصال مجاز برای به‌روزرسانی‌ها</translation>
 <translation id="7194407337890404814">نام ارائه دهنده جستجوی پیش‌فرض</translation>
@@ -3155,6 +3305,7 @@
 <translation id="7273823081800296768">اگر این تنظیم فعال شود یا پیکربندی نشود، کاربران می‌توانند در زمان اتصال، میزبان‌ها و کلاینت‌های جفت شونده را انتخاب کنند و نیاز وارد کردن پین در هر دفعه را برطرف کنند.
 
  اگر این تنظیمات غیرفعال شود، این قابلیت در دسترس نخواهد بود.</translation>
+<translation id="7274077256421167535">‏فعال کردن اشتراک‌گذاری شارژ با USB</translation>
 <translation id="7275334191706090484">نشانک‌های مدیریت شده</translation>
 <translation id="7291084543582732020">‏اگر این تنظیم را فعال کنید، کاربران درصورت برآورده شدن شرایط لازم این ویژگی، می‌توانند از Smart Lock استفاده کنند.
 
@@ -3168,6 +3319,7 @@
 
  این قانون تنها درصورتی‌که قانون "DefaultSearchProviderEnabled" فعال باشد مورد استفاده قرار می‌گیرد.</translation>
 <translation id="7302043767260300182">تأخیر قفل صفحه هنگام کار با برق</translation>
+<translation id="7305262223970835999">‏صفحه‌ای را برای کاربران SAML فعال می‌کند که بتوانند درطول جلسه گذرواژه را تغییر دهند.</translation>
 <translation id="7311458740754205918">اگر این خط‌مشی روی درست تنظیم شود یا تنظیم نشود، صفحه «برگه جدید» می‌تواند براساس سابقه مرور، علایق یا مکان کاربر، پیشنهادهای محتوا نشان دهد.
 
       اگر روی نادرست تنظیم شود، پیشنهادهای محتوایی که به‌طور خودکار ایجاد می‌شوند، در صفحه «برگه جدید» نشان داده نمی‌شود.</translation>
@@ -3289,6 +3441,15 @@
       اگر مقدار این خط‌مشی ۰ باشد، اندازه حافظه پنهان پیش‌فرض استفاده خواهد شد اما کاربر نمی‌تواند آن را تغییر دهد.
 
       اگر این خط‌مشی تنظیم نشده باشد اندازه پیش‌فرض استفاده می‌شود و کاربر می‌تواند با پرچم --اندازه حافظه پنهان دیسک از آن حد پیش‌تر برود.</translation>
+<translation id="759389052790680884">‏تنظیم توقف سفارشی شارژ باتری به‌صورت درصد شارژ.
+
+          وقتی شارژ باتری به مقدار توقف سفارشی شارژ باتری برسد، شارژ باتری متوقف می‌شود.
+
+          DeviceBatteryChargeCustomStartCharging باید کمتر از DeviceBatteryChargeCustomStopCharging باشد.
+
+          فقط زمانی از این خط‌مشی استفاده می‌شود که DeviceBatteryChargeMode روی سفارشی تنظیم شده باشد.
+
+          اگر این خط‌مشی پیکربندی یا تنظیم نشود، حالت استاندارد شارژ باتری اعمال می‌شود.</translation>
 <translation id="759957074386651883">تنظیمات مرور ایمن</translation>
 <translation id="7604169113182304895">‏ممکن است برنامه‌های Android به‌طور داوطلبانه از این فهرست استفاده کنند اما شما نمی‌توانید آن‌ها را مجبور به استفاده از این فهرست کنید.</translation>
 <translation id="7612157962821894603">پرچم‌های سیستم که باید هنگام شروع به کار <ph name="PRODUCT_NAME" /> در همه سیستم اعمال شوند</translation>
@@ -3363,6 +3524,15 @@
 <translation id="7712109699186360774">هربار که سایتی می‌خواهد به دوربین و/یا میکروفون من دسترسی داشته باشد، پرسیده شود</translation>
 <translation id="7713608076604149344">محدودیت‌های بارگیری</translation>
 <translation id="7715711044277116530">درصدی که با آن تأخیر عدم فعالیت صفحه نمایش در حالت ارائه اندازه‌گیری می‌شود (منسوخ‌شده)</translation>
+<translation id="7716781462866245042">‏تنظیم پیکربندی روز حالت پیشرفته شارژ باتری.
+
+          تنها در صورتی از این خط‌مشی استفاده می‌شود که DeviceAdvancedBatteryChargeModeEnabled روی درست تنظیم شده باشد.
+
+          اگر این خط‌مشی پیکربندی یا تنظیم نشود، حالت پیشرفته شارژ باتری همیشه غیرفعال خواهد بود.
+
+          توجه: <ph name="CHARGE_START_TIME_FIELD_NAME" /> باید کمتر از <ph name="CHARGE_END_TIME_FIELD_NAME" /> باشد.
+
+          توجه: مقادیر مجاز برای فیلد <ph name="MINUTE_FIELD_NAME" /> در <ph name="CHARGE_START_TIME_FIELD_NAME" /> و <ph name="CHARGE_END_TIME_FIELD_NAME" /> ۰، ۱۵، ۳۰، ۴۵ است.</translation>
 <translation id="7717938661004793600">پیکربندی ویژگی‌های دسترس‌پذیری <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">‏این خط‌مشی، HTTP/0.9 را در درگاه‌هایی به‌جز 80 برای HTTP و 443 برای HTTPS فعال می‌کند.
 
@@ -3436,6 +3606,7 @@
       شناسه برنامه افزودنی را تعیین می‌کند تا به صورت محافظ صفحه در صفحه ورود به سیستم استفاده شود. برنامه افزودنی باید بخشی از AppPack باشد که برای این دامنه از طریق ‌خط‌مشی DeviceAppPack پیکربندی می‌شود.</translation>
 <translation id="7882857838942884046">‏غیرفعال کردن همگام‌سازی Google باعث می‌شود پشتیبان‌گیری و بازیابی Android به‌درستی عمل نکنند.</translation>
 <translation id="7882890448959833986">جلوگیری از هشدارهای سیستم‌عامل پشتیبانی‌نشده</translation>
+<translation id="7895553628261067384">دسترسی راه‌دور</translation>
 <translation id="7902255855035461275">الگوهای این فهرست با منشأ امنیتی نشانی وب درخواستی مطابقت داده می‌شود.
       اگر مورد منطبقی پیدا شود، دسترسی به دستگاه‌های ضبط ویدیو بدون
       درخواست شدن ارائه می‌شود.
@@ -3449,6 +3620,11 @@
 <translation id="7937491150792971922">ادغام خط‌مشی‌های فهرست نصب افزونه از چند منبع</translation>
 <translation id="7937766917976512374">مجاز بودن یا ردکردن ضبط ویدئو</translation>
 <translation id="7941975817681987555">کنش‌های شبکه در هیچ اتصال شبکه‌ای پیش‌بینی نمی‌شود</translation>
+<translation id="7952007677054834789">‏صفحه‌هایی که هنگام شروع‌به‌کار بارگیری می‌شوند، صفحه اصلی پیش‌فرض و صفحه برگه جدید پیش‌فرض را در <ph name="PRODUCT_NAME" /> پیکربندی می‌کند و از تغییر آن‌ها توسط کاربر جلوگیری می‌کند.
+
+      تنظیمات صفحه اصلی تنها در صورتی برای کاربران قفل می‌شود که یا صفحه اصلی را روی صفحه برگه جدید تنظیم کنید، یا آن را روی نشانی وبی تنظیم کنید و نشانی وب صفحه اصلی را مشخص کنید. اگر نشانی وب صفحه اصلی را مشخص نکنید، کاربر همچنان می‌تواند با مشخص کردن «chrome://newtab»، صفحه اصلی را روی صفحه برگه جدید تنظیم کند.
+
+      فقط درصورتی خط‌مشی «نشانی‌های وب برای باز شدن هنگام راه‌اندازی» لحاظ می‌شود که «باز شدن فهرستی از نشانی‌های وب» را در «کنش هنگام راه‌اندازی» انتخاب کنید.</translation>
 <translation id="7952958573604504839">‏این خط‌مشی در M48 به‌نفع <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> منسوخ می‌شود و در M54 حذف می‌شود.
 
       پیش‌بینی شبکه را در <ph name="PRODUCT_NAME" /> فعال می‌کند و به کاربران اجازه نمی‌دهد این تنظیم را تغییر دهند.
@@ -3587,6 +3763,7 @@
 <translation id="8176035528522326671">به کاربر سازمانی امکان داده شود که فقط کاربر اصلی با چند نمایه باشد (رفتار پیش‌فرض برای کاربران مدیریت شده سازمانی)</translation>
 <translation id="8214600119442850823">مدیر گذرواژه را پیکربندی می‌کند.</translation>
 <translation id="8217516105848565518">‏این خط‌مشی منسوخ شده است. لطفاً درعوض از RemoteAccessHostDomainList استفاده کنید.</translation>
+<translation id="8244171102276095471">‏فعال کردن مجموعه‌های رمز RC4 در TLS</translation>
 <translation id="8244525275280476362">حداکثر تأخیر واکشی پس از ابطال قانون</translation>
 <translation id="8256688113167012935">کنترل می‌کند نام حساب <ph name="PRODUCT_OS_NAME" /> در صفحه ورود به سیستم برای حساب موردنظر داخل دستگاه نشان داده شود.
 
@@ -3627,6 +3804,7 @@
 <translation id="8312129124898414409">‏به شما امکان می‌دهد تعیین کنید آیا وب‌سایت‌ها مجاز به استفاده از تولید کلید هستند یا نه. استفاده از تولید کلید می‌تواند یا برای همه وب‌سایت‌ها مجاز شود یا برای همه وب‌سایت‌ها ممنوع شود.
 
           اگر این خط‌مشی تنظیم نشود، «BlockKeygen» استفاده می‌شود و کاربر می‌تواند آن را تغییر دهد.</translation>
+<translation id="8320149248919453401">حالت شارژ باتری</translation>
 <translation id="8329984337216493753">‏این خط‌مشی فقط در حالت خرده‌فروشی فعال است.
 
       وقتی DeviceIdleLogoutTimeout مشخص شود، این خط‌مشی طول مدت زمان کادر اخطار با یک تایمر شمارش معکوس را مشخص می‌کند که قبل از انجام خروج از سیستم، به کاربر نشان داده می‌شود.
@@ -3785,6 +3963,7 @@
       اگر تنظیم نشود، از دوره زمانی پیش‌فرض ۳۴۵۶۰۰۰۰۰ میلی‌ثانیه (چهار روز) برای دستگاه‌های <ph name="PRODUCT_OS_NAME" /> و ۶۰۴۸۰۰۰۰۰ میلی‌ثانیه (یک هفته) برای <ph name="PRODUCT_NAME" /> استفاده می‌شود.</translation>
 <translation id="8685024486845674965">هشدار حفاظت با گذرواژه با استفاده مجدد گذرواژه راه‌اندازی شده است</translation>
 <translation id="8693243869659262736">‏استفاده از کلاینت DNS داخلی</translation>
+<translation id="8698286761337647563">‏تعداد روزهایی که پیش از منقضی شدن گذرواژه کاربران SAML، اطلاع‌رسانی به آن‌ها انجام می‌شود</translation>
 <translation id="8703488928438047864">گزارش وضعیت بورد</translation>
 <translation id="8703872185032220081">‏پیکربندی روزانه تغییر مصرف انرژی را تنظیم می‌کند.
 
@@ -3833,6 +4012,7 @@
       اگر این تنظیم غیرفعال شود یا تنظیم نشود، سرویس محافظت از گذرواژه کاربران را برای تغییر گذرواژه به https://myaccounts.google.com هدایت می‌کند.
       این خط‌مشی تنها در نمونه‌های Windows که به دامنه <ph name="MS_AD_NAME" /> پیوسته‌اند، یا در نمونه‌های Windows 10 Pro یا Enterprise که برای مدیریت دستگاه ثبت‌نام شده‌اند دردسترس است.</translation>
 <translation id="8798099450830957504">پیش‌فرض</translation>
+<translation id="8800453707696044281">تنظیم توقف سفارشی شارژ باتری به‌صورت درصد شارژ</translation>
 <translation id="8801680448782904838">اعلان به کاربر درباره اینکه راه‌اندازی مجدد مرورگر یا بازراه‌اندازی دستگاه توصیه می‌شود یا لازم است</translation>
 <translation id="8818173863808665831">موقعیت مکانی دستگاه را گزارش دهید.
 
@@ -3961,6 +4141,11 @@
       این خط‌مشی تنها مشمول کاربرانی می‌شود که با استفاده از SAML احراز هویت می‌کنند.
 
       مقدار این خط‌مشی باید به ثانیه مشخص شود.</translation>
+<translation id="9018338365267278833">این خط‌مشی افزونه‌های موجود در <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> یا افزونه‌های موجود در <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> را که حالت نصب آن‌ها روی مسدود تنظیم شده است برمی‌دارد و داده‌های محلی کاربر را نیز به‌طور دائم حذف می‌کند.  برای اینکه متوجه شوید برای داده‌های کاربر که به‌صورت محلی ذخیره نشده است چه اتفاقی می‌افتد، به خط‌مشی رازداری افزونه‌ها یا خط‌مشی نگهداری داده رجوع کنید.
+
+      وقتی این خط‌مشی روی فعال تنظیم شود، افزونه‌هایی که در فهرست‌های مذکور قرار دارند (اگر قبلاً در ماشین نصب شده باشند)، به‌طور کامل از آن ماشین برداشته می‌شوند (ازجمله داده‌های محلی کاربر).
+
+      وقتی این خط‌مشی روی غیرفعال تنظیم شود یا تنظیم نشود، افزونه‌هایی که در فهرست‌های مذکور قرار دارند (اگر قبلاً در ماشین نصب شده و در فهرست سیاه <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> باشند)، در ماشین غیرفعال می‌شوند و حذف نصب نمی‌شوند.</translation>
 <translation id="9027787254195333560">‏این خط‌مشی به شما امکان می‌دهد تصویر چهره‌نمای معرف کاربر را در صفحه ورود به سیستم پیکر‌بندی کنید. این خط‌مشی با مشخص کردن نشانی‌ وبی تنظیم می‌شود که<ph name="PRODUCT_OS_NAME" /> از آنجا می‌تواند تصویر چهره‌نما و درهم‌سازی رمزگذاری‌شده (مورد استفاده برای تأیید یکپارچگی بارگیری) را بارگیری کند. این تصویر باید در قالب JPEG باشد و اندازه آن نباید از ۵۱۲ کیلوبایت بیشتر شود. نشانی وب باید بدون احراز هویت قابل دسترسی باشد.
 
       تصویر چهره‌نما بارگیری و در حافظه پنهان ذخیره می‌شود. هرگاه نشانی وب یا درهم‌سازی تغییر کند، دوباره بارگیری خواهد شد.
diff --git a/components/policy/resources/policy_templates_fi.xtb b/components/policy/resources/policy_templates_fi.xtb
index c9cf313..b7c7732 100644
--- a/components/policy/resources/policy_templates_fi.xtb
+++ b/components/policy/resources/policy_templates_fi.xtb
@@ -1341,7 +1341,7 @@
      Jos käytännön arvoksi on asetettu DeveloperToolsDisallowed (arvo 2), kehittäjätyökaluja ei voi käyttää eikä verkkosivustojen elementtejä enää voi tarkastaa. Kehittäjän työkalut tai JavaScript-konsolin avaavat pikanäppäimet ja valikkokohteet poistetaan käytöstä.</translation>
 <translation id="3547954654003013442">Välityspalvelimen asetukset</translation>
 <translation id="355118380775352753">Sivustot, jotka avataan vaihtoehtoisessa selaimessa</translation>
-<translation id="3554984410014457319">Salli Google Assistantin kuunnella puhekomento</translation>
+<translation id="3554984410014457319">Salli Google Assistantin kuunnella äänikomento</translation>
 <translation id="3577251398714997599">Häiritseviä mainoksia sisältävien sivustojen mainosasetukset</translation>
 <translation id="357917253161699596">Anna käyttäjien määrittää käyttäjävarmenteet</translation>
 <translation id="3583230441447348508">Määrittää luettelon ennalta määritetyistä verkon tiedostojaoista.
@@ -1574,11 +1574,11 @@
       Tuotetta <ph name="PRODUCT_OS_NAME" /> käyttävät laitteet hakevat päivityksiä automaattisesti, jos tätä asetusta ei ole määritetty tai sen arvo on epätosi.
 
       Varoitus: suosittelemme pitämään automaattiset päivitykset käytössä, jotta käyttäjät saavat ohjelmistopäivitykset ja kriittiset suojauspäivitykset. Automaattisten päivitysten poistaminen käytöstä voi vaarantaa käyttäjiä.</translation>
-<translation id="4018000735882846261">Tämä käytäntö antaa Google Assistantille luvan kuunnella puhekomennon.
+<translation id="4018000735882846261">Tämä käytäntö antaa Google Assistantille luvan kuunnella äänikomennon.
 
-      Jos käytäntö on käytössä, Google Assistant kuuntelee puhekomennon.
-      Jos käytäntö ei ole käytössä, Google Assistant ei kuuntele puhekomentoa.
-      Jos käytäntöä ei ole määritetty, Google Assistant ei kuuntele puhekomentoa.
+      Jos käytäntö on käytössä, Google Assistant kuuntelee äänikomennon.
+      Jos käytäntö ei ole käytössä, Google Assistant ei kuuntele äänikomentoa.
+      Jos käytäntöä ei ole määritetty, Google Assistant ei kuuntele äänikomentoa.
       </translation>
 <translation id="4020682745012723568">Android-sovellukset eivät voi käyttää käyttäjän profiiliin siirrettyjä evästeitä.</translation>
 <translation id="402759845255257575">Älä salli sivustojen käyttää JavaScriptiä</translation>
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index 4c525cdd..0e7b17dc 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -589,7 +589,7 @@
           Si cette règle n'est pas définie, les quatre modèles seront utilisés.</translation>
 <translation id="2067011586099792101">Bloquer l'accès aux sites en dehors des packs de contenu</translation>
 <translation id="2073552873076775140">Autoriser la connexion à <ph name="PRODUCT_NAME" /></translation>
-<translation id="2077129598763517140">Utiliser l'accélération matérielle (le cas échéant)</translation>
+<translation id="2077129598763517140">Utiliser l'accélération matérielle si disponible</translation>
 <translation id="2077273864382355561">Délai d'arrêt de l'écran (batterie)</translation>
 <translation id="2082205219176343977">Configurer la version Chrome minimale autorisée de l'appareil.</translation>
 <translation id="209586405398070749">Version stable</translation>
diff --git a/components/policy/resources/policy_templates_gu.xtb b/components/policy/resources/policy_templates_gu.xtb
index 554f030d..3d2e7dc 100644
--- a/components/policy/resources/policy_templates_gu.xtb
+++ b/components/policy/resources/policy_templates_gu.xtb
@@ -54,6 +54,13 @@
 <translation id="1049138910114524876"><ph name="PRODUCT_OS_NAME" /> સાઇન-ઇન સ્ક્રીન પર લાગુ કરેલ લોકેલને ગોઠવે છે.
 
       જો આ નીતિ સેટ કરેલ હોય, તો સાઇન-ઇન સ્ક્રીન, હંમેશાં તે લોકેલમાં પ્રદર્શિત કરવામાં આવશે કે જે આ નીતિ (નીતિને ફોરવર્ડ સુસંગતતા માટે સૂચિ તરીકે પરિભાષિત કરવામાં આવેલ છે) ના પ્રથમ મૂલ્ય દ્વારા આપવામાં આવેલ હોય.  જો આ નીતિ સેટ કરેલ ન હોય અથવા તો ખાલી સૂચિ પર સેટ કરેલ હોય, તો સાઇન-ઇન સ્ક્રીન, છેલ્લા વપરાશકર્તા સત્રના લોકેલમાં પ્રદર્શિત કરવામાં આવશે. જો આ નીતિ, કોઈ માન્ય લોકેલ ન હોય તેવા મૂલ્ય પર સેટ કરેલ હોય, તો સાઇન-ઇન સ્ક્રીન, ફૉલબૅક લોકેલ (હાલમાં en-US) માં પ્રદર્શિત કરવામાં આવશે.</translation>
+<translation id="1052499923181221200">જો SamlInSessionPasswordChangeEnabled true ન હોય, તો આ નીતિની કોઈ અસર થતી નથી.
+      જો તે નીતિ true હોય અને આ નીતિ (ઉદાહરણ તરીકે) 14 પર સેટ કરેલી હોય, તો તેનો અર્થ છે કે SAML વપરાશકર્તાઓને 14 દિવસ આગોતરી સૂચના મોકલવામાં આવશે કે અમુક ચોક્કસ તારીખે તેમના પાસવર્ડની સમય સમાપ્તિ થઈ જશે.
+      ત્યાર પછી તેઓ પાસવર્ડની સમય સમાપ્તિ પહેલાં સત્રમાં પાસવર્ડ બદલીને અને તેમનો પાસવર્ડ અપડેટ કરીને આ સમસ્યા તાત્કાલિક ઉકેલી શકે છે.
+      પણ, જો SAML લૉગ ઇન ફ્લો દરમિયાન SAML ઓળખ પ્રદાતા દ્વારા ડિવાઇસ પર પાસવર્ડ સમાપ્ત થવાની માહિતી મોકલવામાં આવી હોય, તો જ આ નોટિફિકેશન બતાવવામાં આવશે.
+      આ નીતિને શૂન્ય પર સેટ કરવાનો અર્થ છે કે વપરાશકર્તાઓને આગોતરી સૂચના આપવામાં આવશે નહીં - એકવાર તેમના પાસવર્ડની સમય સમાપ્તિ થઈ ગયા પછી જ તેમને સૂચના મોકલવામાં આવશે.
+
+      જો આ નીતિ સેટ કરેલી હોય, તો વપરાશકર્તા તેને બદલી કે ઓવરરાઇડ કરી શકતા નથી.</translation>
 <translation id="1062011392452772310">આ ડિવાઇસ માટેના રીમોટ પ્રમાણનને ચાલુ કરો</translation>
 <translation id="1062407476771304334">બદલો</translation>
 <translation id="1079801999187584280">ડેવલપરના સાધનોનો ઉપયોગ નામંજૂર કરો</translation>
@@ -214,6 +221,7 @@
       જો નીતિ ચાલુ હોય, તો Google આસિસ્ટંટને સ્ક્રીનના સંદર્ભને ઍક્સેસ કરવાની મંજૂરી અપાશે.
       જો નીતિ બંધ હોય, તો Google આસિસ્ટંટને સ્ક્રીનનો સંદર્ભ ઍક્સેસ કરવાની મંજૂરી અપાશે નહીં.
       જો સેટ નહીં કરી હોય, તો Google આસિસ્ટંટને સ્ક્રીનના સંદર્ભને ઍક્સેસ કરવાની મંજૂરી આપવી કે નહીં તે વપરાશકર્તાઓ નક્કી કરશે</translation>
+<translation id="1376119291123231789">વિગતવાર બૅટરી ચાર્જ મોડ ચાલુ કરો</translation>
 <translation id="1383493480903114193">આ પૉલિસી બ્રાઉઝર પ્રક્રિયામાં નેટવર્કિંગ કોડ ચલાવવાનું જરૂરી બનાવે છે.
 
       આ પૉલિસીને ડિફૉલ્ટ તરીકે બંધ કરેલી હોય છે અને જો ચાલુ કરેલી હોય, તો એકવાર નેટવર્ક પ્રક્રિયા sandboxe થઈ જાય તે પછી વપરાશકર્તાઓને સુરક્ષા મુશ્કેલીઓના પ્રતિ જોખમમાં નાખે છે.
@@ -314,6 +322,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">તૃતીય-પક્ષના સૉફ્ટવેર ઇન્જેક્શન બ્લૉક કરવાનું ચાલુ કરો</translation>
 <translation id="1504431521196476721">દૂરસ્થ પ્રમાણન</translation>
+<translation id="1507382822467487898">
+          જ્યારે ડૉક ડિવાઇસ સાથે કનેક્ટ કરેલું હોય ત્યારે કયું MAC (મીડિયા ઍક્સેસ કન્ટ્રોલ) ઍડ્રેસનો ઉપયોગ થશે તેની ગોઠવણ કરે છે.
+
+          જ્યારે ડૉક કોઈ ડિવાઇસ મૉડલ સાથે કનેક્ટ કરેલું હોય, ત્યારે ડિવાઇસ પર ઇથરનેટની ઓળખ કરવા માટે ડિફૉલ્ટ રૂપે ડિવાઇસના નિયુક્ત કરેલા ડૉક MAC ઍડ્રેસનો ઉપયોગ કરવામાં આવે છે. ડૉક કરેલું હોય ત્યારે આ નીતિ વ્યવસ્થાપકને MAC ઍડ્રેસનો સ્રોત બદલવાની મંજૂરી આપે છે.
+
+          જો 'DeviceDockMacAddress' પસંદ કર્યું હોય અથવા નીતિ સેટ કર્યા વિના રાખી હશે, તો ડિવાઇસના નિયુક્ત કરેલા ડૉક MAC ઍડ્રેસનો ઉપયોગ કરવામાં આવશે.
+
+          જો 'DeviceNicMacAddress' પસંદ કર્યું હશે, તો ડિવાઇસના NIC (નેટવર્ક ઇન્ટરફેસ કન્ટ્રોલર) MAC ઍડ્રેસનો ઉપયોગ કરવામાં આવશે.
+
+          જો 'DockNicMacAddress' પસંદ કર્યું હશે, તો ડૉકના NIC MAC ઍડ્રેસનો ઉપયોગ કરવામાં આવશે.
+
+          વપરાશકર્તા દ્વારા આ સેટિંગ બદલી શકાશે નહીં.</translation>
 <translation id="1507957856411744193">જો આ નીતિને True પર સેટ કરેલ હોય, તો <ph name="PRODUCT_NAME" /> માત્ર RFC1918/RFC4193 ગોપનીય ઍડ્રેસ પરનાં જ નહીં, પરંતુ બધાં જ IP ઍડ્રેસ પરના કાસ્ટ ઉપકરણો પર કનેક્ટ કરશે.
 
           જો આ નીતિને False પર સેટ કરેલ હોય, તો <ph name="PRODUCT_NAME" /> માત્ર RFC1918/RFC4193 ગોપનીય ઍડ્રેસ પરના કાસ્ટ ઉપકરણો પર જ કનેક્ટ કરશે.
@@ -737,6 +757,17 @@
 <translation id="2303795211377219696">ક્રેડિટ કાર્ડ માટે ઑટોમૅટિક રીતે ભરાવાનું ચાલુ કરો</translation>
 <translation id="2309390639296060546">ડિફોલ્ટ ભૌગોલિકસ્થાન સેટિંગ</translation>
 <translation id="2327252517317514801">G Suiteને ઍક્સેસ કરવા માટે મંજૂર થયેલા ડોમેન વ્યાખ્યાયિત કરો</translation>
+<translation id="2356878440219553005">બૅટરી ચાર્જ મોડ પાવર મેનેજમેન્ટ નીતિનો ઉલ્લેખ કરે છે.
+
+          બૅટરીના ઘસારાને કારણે બૅટરી ખલાસ થવાની ઘટના સૌથી વધુ ઘટાડવા માટે બૅટરી ચાર્જિંગનું નિયંત્રણ કરો અને બૅટરીની આવરદા વધારો.
+
+          જો કસ્ટમ બૅટરી ચાર્જ મોડ પસંદ કરેલો હોય, તો DeviceBatteryChargeCustomStartCharging અને DeviceBatteryChargeCustomStopCharging ઉલ્લેખિત હોવા જરૂરી છે.
+
+          જો આ નીતિ સેટ કરેલી હોય, તો ડિવાઇસમાં સમર્થિત હોય તો બૅટરી ચાર્જ મોડ લાગુ કરવામાં આવશે.
+
+          જો આ નીતિને સેટ કર્યા વિના રાખી હોય અને ડિવાઇસમાં નીતિ સમર્થિત હોય, તો માનક બૅટરી ચાર્જ મોડ લાગુ કરવામાં આવશે અને વપરાશકર્તા તેને બદલી શકશે નહીં.
+
+          નોંધ: જો <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" />નો ઉલ્લેખ કરેલો હોય, તો તે આ નીતિને ઓવરરાઇડ કરે છે.</translation>
 <translation id="237494535617297575">તમને url પૅટર્નની એક સૂચિ સેટ કરવા દે છે જે સૂચનાઓને બતાવવાની મંજૂરી આપતી સાઇટનો ઉલ્લેખ કરે છે.
 
           જો આ નીતિ સેટ કર્યા વિના છોડી હોય તો 'DefaultNotificationsSetting' નીતિએ જો સેટ કરી હોય તો તે, અથવા વપરાશકર્તાની વ્યક્તિગત ગોઠવણીમાંથી વૈશ્વિક ડિફૉલ્ટ મૂલ્યનો ઉપયોગ તમામ સાઇટ માટે કરવામાં આવશે.</translation>
@@ -774,6 +805,7 @@
 
       જો આ નીતિ false પર સેટ કરેલી છે, તો પળવારમાં ઑટોમૅટિક રીતે લૉગ ઇન પર (જો ગોઠવેલું હોય) બાયપાસ કરી શકાતું નથી.</translation>
 <translation id="2454228136871844693">સ્થિરતા માટે ઑપ્ટિમાઇઝ કરો.</translation>
+<translation id="2463034609187171371">TLSમાંના DHE સાઇફર સ્યૂટ ચાલુ કરો</translation>
 <translation id="2463365186486772703">ઍપ્લિકેશન લોકૅલ</translation>
 <translation id="2466131534462628618">કૅપ્ટિવ પોર્ટલ પ્રમાણીકરણ પ્રૉક્સીને અવગણે છે</translation>
 <translation id="2482676533225429905">મૂળ મેસેજિંગ</translation>
@@ -952,6 +984,7 @@
 <translation id="2769952903507981510">રીમોટ ઍક્સેસ હોસ્ટ્સ માટે આવશ્યક ડોમેન નામ ગોઠવે છે</translation>
 <translation id="2787173078141616821">Android ની સ્થિતિ વિશે માહિતીની જાણ કરો</translation>
 <translation id="2799297758492717491">URL પૅટર્નના વ્હાઇટલિસ્ટ પર મીડિયા ઑટોપ્લેને મંજૂરી આપો</translation>
+<translation id="2801155097555584385">બૅટરી ચાર્જ કસ્ટમ ચાર્જિંગ શરૂ કરોની ટકાવારી સેટ કરો</translation>
 <translation id="2801230735743888564">જ્યારે ડિવાઇસ ઓફલાઇન હોય ત્યારે વપરાશકર્તાઓને ડાઇનોસોર ઈસ્ટર એગ રમત રમવાની મંજૂરી આપો.
 
       જો આ નીતિ ફોલ્સ પર સેટ કરેલ છે, તો જ્યારે ડિવાઇસ ઓફલાઇન હોય ત્યારે વપરાશકર્તાઓ ડાઇનોસોર ઈસ્ટર એગ રમત રમવામાં સમર્થ થશે નહીં. જો આ સેટિંગ ટ્રુ પર સેટ કરેલ છે, તો વપરાશકર્તાઓને ડાઇનોસોર ઈસ્ટર એગ રમત રમવાની મંજૂરી આપવામાં આવે છે. જો આ નીતિ સેટ કરેલ નથી, તો વપરાશકર્તાઓને નોંધણી કરેલ Chrome OS પર ડાઇનોસોર ઈસ્ટર એગ રમત રમવાની મંજૂરી આપવામાં આવતી નથી, પરંતુ તેઓને અન્ય સંજોગો હેઠળ તેને રમવાની મંજૂરી આપવામાં આવે છે.</translation>
@@ -1026,6 +1059,7 @@
       જો તમે આ સેટિંગ બંધ કરો અથવા કોઈ મૂલ્ય સેટ ન કરો, તો પ્રિન્ટ પ્રીવ્યૂ ડિફૉલ્ટ ગંતવ્ય પસંદગી તરીકે એકદમ તાજેતરમાં વાપરેલ પ્રિન્ટરનો ઉપયોગ કરશે.
 
       જો તમે આ સેટિંગ ચાલુ કરો છો, તો પ્રિન્ટ પ્રીવ્યૂ ડિફૉલ્ટ પ્રિન્ટરની પસંદગી તરીકે OS સિસ્ટમ ડિફૉલ્ટ પ્રિન્ટરનો ઉપયોગ કરશે.</translation>
+<translation id="285627849510728211">વિગતવાર બૅટરી ચાર્જ મોડ દિવસ ગોઠવણ સેટ કરો</translation>
 <translation id="2856674246949497058">જો OS વર્ઝન લક્ષ્ય કરતાં નવું હોય, તો લક્ષ્ય વર્ઝન પર રોલબૅક કરો અને તેના પર રહો. પ્રક્રિયા દરમિયાન પાવરવૉશ કરો.</translation>
 <translation id="2872961005593481000">શટ ડાઉન કરો</translation>
 <translation id="2873651257716068683">ડિફૉલ્ટ પ્રિન્ટિંગ પેજ કદને ઓવરરાઇડ કરે છે. પેજનું કદ ઉપલબ્ધ ન હોય તો આ નીતિ અવગણવામાં આવે છે.</translation>
@@ -1159,12 +1193,26 @@
 <translation id="3072045631333522102">રીટેલ મોડમાં સાઇન-ઇન સ્ક્રીન પર ઉપયોગ કરવા માટે સ્ક્રીન સેવર</translation>
 <translation id="3072847235228302527">ડિવાઇસ-સ્થાનિક એકાઉન્ટ માટે સેવાની શરતો સેટ કરો</translation>
 <translation id="3077183141551274418">ટૅબ લાઇફસાઇકલ ચાલુ અથવા બંધ કરે છે</translation>
+<translation id="3079417254871857650">જ્યારે વપરાશકર્તાની હોમ ડિરેક્ટરી ecryptfs એન્ક્રિપ્શન વડે બનાવવામાં આવી હોય, ત્યારે જે પગલું લેવું જોઈએ તેનો ઉલ્લેખ કરે છે.
+
+      જો તમે આ નીતિને 'DisallowArc' પર સેટ કરશો, તો વપરાશકર્તા માટે Android ઍપ બંધ થશે અને ecryptfsથી ext4 એન્ક્રિપ્શનનું કોઈ સ્થાનાંતરણ નહીં થાય. જ્યારે હોમ ડિરેક્ટરી પહેલેથી ext4 વડે એન્ક્રિપ્ટ કરેલી હશે, ત્યારે Android ઍપને ચાલવાથી રોકવામાં આવશે નહીં.
+
+      જો તમે આ નીતિને 'Migrate' પર સેટ કરશો, તો સાઇન ઇન સમયે ecryptfs-વડે એન્ક્રિપ્ટ કરેલી હોમ ડિરેક્ટરીનું વપરાશકર્તાની સંમતિ માગ્યા વિના ઑટોમૅટિક રીતે ext4 એન્ક્રિપ્શન પર સ્થાનાંતરણ થશે.
+
+      જો તમે આ નીતિને 'Wipe' પર સેટ કરશો, તો સાઇન ઇન સમયે ecryptfs-વડે એન્ક્રિપ્ટ કરેલી હોમ ડિરેક્ટરી ડિલીટ કરવામાં આવશે અને તેના બદલે નવી ext4-વડે એન્ક્રિપ્ટ કરેલી હોમ ડિરેક્ટરી બનાવવામાં આવશે. ચેતવણી: આમ કરવાથી વપરાશકર્તાનો સ્થાનિક ડેટા કાઢી નખાશે.
+
+      જો તમે આ નીતિને 'MinimalMigrate' પર સેટ કરશો, તો સાઇન ઇન સમયે ecryptfs-વડે એન્ક્રિપ્ટ કરેલી હોમ ડિરેક્ટરી ડિલીટ કરવામાં આવશે અને તેના બદલે નવી ext4-વડે એન્ક્રિપ્ટ કરેલી હોમ ડિરેક્ટરી બનાવવામાં આવશે. જોકે, લૉગ ઇન ટોકનને સાચવવાનો પ્રયાસ કરવામાં આવશે, જેથી વપરાશકર્તાએ ફરીથી સાઇન ઇન કરવાની જરૂર રહેતી નથી. ચેતવણી: આમ કરવાથી વપરાશકર્તાનો સ્થાનિક ડેટા કાઢી નખાશે.
+
+      જો તમે આ નીતિને એ વિકલ્પ પર સેટ કરો કે જે હવે સમર્થિત ન હોય ('AskUser' અથવા 'AskForEcryptfsArcUsers'), તો તેને તમે તેના બદલે 'Migrate'ની પસંદગી કરી હોય તે રીતે ગણવામાં આવશે.
+
+      આ નીતિ કિઓસ્ક વપરાશકર્તાઓને લાગુ થતી નથી. જો આ નીતિ સેટ કર્યા વિના રાખી હોય, તો ડિવાઇસ 'DisallowArc'ની પસંદગી કરી હોય તે રીતે કાર્ય કરશે.</translation>
 <translation id="3086995894968271156"><ph name="PRODUCT_NAME" />માં Cast Receiverને ગોઠવો.</translation>
 <translation id="3088796212846734853">તમને URL પૅટર્નની એવી સૂચિ સેટ કરવાની મંજૂરી આપે છે જે છબી બતાવવાની મંજૂરી ધરાવતી હોય તેવી સાઇટનો ઉલ્લેખ કરતી હોય.
 
           જો આ નીતિ સેટ કરેલી નહીં હોય, તો બધી સાઇટો માટે, 'DefaultImagesSetting' નીતિ સેટ કરેલી હશે તો તેમાંથી અન્યથા વપરાશકર્તાના વ્યક્તિગત કન્ફિગરેશનમાંથી વૈશ્વિક ડિફૉલ્ટ મૂલ્યનો ઉપયોગ કરવામાં આવશે.
 
           નોંધ કરો કે ભૂતકાળમાં આ નીતિ ભૂલથી Android પર ચાલુ કરવામાં આવી હતી, પણ આ કાર્યરીતિ ક્યારેય Android પર સંપૂર્ણ સમર્થિત ન હતી.</translation>
+<translation id="3091832372132789233">પ્રાથમિક રૂપે બાહ્ય પાવર સ્રોત સાથે કનેક્ટ થયેલા હોય તે ડિવાઇસ માટે બૅટરી ચાર્જ કરો.</translation>
 <translation id="3096595567015595053">સક્ષમ પ્લગઇન્સની સૂચિ</translation>
 <translation id="3101501961102569744">પ્રૉક્સી સર્વર સેટિંગનો ઉલ્લેખ કેવી રીતે કરવો તે પસંદ કરો</translation>
 <translation id="3101709781009526431">તારીખ અને સમય</translation>
@@ -1191,6 +1239,7 @@
 
          જો આ સેટિંગ સેટ કર્યા વગરની છોડી હોય તો <ph name="PRODUCT_NAME" />
           વપરાશકર્તા-સ્તરનાં મૂળ મેસેજિંગ હોસ્ટનાં ઉપયોગની મંજૂરી આપશે.</translation>
+<translation id="3177802893484440532">સ્થાનિક ટ્રસ્ટ ઍંકર માટે ઑનલાઇન OCSP/CRL ચેક જરૂરી છે</translation>
 <translation id="3185009703220253572">વર્ઝન <ph name="SINCE_VERSION" />થી</translation>
 <translation id="3187220842205194486">Android ઍપ્લિકેશનોને કૉર્પોરેટ કીઝની ઍક્સેસ મળી શકતી નથી. આ નીતિનો તેમના પર કોઈ પ્રભાવ પડતો નથી.</translation>
 <translation id="3205825995289802549">પહેલીવાર શરૂ કરવા પર પ્રથમ બ્રાઉઝર વિંડોને મોટી કરવી</translation>
@@ -1204,6 +1253,7 @@
 <translation id="3220624000494482595">જો કિઓસ્ક અ‍ૅપ્લિકેશન એક Android અ‍ૅપ્લિકેશન હોય, તો <ph name="PRODUCT_OS_NAME" /> વર્ઝન પર તેનો કોઈ નિયંત્રણ હશે નહિ, પછી ભલેને આ પોલિસી <ph name="TRUE" /> પર સેટ કરેલી હોય.</translation>
 <translation id="3236046242843493070">આના દ્વારા એક્સટેન્શન, ઍપ્લિકેશન અને વપરાશકર્તા સ્ક્રિપ્ટ ઇન્સ્ટોલની પરવાનગી આપવા માટે URL દાખલા</translation>
 <translation id="3240609035816615922">પ્રિન્ટર ગોઠવણી ઍક્સેસ નીતિ.</translation>
+<translation id="3240655340884151271">ડૉકનું બિલ્ટ-ઇન NIC MAC ઍડ્રેસ</translation>
 <translation id="3243309373265599239">વપરાશકર્તા ઇનપુટ વગર કેટલા સમય પછી AC પાવર પર ચાલી રહેલ સ્ક્રીન મંદ થાય તે સમયની લંબાઈનો ઉલ્લેખ કરે છે. 
 
                       જ્યારે આ નીતિ શૂન્ય કરતાં વધારે મૂલ્ય પર સેટ હોય, ત્યારે <ph name="PRODUCT_OS_NAME" /> સ્ક્રીનને મંદ કરતા પહેલાં વપરાશકર્તાએ નિષ્ક્રિય રહેવું આવશ્યક હોય તે સમયની લંબાઈને સ્પષ્ટ કરે છે 
@@ -1225,6 +1275,12 @@
       જો આ સેટિંગ ચાલુ છે અથવા ગોઠવેલી નથી, તો વપરાશકર્તાઓ તેમના Google એકાઉન્ટ સાથે પ્રમાણીકરણ દ્વારા કલાઉડ પ્રિન્ટ પ્રૉક્સીને ચાલુ કરી શકે છે.
 
       જો આ સેટિંગ બંધ છે, તો વપરાશકર્તાઓ પ્રૉક્સીને ચાલુ કરી શકતા નથી, અને મશીનને તેના પ્રિન્ટરને <ph name="CLOUD_PRINT_NAME" /> સાથે શેર કરવાની પરવાનગી હશે નહીં.</translation>
+<translation id="3312206664202507568">chrome://password-change પરનું પેજ ચાલુ કરે છે જેના કારણે SAML વપરાશકર્તાઓ સત્ર દરમિયાન તેમના SAML પાસવર્ડ બદલી શકે છે, જેનાથી ખાતરી મળે છે કે SAML પાસવર્ડ અને ડિવાઇસનો લૉકસ્ક્રીન પાસવર્ડ સિંકમાં રાખેલા છે.
+
+      આ નીતિ જો SAML વપરાશકર્તાઓના પાસવર્ડ ટૂંક સમયમાં સમાપ્ત થવાના હોય, તો તેમને ચેતવતા નોટિફિકેશન પણ મોકલે છે, જેથી તેઓ સત્ર દરમિયાન પાસવર્ડ બદલીને તાત્કાલિક આનું નિરાકરણ લાવી શકે છે.
+      પણ, જો SAML લૉગ ઇન ફ્લો દરમિયાન SAML ઓળખ પ્રદાતા દ્વારા ડિવાઇસ પર પાસવર્ડ સમાપ્ત થવાની માહિતી મોકલવામાં આવી હોય, તો જ આ નોટિફિકેશન બતાવવામાં આવશે.
+
+      જો આ નીતિ સેટ કરેલી હોય, તો વપરાશકર્તા તેને બદલી કે ઓવરરાઇડ કરી શકતા નથી.</translation>
 <translation id="3322771899429619102">કી જનરેશનનો ઉપયોગ કરવાની મંજૂરી આપવામાં આવી હોય તેવી સાઇટ્સને ઉલ્લેખિત કરતી url પેટર્ન્સની સૂચિ સેટ કરવા માટે તમને મંજૂરી આપે છે. જો url પેટર્ન 'KeygenBlockedForUrls' માં હોય, તો તે આ અપવાદોને ઓવરરાઇડ કરે છે.
 
           જો આ નીતિ સેટ કર્યા વિના છોડવામાં આવી હોય, તો વૈશ્વિક ડિફોલ્ટ મૂલ્યનો ઉપયોગ, જો 'DefaultKeygenSetting' નીતિ સેટ કરેલી હોય તો તેમાંથી અથવા અન્ય રીતે વપરાશકર્તાની વ્યક્તિગત ગોઠવણીમાંથી તમામ સાઇટ્સ માટે કરવામાં આવશે.</translation>
@@ -1307,6 +1363,7 @@
 
           જો આ નીતિ ખોટાં પર સેટ થયેલી હોય અથવા સેટ કર્યાં વગર છોડેલી હોય, તો પાવર મેનેજમેન્ટમાં વિલંબ થાય છે અને સત્ર લંબાઈ મર્યાદા સત્ર પ્રારંભ થતાં તરત જ ચાલવાનો પ્રારંભ કરશે.</translation>
 <translation id="3478024346823118645">સાઇન આઉટ કરવા પર વપરાશકર્તા ડેટા સાફ કરો</translation>
+<translation id="3480961938508521469">માનક દરે પૂર્ણ ચાર્જ કરેલી બૅટરી.</translation>
 <translation id="348495353354674884">વર્ચ્યુઅલ કીબોર્ડને બંધ કરો</translation>
 <translation id="3487623755010328395">
         જો આ નીતિ સેટ કરેલી હશે, તો <ph name="PRODUCT_NAME" /> પોતાને રજિસ્ટર કરવાનો પ્રયાસ કરશે અને બધી પ્રોફાઇલ માટે સંકળાયેલ ક્લાઉડ નીતિ લાગુ કરશે.
@@ -1353,6 +1410,8 @@
 <translation id="3547954654003013442">પ્રૉક્સી સેટિંગ</translation>
 <translation id="355118380775352753">વૈકલ્પિક બ્રાઉઝરમાં ખોલવા માટેની વેબસાઇટ</translation>
 <translation id="3554984410014457319">Google આસિસ્ટંટને વૉઇસ સક્રિયકરણ શબ્દસમૂહ સાંભળવાની મંજૂરી આપો</translation>
+<translation id="356579196325389849">વપરાશકર્તાઓ Chrome OS રિલીઝ ચૅનલની ગોઠવણ કરી શકે છે</translation>
+<translation id="3575011234198230041">HTTP પ્રમાણીકરણ</translation>
 <translation id="3577251398714997599">ખલેલ પાડતી જાહેરાતોવાળી સાઇટ માટે જાહેરાતની સેટિંગ</translation>
 <translation id="357917253161699596">વપરાશકર્તાઓને વપરાશકર્તા પ્રમાણપત્રો મેનેજ કરવાની મંજૂરી આપો</translation>
 <translation id="3583230441447348508">અગાઉથી ગોઠવેલા નેટવર્ક ફાઇલ શેરની સૂચિનો ઉલ્લેખ કરે છે.
@@ -1383,6 +1442,7 @@
 
         આ પૉલિસીનો ઉપયોગ ડેસ્કટૉપ પર મશીન સ્કોપ ક્લાઉડ પૉલિસી નોંધણી દ્વારા કરવામાં આવે છે અને તે Windows પર રજિસ્ટ્રી અથવા GPO, Mac પર plist અને Linux પર JSON પૉલિસી ફાઇલ દ્વારા સેટ કરી શકાય છે.</translation>
 <translation id="3660562134618097814">લોગિન દરમિયાન SAML IdP કુકીઝ સ્થાનાંતરિત કરવી</translation>
+<translation id="3668151900457104753">બ્લૅકલિસ્ટ કરેલાં એક્સ્ટેંશન અનઇન્સ્ટૉલ કરો</translation>
 <translation id="3701121231485832347"><ph name="MS_AD_NAME" /> દ્વારા મેનેજ કરાતા <ph name="PRODUCT_OS_NAME" /> ડિવાઇસ માટે ચોક્કસ સેટિંગનું નિયંત્રણ કરે છે.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (એક પંક્તિવાળા ફીલ્ડને ટાળવામાં આવેલ છે અને ભવિષ્યમાં કાઢી નાખવામાં આવશે. કૃપા કરીને નીચેના એકથી વધુ પંક્તિવાળા ટેક્સ્ટબૉક્સનો ઉપયોગ કરવાનું શરૂ કરો.)</translation>
 <translation id="3709266154059827597">એક્સ્ટેંશન સ્થાપના બ્લેકલિસ્ટને ગોઠવે છે</translation>
@@ -1460,6 +1520,16 @@
           જો આ નીતિ સેટ કર્યા વિના છોડી દીધી છે, તો આરંભિક રૂપે ઑન-સ્ક્રીન કીબોર્ડ બંધ કરેલું હોય છે પરંતુ વપરાશકર્તા દ્વારા કોઈપણ સમયે ચાલુ કરી શકાય છે.</translation>
 <translation id="382476126209906314">રીમોટ ઍક્સેસ હોસ્ટ્સ માટે TalkGadget પ્રીફિક્સ ગોઠવો</translation>
 <translation id="3824972131618513497">પાવર મેનેજમેન્ટ અને રીબૂટ સંબંધિત નિયંત્રણ સેટિંગ.</translation>
+<translation id="3826475866868158882">Googleની સ્થાન સેવાઓ ચાલુ કરેલી</translation>
+<translation id="3831054243924627613">આ નીતિ Android બૅકઅપ લો અને પહેલાંના જેવું કરોની આરંભિક સ્થિતિનું નિયંત્રણ કરે છે.
+
+      જ્યારે આ નીતિ ગોઠવેલી ન હોય અથવા <ph name="BR_DISABLED" /> પર સેટ કરેલી હોય, ત્યારે આરંભમાં Android બૅકઅપ લો અને પહેલાંના જેવું કરો બંધ હોય છે.
+
+      જ્યારે આ નીતિ <ph name="BR_ENABLED" /> પર સેટ કરેલી હોય, ત્યારે આરંભમાં Android બૅકઅપ લો અને પહેલાંના જેવું કરો ચાલુ હોય છે.
+
+      જ્યારે આ નીતિ <ph name="BR_UNDER_USER_CONTROL" /> પર સેટ કરેલી હોય, ત્યારે વપરાશકર્તાને Android બૅકઅપ લો અને પહેલાંના જેવું કરોનો ઉપયોગ કરવાની પસંદગી વિશે પૂછવામાં આવે છે. જો વપરાશકર્તા બૅકઅપ લો અને પહેલાંના જેવું કરો ચાલુ કરે, તો Android ઍપ ડેટા Android બૅકઅપ સર્વર પર અપલોડ કરવામાં આવે છે અને ઍપના પુનઃઇન્સ્ટૉલેશન થવા પર આ સર્વર પરથી પહેલાંના જેવો કરવામાં આવે છે.
+
+      નોંધ લો કે આ નીતિ માત્ર આરંભિક સેટઅપ દરમિયાન જ Android બૅકઅપ લો અને પહેલાંના જેવું કરોની સ્થિતિનું નિયંત્રણ કરે છે. વપરાશકર્તા ત્યાર પછી Android સેટિંગ ખોલીને Android બૅકઅપ લો અને પહેલાંના જેવું કરો ચાલુ/બંધ કરી શકે છે.</translation>
 <translation id="3831376478177535007">જ્યારે આ સેટિંગ ચાલુ કરવામાં આવી હોય, ત્યારે <ph name="PRODUCT_NAME" /> Symantec Corporationના લેગસી PKI ઑપરેશન દ્વારા આપવામાં આવેલા પ્રમાણપત્રો જો વિશ્વસનીય હોય તો એવી મંજૂરી આપે છે, નહિ તો સફળતાપૂર્વક માન્ય કરી અને ઓળખ પામેલ CAનું પ્રમાણપત્ર સાંકળવામાં આવે છે.
 
       નોંધો કે આ નીતિ ઑપરેટિંગ સિસ્ટમ પર Symantecના લેગસી ઇન્ફ્રાસ્ટ્રક્ચરમાંથી હજુ પ્રમાણપત્ર ઓળખવા પર આધારિત છે. જો કોઈ OS અપડેટ આવા પ્રમાણપત્રોના OS હૅન્ડલિંગમાં બદલાવ કરે છે, તો આ નીતિની કોઈ અસર રહેતી નથી. વધુમાં, આ નીતિ લેગસીમાં Symantec પ્રમાણપત્રોથી દૂર થવા માટે ટ્રાન્ઝિશન માટે સંગઠનોને વધુ સમય આપવા માટે હંગામી ઉકેલ તરીકેના હેતુસર છે. આ નીતિ 1લી જાન્યુઆરી 2019 ના રોજ અથવા તેની આસપાસ ડિલીટ કરવામાં આવશે.
@@ -1543,6 +1613,15 @@
 
           જો સેટ કરેલ ન હોય અથવા ફોલ્સ પર સેટ કરેલ હોય, તો પછી વપરાશકર્તાઓ Google ડ્રાઇવ પર ફાઇલો સ્થાનાંતરિત કરવામાં સમર્થ હશે.</translation>
 <translation id="3915395663995367577">પ્રૉક્સી .pac ફાઇલની URL</translation>
+<translation id="3920892052017026701">બૅટરી ચાર્જ કસ્ટમ ચાર્જિંગ શરૂ કરોની ટકાવારી સેટ કરો.
+
+          બૅટરી ચાર્જ કસ્ટમ ચાર્જિંગ શરૂ કરોના મૂલ્ય સુધી બૅટરીનો ચાર્જ વપરાઈ જય, ત્યારે બૅટરી ચાર્જ થવાનું શરૂ થાય છે.
+
+          DeviceBatteryChargeCustomStopCharging કરતાં DeviceBatteryChargeCustomStartCharging ઓછો હોવો જોઈએ.
+
+          જો DeviceBatteryChargeModeને કસ્ટમ પર સેટ કરેલો હોય, તો જ આ નીતિનો ઉપયોગ કરવામાં આવે છે.
+
+          જો આ નીતિ ગોઠવેલી ન હોય, અથવા સેટ કર્યા વિના રાખી હોય, તો માનક બૅટરી ચાર્જ મોડ લાગુ કરવામાં આવશે.</translation>
 <translation id="3925377537407648234">પ્રદર્શનનું રિઝોલ્યુશન અને સ્કેલ અવયવ સેટ કરો</translation>
 <translation id="3939893074578116847">ડિવાઇસ ઑફલાઇન છે કે નહિ તે મૉનિટર કરવાની સર્વરને મંજૂરી આપવા માટે નેટવર્ક પૅકેટ્સને 
       સંચાલન સર્વર પર મોકલો.
@@ -1673,6 +1752,7 @@
 <translation id="4150201353443180367">ડિસ્પ્લે</translation>
 <translation id="4157003184375321727">OS અને ફર્મવેયર વર્ઝનની જાણ કરો</translation>
 <translation id="4157594634940419685">મૂળ CUPS પ્રિન્ટરને ઍક્સેસ કરવાની મંજૂરી આપો</translation>
+<translation id="4160962198980004898">ડૉક કરેલું હોય ત્યારે ડિવાઇસના MAC ઍડ્રેસનો સ્રોત</translation>
 <translation id="4163705126749612234">આવશ્યક ક્લાઇન્ટ ડોમેન નામોને ગોઠવે છે જે રિમોટ ઍક્સેસ ક્લાઇન્ટ પર લાગુ થશે અને વપરાશકર્તાઓને તેને બદલવાથી રોકે છે.
 
           જો આ સેટિંગને સક્ષમ કરેલી છે, તો પછી માત્ર ઉલ્લેખિત ડોમેન નામ પરના ક્લાઇન્ટ, હોસ્ટથી કનેક્ટ થઈ શકે છે.
@@ -1750,6 +1830,7 @@
       નોંધ કરો કે ઍપ ID ધરાવતી નીતિનો અર્થ જરૂરીપણે એમ નથી કે વપરાશકર્તા ઍપને લૉક સ્ક્રીન પર એક નોંધ લેતી ઍપ તરીકે ચાલુ કરી શકશે - ઉદાહરણ તરીકે, Chrome 61 પર ઉપલબ્ધ ઍપનો સેટ વધારામાં પ્લૅટફૉર્મ દ્વારા પ્રતિબંધિત કરેલ છે.
 
       જો નીતિને સેટ કર્યા વિના છોડવામાં આવે, તો નીતિ દ્વારા લાદવામાં આવતી લૉક સ્ક્રીન પર વપરાશકર્તા દ્વારા ચાલુ કરી શકાય એવા ઍપના સેટ પર કોઈ પ્રતિબંધ રહેશે નહીં.</translation>
+<translation id="4313767483634435271">ડિવાઇસનું નિયુક્ત કરેલું ડૉક MAC ઍડ્રેસ</translation>
 <translation id="4322842393287974810"><ph name="PRODUCT_OS_NAME" /> વર્ઝનને નિયંત્રિત કરવા માટે શૂન્ય વિલંબ કિઓસ્ક ઍપ્લિકેશન સાથે ઑટોમૅટિક રીતે લોંચની મંજૂરી આપો</translation>
 <translation id="4325690621216251241">સિસ્ટમ ટ્રે પર એક બટન લૉગઆઉટ ઉમેરો</translation>
 <translation id="4332177773549877617">Android ઍપ ઇન્સ્ટૉલ માટે ઇવેન્ટ લૉગ કરો</translation>
@@ -1781,6 +1862,7 @@
 <translation id="4360826270668210664">જો આ નીતિ સેટ કરવામાં આવી હોય, તો રિમોટ ઍક્સેસ હોસ્ટ માટે જરૂરી છે કે પ્રમાણીકરણ કરનાર ક્લાઇન્ટ કનેક્ટ કરવા માટે, આ URL પરથી પ્રમાણીકરણ ટોકન મેળવે. RemoteAccessHostTokenValidationUrl ની સાથે ઉપયોગમાં લેવો જરૂરી છે.
 
           આ સુવિધા હાલમાં સર્વર તરફથી બંધ કરવામાં આવી છે.</translation>
+<translation id="4363057787588706121">જુદા-જુદા સ્રોતોની સૂચિ નીતિઓને મર્જ કરવાની મંજૂરી આપો</translation>
 <translation id="436581050240847513">ઉપકરણ નેટવર્ક ઇન્ટરફેસેસની જાણ કરો</translation>
 <translation id="4372704773119750918">એન્ટરપ્રાઇઝ વપરાશકર્તાને મલ્ટિપ્રોફાઇલનો ભાગ થવાની મંજૂરી ન આપો (પ્રાથમિક અથવા દ્વિતીય)</translation>
 <translation id="4377599627073874279">બધી સાઇટ્સને બધી છબીઓ બતાવવાની મંજૂરી આપો</translation>
@@ -1954,6 +2036,7 @@
 <translation id="4826326557828204741">બેટરી પાવર પર ચાલુ હોવ ત્યારે નિષ્ક્રિય વિલંબ પર પહોંચવા પર લેવા માટેનું પગલું</translation>
 <translation id="4832852360828533362">વપરાશકર્તા અને ડિવાઇસની જાણ કરવી</translation>
 <translation id="4834526953114077364">પૂરતી ખાલી જગ્યા ન થાય ત્યાં સુધી તાજેતરમાં ખૂબ ઓછા ઉપયોગમાં લીધેલા વપરાશકર્તાઓમાંથી છેલ્લા 3 મહિનાની અંદર લોગ ઇન ન થયેલાને દૂર કર્યા છે</translation>
+<translation id="4835622243021053389">NTLMv2 પ્રમાણીકરણ ચાલુ કરો.</translation>
 <translation id="4858735034935305895">પૂર્ણસ્ક્રીન મોડની મંજૂરી આપો</translation>
 <translation id="4861767323695239729">વપરાશકર્તાના સત્રમાં મંજૂર કરેલ ઇનપુટ પદ્ધતિઓની ગોઠવણી કરો</translation>
 <translation id="487460824085252184">આપમેળે સ્થાનાંતરણ કરો, વપરાશકર્તાની સંમતિ માગશો નહીં.</translation>
@@ -2076,6 +2159,11 @@
 
       <ph name="URL_LIST_POLICY_NAME" /> કરતાં વિપરીત, નિયમો બન્ને દિશા નિર્દેશો પર લાગુ થાય છે. એટલે કે, જ્યારે Internet Explorer ઍડ-ઇન હાજર અને ચાલુ હોય, ત્યારે તે <ph name="IE_PRODUCT_NAME" /> એ આ URLsને <ph name="PRODUCT_NAME" /> માં ખોલવા જોઈએ કે નહીં તેને પણ નિયંત્રિત કરે છે.</translation>
 <translation id="5124368997194894978">AC પર બૂટ કરવાનું શરૂ કરો (ઑલ્ટરનેટિંગ કરન્ટ)</translation>
+<translation id="5131211790949066746">એક્સ્ટેંશન ઇન્સ્ટૉલની સૂચિ નીતિઓ <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> અને <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" />ને મર્જ કરવાનું ચાલુ કરે છે.
+
+      જો તમે આ સેટિંગ ચાલુ કરો, તો મશીન પ્લૅટફૉર્મ નીતિ, મશીન ક્લાઉડ નીતિ અને વપરાશકર્તા પ્લૅટફૉર્મ નીતિના મૂલ્યો એક જ સૂચિમાં મર્જ થાય છે અને સૌથી વધુ પ્રાથમિકતા ધરાવતા માત્ર એક જ સ્રોતના મૂલ્યનો ઉપયોગ કરવાને બદલે પૂર્ણાંક તરીકે ઉપયોગ કરે છે.
+
+      જો તમે આ સેટિંગ બંધ કરો અથવા તેને સેટ કર્યા વિના રાખો, તો સૌથી વધુ પ્રાથમિકતા ધરાવતા સ્રોતની સૂચિ એન્ટ્રી લેવામાં આવશે અને બાકી બધા સ્રોતોને વિરોધી પરંતુ અવગણાયેલા તરીકે બતાવવામાં આવશે.</translation>
 <translation id="5141670636904227950">લોગિન સ્ક્રીન પર સક્ષમ હોય તે ડિફોલ્ટ સ્ક્રીન બૃહદદર્શક પ્રકાર સેટ કરો</translation>
 <translation id="5142301680741828703"><ph name="PRODUCT_FRAME_NAME" /> માં હંમેશાં નીચે આપેલા URL દાખલા  પ્રસ્તુત કરો</translation>
 <translation id="5148753489738115745">તમને વધારાનાં પેરામીટર્સનો ઉલ્લેખ કરવાની મંજૂરી આપે છે જેનો ઉપયોગ <ph name="PRODUCT_FRAME_NAME" /> જ્યારે <ph name="PRODUCT_NAME" /> શરૂ કરે છે ત્યારે કરવામાં આવે છે.
@@ -2194,6 +2282,7 @@
 
       જો નીતિ સેટ કરેલ નથી અથવા જો તે ખાલી સ્ટ્રિંગ અથવા અમાન્ય પોર્ટ શ્રેણી પર સેટ કરેલ હોય, તો WebRTC ને કોઈપણ ઉપલબ્ધ સ્થાનિક UDP પોર્ટને ઉપયોગમાં લેવાની મંજૂરી આપવામાં આવે છે.</translation>
 <translation id="5290940294294002042">પ્લગ ઇનની તે સૂચિનો ઉલ્લેખ કરો કે વપરાશાકર્તા જેને ચાલુ અથવા બંધ કરી શકે</translation>
+<translation id="5306186200045823863">Symantec Corporationના જૂના PKI ઇન્ફ્રાસ્ટ્રક્ચરમાં વિશ્વાસ મુકો</translation>
 <translation id="5307432759655324440">છુપો મોડ ઉપલબ્ધતા</translation>
 <translation id="5318185076587284965">રીમોટ ઍક્સેસ હોસ્ટ દ્વારા રીલે સર્વરના ઉપયોગને ચાલુ કરો</translation>
 <translation id="5323128137188992869"><ph name="PRODUCT_NAME" />નો ઉપયોગ કરીને કન્ટેન્ટને ડિવાઇસ પર કાસ્ટ કરવાની મંજૂરી આપો.
@@ -2297,6 +2386,7 @@
       જો નિયમોનો એકબીજા સાથે વિરોધાભાસ થાય, તો <ph name="PRODUCT_NAME" /> સૌથી વધુ સચોટ નિયમનો ઉપયોગ કરે છે.</translation>
 <translation id="5475361623548884387">પ્રિન્ટ કરવાનું ચાલુ કરો</translation>
 <translation id="547601067149622666">ખલેલ પાડતી જાહેરાતોવાળી સાઇટ પર જાહેરાતોને મંજૂરી આપશો નહીં</translation>
+<translation id="5483065054530244863">સ્થાનિક ટ્રસ્ટ ઍંકર દ્વારા રજૂ કરવામાં આવેલાં SHA-1 દ્વારા સાઇન કરેલ પ્રમાણપત્રોને મંજૂરી આપો</translation>
 <translation id="5483777239978559943">આ નીતિ ટાળવામાં આવી છે. સમેકિત PDF વ્યૂઅરનો ઉપયોગ PDF ફાઇલો ખોલવા માટે થવો જોઈએ કે કેમ તે નિયંત્રિત કરવા માટે <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" />નો તથા ફ્લૅશ પ્લગ-ઇનની ઉપલબ્ધતાને નિયંત્રિત કરવા માટે કૃપા કરીને <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" />નો ઉપયોગ કરો.
 
       વપરાશકર્તા <ph name="PRODUCT_NAME" />માં ચાલુ અથવા બંધ કરી શકે તેવા પ્લગ ઇનની સૂચિનો ઉલ્લેખ કરે છે .
@@ -2413,6 +2503,17 @@
           If you enable or do not set this policy, users can view their passwords in clear text in the password manager.</translation>
 <translation id="5620392548325769024">OS અપગ્રેડ બાદ, પહેલીવાર બ્રાઉઝર લૉન્ચ કરવા પર સ્વાગત પેજ બતાવવાનું ચાલુ કરવું</translation>
 <translation id="5630352020869108293">છેલ્લા સત્રને પુનઃસ્થાપિત કરો</translation>
+<translation id="5643906875497889108">કઈ ઍપ/એક્સ્ટેંશનના પ્રકારને ઇન્સ્ટૉલ કરવાની મંજૂરી હોય તેનું નિયંત્રણ કરે છે અને રનટાઇમ ઍક્સેસને સીમિત કરે છે.
+
+          આ સેટિંગ એક્સ્ટેંશન/ઍપના <ph name="PRODUCT_NAME" />માં ઇન્સ્ટૉલ કરી શકાય તેવા મંજૂરીપ્રાપ્ત પ્રકારોને અને તેઓ કયા હોસ્ટ સાથે ક્રિયાપ્રતિક્રિયા કરી શકે તેને વ્હાઇટ-લિસ્ટ કરે છે. મૂલ્ય એ સ્ટ્રિંગની સૂચિ છે, જેમાંથી દરેક નીચેનામાંથી એક હોય તે જરૂરી છે: "એક્સ્ટેંશન", "થીમ", "user_script", "hosted_app", "legacy_packaged_app", "platform_app". આ પ્રકારો વિશે વધુ માહિતી માટે <ph name="PRODUCT_NAME" /> એક્સ્ટેંશન દસ્તાવેજીકરણ જુઓ.
+
+          નોંધ લો કે આ નીતિ ExtensionInstallForcelist દ્વારા ફરજિયાત-ઇન્સ્ટૉલ કરાતા એક્સ્ટેંશન અને ઍપને પણ અસર કરે છે.
+
+          જો આ સેટિંગ ગોઠવેલું હોય, તો સૂચિમાં ન હોય તેવા પ્રકાર ધરાવતાં એક્સ્ટેંશન/ઍપ ઇન્સ્ટૉલ કરવામાં નહીં આવે.
+
+          જો આ સેટિંગ ગોઠવ્યા વિના રાખવામાં આવ્યું હોય, તો સ્વીકાર્ય એક્સ્ટેંશન/ઍપના પ્રકાર પર કોઈ પ્રતિબંધ લાગુ કરવામાં નહીં આવે.
+
+          75 પહેલાંના વર્ઝનમાં, એકથી વધુ અલ્પવિરામ દ્વારા વિભાજિત એક્સ્ટેંશન IDsનો ઉપયોગ કરવાનું સમર્થિત નથી અને તે છોડવામાં આવશે. બાકીની નીતિ લાગુ થવાનું ચાલુ રહેશે.</translation>
 <translation id="5645779841392247734">આ સાઇટ્સ પર કૂકીઝને મંજૂરી આપો</translation>
 <translation id="5689430183304951538">પ્રિન્ટિંગ પેજનું ડિફૉલ્ટ કદ</translation>
 <translation id="5693469654327063861">ડેટાના સ્થાનાંતરણને મંજૂર કરો</translation>
@@ -2452,6 +2553,7 @@
 <translation id="5765780083710877561">વર્ણન:</translation>
 <translation id="5770738360657678870">દેવ ચેનલ (અસ્થિર હોઈ શકે)</translation>
 <translation id="5774856474228476867">ડિફોલ્ટ શોધ પ્રદાતા શોધ URL</translation>
+<translation id="5775235485119094648">બૅટરી નક્કી કરેલી રેન્જમાં હોય ત્યારે તેને ચાર્જ કરો.</translation>
 <translation id="5776485039795852974">ડેસ્કટૉપ સૂચનાઓ બતાવવા માંગતી સાઇટને દર વખતે પૂછો</translation>
 <translation id="5781412041848781654">HTTP પ્રમાણીકરણ માટે કઈ GSSAPI લાઇબ્રેરીનો ઉપયોગ કરવો તેનો ઉલ્લેખ કરે છે. તમે ફક્ત લાઇબ્રેરીનું નામ અથવા સંપૂર્ણ પાથ સેટ કરી શકો છો. 
 
@@ -2519,6 +2621,7 @@
 <translation id="5893553533827140852">જો આ સેટિંગ સક્ષમ કરેલી છે, તો પછી gnubby પ્રમાણીકરણ વિનંતીઓને સમગ્ર રિમોટ હોસ્ટ કનેક્શન પર પ્રોક્સી કરવામાં આવશે.
 
           જો આ સેટિંગ અક્ષમ કરેલી છે અથવા ગોઠવેલી નથી, તો gnubby પ્રમાણીકરણ વિનંતીઓને પ્રોક્સી કરવામાં આવશે નહીં.</translation>
+<translation id="5897913798715600338">ઝડપથી ચાર્જ કરવા માટેની ટેક્નોલોજીનો ઉપયોગ કરીને બૅટરીને ચાર્જ કરો.</translation>
 <translation id="5898486742390981550">જ્યારે બહુવિધ વપરાશકર્તાઓ લૉગ ઇન થયેલ હોય, ત્યારે ફક્ત પ્રાથમિક વપરાશકર્તા જ Android ઍપ્લિકેશનોનો ઉપયોગ કરી શકે છે.</translation>
 <translation id="5900196529149231477">
       આ નીતિ સાઇન-ઇન સ્ક્રીન પર લાગુ થાય છે. કૃપા કરીને <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> નીતિ પણ જુઓ જે વપરાશકર્તા સત્ર પર લાગુ થાય છે. બન્ને નીતિઓને સમાન મૂલ્ય પર સેટ કરવાની ભલામણ કરી છે. જો મૂલ્યો મેળ ખાતા ન હોય, તો વપરાશકર્તા નીતિ દ્વારા ઉલ્લેખિત મૂલ્ય લાગુ થઈ રહ્યું હોય ત્યારે વપરાશકર્તા સત્રમાં દાખલ થતી વખતે વિલંબ થઈ શકે છે.
@@ -2527,11 +2630,13 @@
       જો નીતિ ગોઠવવામાં આવી ન હોય, તો સાઇન-ઇન સ્ક્રીન માટે પ્લૅટફૉર્મ ડિફૉલ્ટ સાઇટ આઇસોલેશન સેટિંગનો ઉપયોગ કરવામાં આવશે.
       </translation>
 <translation id="5901427587865226597">માત્ર ડુપ્લેક્સ પ્રિન્ટિંગ</translation>
+<translation id="5905473632148429217">ઑનલાઇન OCSP/CRL ચેક ચાલુ કરો</translation>
 <translation id="5906199912611534122">નેટવર્ક થ્રોટલિંગ ચાલુ અને બંધ કરવાની પરવાનગી આપે છે.
       આ તમામ વપરાશકર્તાઓ અને ડિવાઇસ પરના તમામ ઇન્ટરફેસ પર લાગુ થાય છે. એકવાર
       સેટ થઈ જાય તે પછી, નીતિ તેને બંધ કરો પર બદલી દેવામાં ન આવે ત્યાં સુધી થ્રોટલિંગ
       યથાવત રહે છે.
 જો false પર સેટ કરેલ હોય, તો કોઈ થ્રોટલિંગ નહિ થાય. જો true પર સેટ કરેલ હોય, તો આપેલ અપલોડ અને ડાઉનલોડ દર (kbits/સે માં) મેળવવા માટે સિસ્ટમ થ્રોટલ કરવામાં આવે છે.</translation>
+<translation id="591088232153082363">બૅટરીના વપરાશની પૅટર્નને આધારે બૅટરીનો સુવિધાજનક ચાર્જ.</translation>
 <translation id="5921713479449475707">HTTP મારફતે સ્વતઃઅપડેટ ડાઉનલોડ્સને મંજૂરી આપો</translation>
 <translation id="5921888683953999946">લૉગ ઇન સ્ક્રીન પર મોટું કર્સરની સ્થિતિ ઍક્સેસિબિલિટી સુવિધાની ડિફૉલ્ટ સ્થિતિ સેટ કરો.
 
@@ -2553,6 +2658,7 @@
 <translation id="5950205771952201658">હકીકતમાં જોઈએ તો તે થોડું નિષ્ફળ છે, ઓનલાઇન રદબાતલ ચેક્સ પ્રભાવી સુરક્ષા લાભ પ્રદાન કરતું નથી, તે <ph name="PRODUCT_NAME" /> વર્ઝન 19 અને પછીનાં વર્ઝનમાં ડિફોલ્ટ રૂપે બંધ કર્યા છે. આ નીતિ ટ્રુ પર સેટ કરીને, પાછલી વર્તણૂકને પુનર્સ્થાપિત કરી શકાય છે અને ઓનલાઇન OCSP/CRL ચેક્સ કરવામાં આવશે.
 
       જો આ નીતિ સેટ કરેલી નથી અથવા ફોલ્સ પર સેટ કરેલી છે, તો પછી <ph name="PRODUCT_NAME" /> 19 અને પછીના વર્ઝનમાં <ph name="PRODUCT_NAME" /> ઓનલાઇન રદબાતલ ચેક્સ કરશે નહિ.</translation>
+<translation id="5961137303188584693">ડિવાઇસનું બિલ્ટ-ઇન NIC MAC ઍડ્રેસ</translation>
 <translation id="5966615072639944554">એક્સ્ટેન્શન્સ દૂરસ્થ પ્રમાણન API નો ઉપયોગ કરવાની મંજૂરી આપે છે</translation>
 <translation id="5983708779415553259">સાઇટ માટેની ડિફોલ્ટ વર્તણૂક કોઈપણ કન્ટેન્ટ પૅકમાં નથી</translation>
 <translation id="5997543603646547632">ડિફોલ્ટ તરીકે 24 કલાકની ઘડિયાળ વાપરો</translation>
@@ -2643,6 +2749,17 @@
 <translation id="6111936128861357925">ડાઇનોસોર ઈસ્ટર એગ રમતની મંજૂરી આપો</translation>
 <translation id="6114416803310251055">નાપસંદ કરેલ</translation>
 <translation id="6133088669883929098">તમામ સાઇટ્સને કી જનરેશનનો ઉપયોગ કરવાની મંજૂરી આપો</translation>
+<translation id="6136537398661737682">આ નીતિ Googleની સ્થાન સેવાઓની આરંભિક સ્થિતિનું નિયંત્રણ કરે છે.
+
+      જ્યારે આ નીતિ ગોઠવેલી ન હોય અથવા <ph name="GLS_DISABLED" /> પર સેટ કરેલી હોય, ત્યારે આરંભમાં Googleની સ્થાન સેવાઓ બંધ કરેલી હોય છે.
+
+      જ્યારે આ નીતિ <ph name="GLS_ENABLED" /> પર સેટ કરેલી હોય, ત્યારે આરંભમાં Googleની સ્થાન સેવાઓ ચાલુ કરેલી હોય છે.
+
+      જ્યારે આ નીતિ <ph name="GLS_UNDER_USER_CONTROL" /> પર સેટ કરેલી હોય, ત્યારે વપરાશકર્તાને Googleની સ્થાન સેવાઓનો ઉપયોગ કરવાની પસંદગી વિશે પૂછવામાં આવે છે. આનાથી Android ઍપને ડિવાઇસના સ્થાન વિશે ક્વેરી કરવા માટે સેવાઓનો ઉપયોગ કરવાની મંજૂરી મળશે અને Googleને અનામી સ્થાન ડેટા સબમિટ કરવાનું પણ ચાલુ થશે.
+
+      નોંધ લો કે આ નીતિ માત્ર આરંભિક સેટઅપ દરમિયાન જ Googleની સ્થાન સેવાઓની સ્થિતિનું નિયંત્રણ કરે છે. વપરાશકર્તા ત્યાર પછી Android સેટિંગ ખોલીને Googleની સ્થાન સેવાઓ ચાલુ/બંધ કરી શકે છે.
+
+      નોંધ લો કે જ્યારે <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> નીતિ <ph name="BLOCK_GEOLOCATION_SETTING" /> પર સેટ કરેલી હોય, ત્યારે આ નીતિ અવગણવામાં આવી હોય છે અને Googleની સ્થાન સેવાઓ હંમેશાં બંધ કરવામાં આવી હોય છે.</translation>
 <translation id="6141402445226505817">હંમેશાં સર્વસામાન્ય સમયઝોન શોધનો ઉપયોગ કરો</translation>
 <translation id="6145799962557135888">તમને url દાખલાઓની સૂચિને સેટ કરવા દે છે જે JavaScript ચલાવવાની મંજૂરી આપતી સાઇટ્સનો ઉલ્લેખ કરે છે.
 
@@ -2718,9 +2835,17 @@
       જો બંધ કરેલી હોય, તો ઑટોભરણ ફોર્મ ડેટા આયાત કરવામાં આવતો નથી.
 
       જો તે સેટ કરેલી ન હોય, તો વપરાશકર્તાને આયાત કરવું કે નહીંં તે પૂછવામાં આવી શકે છે અથવા આયાત કરવાનું ઑટોમૅટિક રીતે થઈ શકે છે.</translation>
+<translation id="6221175752766085998">subjectAlternativeName એક્સ્ટેંશન વિના સ્થાનિક વિશ્વસનીય એન્કર દ્વારા રજૂ કરવામાં આવેલા પ્રમાણપત્રોને મંજૂરી આપો</translation>
 <translation id="6224304369267200483">URLs/ડોમેનને આપમેળે સીધા સુરક્ષા કી પ્રમાણન સાથે મંજૂર થયેલા છે</translation>
 <translation id="6233173491898450179">ડાઉનલોડ ડિરેક્ટરી સેટ કરો</translation>
 <translation id="6244210204546589761">સ્ટાર્ટઅપ પર ખોલવા માટે URL</translation>
+<translation id="6255387031094435995">સમાન કાર્યક્ષેત્રો અને લેવલવાળી જુદા-જુદા સ્રોતો પરથી આવેલી પસંદગી કરેલી નીતિઓને મર્જ કરવાની મંજૂરી આપે છે.
+
+        જો નીતિ સૂચિમાં હોય અને બન્ને સ્રોતો વચ્ચે કોઈ વિસંગતિ હોય, તો તેમના કાર્યક્ષેત્રો અને લેવલ સમાન હોવાથી, મૂલ્યોને નવી નીતિની સૂચિમાં મર્જ કરવામાં આવશે.
+
+        જો નીતિ સૂચિમાં હોય અને બન્ને સ્રોતો ઉપરાંત જુદા-જુદા કાર્યક્ષેત્રો અને/અથવા લેવલ વચ્ચે કોઈ વિસંગતિ હોય, તો સૌથી વધુ પ્રાધાન્યતા ધરાવતી નીતિ લાગુ કરવામાં આવશે.
+
+        જો નીતિ સૂચિમાં ન હોય અને સ્રોતો, કાર્યક્ષેત્રો અને/અથવા લેવલ વચ્ચે કોઈ વિસંગતિ હોય, તો સૌથી વધુ પ્રાધાન્યતા ધરાવતી નીતિ લાગુ કરવામાં આવશે.</translation>
 <translation id="6258193603492867656">જનરેટ કરેલ Kerberos SPNએ માનક પોર્ટ શામેલ કરવું કે નહીં તેનો ઉલ્લેખ કરે છે. જો તમે આ સેટિંગને ચાલુ કર્યું હોય, અને અ-માનક પોર્ટ (ઉ.દા. 80 અથવા 443 સિવાયના પોર્ટ) દાખલ કર્યા હોય, તો તે જનરેટ કરેલા Kerberos SPNમાં શામેલ થઈ જશે. જો તમે સેટિંગને બંધ કર્યું હોય, તો જનરેટ કરેલ Kerberos SPN કોઈપણ સ્થિતિમાં પોર્ટને શામેલ કરશે નહીં.</translation>
 <translation id="6261643884958898336">મશીન ઓળખ અંગેની માહિતીની જાણ કરો</translation>
 <translation id="6281043242780654992">મૂળ મેસેજિંગ માટે નીતિઓ ગોઠવે છે. જ્યાં સુધી બ્લેકલિસ્ટેડ મૂળ મેસેજિંગ હોસ્ટ્સને વ્હાઇટલિસ્ટેડ કરવામાં ન આવે ત્યાં સુધી તેમને મંજૂરી આપવામાં આવશે નહીં.</translation>
@@ -2916,6 +3041,7 @@
 <translation id="6757438632136860443">તમને તે URLપેટર્નની સૂચિ સેટ કરવાની મંજૂરી આપે છે કે જેમાં <ph name="FLASH_PLUGIN_NAME" /> પ્લગ-ઇન ચલાવવાની મંજૂરી હોય તેવી સાઇટનો ઉલ્લેખ કરેલો હોય.
 
           જો આ નીતિને સેટ કર્યા વિના છોડવામાં આવી હોય, તો બધી સાઇટ માટે 'DefaultPluginsSetting' નીતિમાંથી જો સેટ કરેલ હોય, અન્યથા વપરાશકર્તાની વ્યક્તિગત ગોઠવણીમાંથી વૈશ્વિક ડિફૉલ્ટ મૂલ્યનો ઉપયોગ કરવામાં આવશે.</translation>
+<translation id="6757613329154374267">બૅકઅપ લો અને પહેલાંના જેવું કરો ચાલુ કરેલું</translation>
 <translation id="6762235610019366960">તમને <ph name="PRODUCT_NAME" /> પૂર્ણ-ટૅબ પ્રચારાત્મક અને/અથવા શૈક્ષણિક કન્ટેન્ટની પ્રસ્તુતિને નિયંત્રિત કરવાની મંજૂરી આપે છે.
 
       જો ગોઠવેલ ન હોય અથવા ચાલુ કરેલ (true પર સેટ કરેલ) હોય, તો <ph name="PRODUCT_NAME" /> વપરાશકર્તાને પ્રોડક્ટ વિશે માહિતી પ્રદાન કરવા માટે પૂર્ણ-ટૅબ કન્ટેન્ટ બતાવી શકે છે.
@@ -2938,6 +3064,7 @@
       સ્ટ્રિંગમાં ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME} જેવા વેરિયેબલ શામેલ હોઈ શકે છે અને હોસ્ટના નામ તરીકે ઉપયોગમાં લેતા પહેલાં તેમને બદલે ડિવાઇસ પરનું મૂલ્ય મૂકવામાં આવશે. તેને પરિણામે થતા સબ્સ્ટિટ્યૂશનમાં એક માન્ય હોસ્ટનું નામ હોવું જોઈએ. (RFC 1035, વિભાગ 3.1 મુજબ).
 
       જો આ નીતિ સેટ કરેલ ન હોય અથવા સબ્સ્ટિટ્યૂશન પછીના મૂલ્યમાં એક માન્ય હોસ્ટનું નામ ન હોય, તો DHCPની વિનંતીમાં કોઈ હોસ્ટનું નામ સેટ થઈ શકશે નહીં. </translation>
+<translation id="6833988859168635883">પ્રારંભ, હોમ પેજ અને નવું ટૅબ પેજ</translation>
 <translation id="6835883744948188639">વપરાશકર્તાને રિલૉન્ચ કરવાનો સુઝાવ આપ્યો છે તેવું વારંવાર દર્શાવતો સંકેત બતાવો</translation>
 <translation id="6837480141980366278">બિલ્ટ-ઇન DNS ક્લાયન્ટને <ph name="PRODUCT_NAME" />માં ઉપયોગમાં લેવું કે નહીં તે નિયંત્રિત કરે છે.
 
@@ -3051,6 +3178,17 @@
 જ્યારે એ સ્ક્રીન ઝાંખી થવા પર હોય, ત્યારે એ સ્માર્ટ ડિમ મૉડલ આકલન કરે છે કે સ્ક્રીનને ઝાંખી કરવાનું મુલતવી રાખવાનું છે કે નહીં. જો એ સ્માર્ટ ડિમ મૉડલ સ્ક્રીનને ઝાંખી કરવાનું મુલતવી રાખશે, તો અસરકારક રીતે તે સ્ક્રીન ઝાંખી થવા માટેના સમયમાં વધારો કરે છે. આ કિસ્સામાં, સ્ક્રીન બંધ થવાના, સ્ક્રીન લૉક થવાના અને નિષ્ક્રિય થવાના સમયના વિલંબનું સ્ક્રીન ઝાંખી થવાના સમયથી રહેલું અંતર પહેલેથી ગોઠવવામાં આવેલ હોય એટલું જ રહે છે. 
 
 જો આ નીતિને સાચા પર સેટ કરવામાં આવી હશે અથવા ન સેટ કરવામાં આવી હોય તો, એ સ્માર્ટ ડિમ મૉડલ ચાલુ કરવામાં આવશે અને સ્ક્રીન ઝાંખી ના થાય ત્યાં સુધીના સમયમાં વધારો કરવાની પરવાનગી આપવામાં આવશે. જો આ નીતિને ખોટા પર સેટ કરવામાં આવી હશે, તો સ્માર્ટ ડિમ મૉડલની સ્ક્રીન ઝાંખી થવા પર કોઈ અસર થશે નહીં.</translation>
+<translation id="6967394885063085697">વિગતવાર બૅટરી ચાર્જ મોડ પાવર મેનેજમેન્ટ નીતિ ચાલુ કરો.
+
+          વિગતવાર બૅટરી ચાર્જિંગ મોડ થકી વપરાશકર્તા બૅટરીની સૌથી સારી જાળવણી કરી શકે છે. બૅટરીની સૌથી વધુ જાળવણી કરવા માટે, વિગતવાર ચાર્જિંગ મોડમાં સિસ્ટમ કામ કરવા સિવાયના સમયમાં માનક ચાર્જિંગ ઍલ્ગોરિધમ અને અન્ય ટેકનીકનો ઉપયોગ કરશે. કામના સમય દરમિયાન એક્સ્પ્રેસ ચાર્જનો ઉપયોગ થાય છે. આ એક્સ્પ્રેસ ચાર્જ થકી બૅટરીને વધુ ઝડપથી ચાર્જ થવાની મંજૂરી મળે છે; તેથી, બૅટરી વધુ ઝડપથી પૂરેપૂરી ચાર્જ થઈ જાય છે. દિવસના જે સમય દરમિયાન સિસ્ટમનો સૌથી વધુ ઉપયોગ થવાનો હોય તે દરેકનો ઉલ્લેખ શરૂ થવાના સમય અને સમયગાળા દ્વારા કરવામાં આવે છે.
+
+          જો આ નીતિ true પર સેટ કરેલી હોય અને DeviceAdvancedBatteryChargeModeDayConfig સેટ કરેલી હોય, તો ડિવાઇસમાં સમર્થિત હશે તો વિગતવાર બૅટરી ચાર્જ મોડ હંમેશાં ચાલુ રહેશે.
+
+          જો આ નીતિ false પર સેટ કરેલી હોય, તો વિગતવાર બૅટરી ચાર્જ મોડ હંમેશાં બંધ રહેશે.
+
+          જો તમે આ નીતિ સેટ કરશો, તો વપરાશકર્તાઓ તેને બદલી કે ઓવરરાઇડ કરી નહીં શકે.
+
+          જો આ નીતિને સેટ કર્યા વિના રાખી હોય, તો વિગતવાર બૅટરી ચાર્જ મોડ બંધ કરવામાં આવે છે અને વપરાશકર્તા તેને ચાલુ કરી શકતા નથી.</translation>
 <translation id="6972540544240464302">કાર્ય શેડ્યૂલરનું કન્ફિગરેશન પસંદ કરો</translation>
 <translation id="6979158407327259162">Google ડ્રાઇવ</translation>
 <translation id="6994082778848658360">જો તે આ સુવિધા સાથે સુસંગત હોય, તો દ્વિતીય-ફેક્ટર પ્રમાણીકરણ પૂરું પાડવા માટે ઑન-બોર્ડ સુરક્ષિત તત્વ હાર્ડવેરનો કઈ રીતે ઉપયોગ કરી શકાય તે ઉલ્લેખિત કરે છે. વપરાશકર્તા ભૌતિક હાજરી શોધવા માટે મશીન પાવર બટનનો ઉપયોગ થાય છે.
@@ -3128,6 +3266,17 @@
       જો તમે આ સેટિંગને ચાલુ અથવા બંધ કરો છો, તો વપરાશકર્તાઓ તેને બદલી કે ઓવરરાઇડ કરી નહીં શકે.
 
       જો આ નીતિને સેટ કર્યા વિના છોડેલી છે તો વપરાશકર્તા પસંદ કરી શકે છે કે તેને ડિવાઇસને અનલૉક કરવા માટે પાસવર્ડ પૂછવામાં આવે કે નહીં.</translation>
+<translation id="7107148737865880402">USB પાવર શેર પાવર મેનેજમેન્ટ નીતિ ચાલુ કરો.
+
+          અમુક ચોક્કસ ડિવાઇસ પર વિશિષ્ટ USB પોર્ટ હોય છે, જેના પર વીજળી અથવા બૅટરીનું આઇકન હોય છે, જેનો ઉપયોગ સિસ્ટમની બૅટરીનો ઉપયોગ કરતા મોબાઇલ ફોન જેવા ડિવાઇસ ચાર્જ કરવા માટે થઈ શકે છે. જ્યારે સિસ્ટમ નિષ્ક્રિય અને શટ ડાઉન મોડમાં હોય, ત્યારે આ નીતિ આ પોર્ટની ચાર્જિંગની કામગીરીને અસર કરે છે. સિસ્ટમ સક્રિય હોય ત્યારે આ નીતિ બીજાં USB પોર્ટ અને ચાર્જિંગની કામગીરીને અસર કરતી નથી.
+
+          સક્રિય હોય ત્યારે USB પોર્ટ હંમેશાં પાવર પૂરો પાડશે.
+
+          નિષ્ક્રિય હોય ત્યારે આ નીતિ true પર સેટ કરેલી હોય, તો જ્યારે ડિવાઇસનો પ્લગ દિવાલના ચાર્જરમાં લગાડેલો હોય અથવા બૅટરીનું લેવલ 50% કરતાં ઓછું હોય ત્યારે પાવર પૂરો પાડવામાં આવશે. નહીંતર પાવર પૂરો પાડવામાં આવતો નથી.
+
+          જ્યારે સિસ્ટમ શટ ડાઉન કરેલી હોય, ત્યારે જો આ નીતિ true પર સેટ કરેલી હશે, તો જ્યારે ડિવાઇસનો પ્લગ દિવાલના ચાર્જરમાં લગાવવામાં આવે ત્યારે USB પોર્ટને પાવર પૂરો પાડવામાં આવશે. નહીંતર પાવર પૂરો પાડવામાં આવતો નથી.
+
+          જો આ નીતિ સેટ કર્યા વિના રાખી હોય, તો તે ચાલુ કરવામાં આવે છે અને વપરાશકર્તા તેને બંધ કરી શકતા નથી.</translation>
 <translation id="7115494316187648452">OS લોગિન પર અને જ્યારે છેલ્લી બ્રાઉઝર વિંડો બંધ કરવામાં આવે ત્યારે <ph name="PRODUCT_NAME" /> પ્રક્રિયાનો પ્રારંભ થાય છે કે નહીં તે નિર્ધારિત કરે છે અને કોઈ પણ સત્ર કુકીઝ સહિત, વર્તમાન બ્રાઉઝિંગ સત્રને સક્રિય રહેવાની મંજૂરી આપે છે. પેજભૂમિ પ્રક્રિયા સિસ્ટમ ટ્રે માં એક આયકન પ્રદર્શિત કરે છે અને તે હંમેશાં ત્યાંથી બંધ કરી શકાય છે.
 
       જો આ નીતિ ટ્રુ પર સેટ કરવામાં આવી હોય, તો પેજભૂમિ મોડ સક્ષમ કરવામાં આવે છે અને તેને બ્રાઉઝર સેટિંગમાં વપરાશકર્તા દ્વારા નિયંત્રિત કરી શકાતો નથી.
@@ -3178,6 +3327,7 @@
           જો આ નીતિ true પર સેટ કરેલી હોય અથવા સેટ કર્યા વિના છોડી દીધી હોય, તો જ્યાં સુધી તમામowWakeLocks false પર સેટ ન કરો ત્યાં સુધી સ્ક્રીન સક્રિય રાખવાની વિનંતીને પાવર મેનેજમેન્ટ માટે માન્ય રાખવામાં આવશે.
 
           જો આ નીતિ false પર સેટ કરેલી હોય, તો સ્ક્રીન સક્રિય રાખવાની વિનંતીઓને સિસ્ટમ સક્રિય રાખવાની વિનંતીઓ પર બદલવામાં આવશે.</translation>
+<translation id="7177857088692019405">ઝડપી અનલૉક</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">અપડેટ્સ માટે મંજૂર કનેક્શન પ્રકારો.</translation>
 <translation id="7194407337890404814">ડિફૉલ્ટ શોધ પ્રદાતા નામ</translation>
@@ -3243,6 +3393,7 @@
 <translation id="7273823081800296768">જો આ સેટિંગ સક્ષમ હોય અથવા ગોઠવેલી ન હોય, તો પછી વપરાશકર્તાઓ, દર વખતે કોઈ PIN દાખલ કરવાની જરૂરને દૂર કરીને, કનેક્શન સમયે ક્લાયન્ટ્સ અને હોસ્ટ્સની જોડી કરવાનું પસંદ કરી શકે છે.
 
           જો આ સેટિંગ અક્ષમ હોય, તો પછી આ સુવિધા ઉપલબ્ધ હશે નહીં.</translation>
+<translation id="7274077256421167535">USB પાવર શેર ચાલુ કરો</translation>
 <translation id="7275334191706090484">સંચાલિત બુકમાર્ક્સ</translation>
 <translation id="7291084543582732020">જો તમે આ સેટિંગ ચાલુ કરો છો, તો સુવિધા માટેની આવશ્યકતાઓની પૂરી કરવામાં આવે તો વપરાશકર્તાઓને Smart Lockનો ઉપયોગ કરવાની મંજૂરી આપવામાં આવશે.
 
@@ -3256,6 +3407,7 @@
 
           આ નીતિ ફક્ત ત્યારે જ  ધ્યાનમાં લેવાય છે જયારે  'DefaultSearchProviderEnabled' નીતિ સક્ષમ હોય.</translation>
 <translation id="7302043767260300182">AC પાવર પર ચાલી રહ્યું હોય ત્યારે સ્ક્રીન લૉક વિલંબ</translation>
+<translation id="7305262223970835999">SAML વપરાશકર્તાઓ માટે સત્રમાં પાસવર્ડ બદલવા માટે પેજ ચાલુ કરે છે.</translation>
 <translation id="7311458740754205918">જો આ true પર સેટ કરેલ હોય અથવા સેટ કરેલ ન હોય, તો નવું ટૅબ પેજ વપરાશકર્તાના બાઉઝિંગ ઇતિહાસ, રુચિઓ અથવા જગ્યાના આધારે કન્ટેન્ટ સૂચનો બતાવી શકે છે.
 
       જો આ false પર સેટ કરેલ હોય, તો નવું ટૅબ પેજ પર સ્વચલિત-બનાવેલ કન્ટેન્ટ સૂચનો બતાવવામાં આવતાં નથી.</translation>
@@ -3381,6 +3533,15 @@
       જો આ નીતિનું મૂલ્ય 0 છે, તો ડિફોલ્ટ કૅશ મેમરી કદનો ઉપયોગ કરવામાં આવશે પરંતુ વપરાશકર્તા એને બદલવામાં અસમર્થ હશે.
 
       જો નીતિ સેટ કરેલ નથી તો ડિફોલ્ટ કદનો ઉપયોગ કરવામાં આવશે અને વપરાશકર્તા એને --ડિસ્ક-કૅશ મેમરી-કદ ફ્લેગ સાથે ઓવરરાઇડ કરવા માટે સમર્થ હશે.</translation>
+<translation id="759389052790680884">બૅટરી ચાર્જ કસ્ટમ ચાર્જિંગ રોકોની ટકાવારી સેટ કરો.
+
+          જ્યારે બૅટરી ચાર્જ કસ્ટમ ચાર્જિંગ મૂલ્ય પર બૅટરીનો ચાર્જ પહોંચે, ત્યારે બૅટરી ચાર્જ થવાનું રોકાઈ જાય છે.
+
+          DeviceBatteryChargeCustomStopCharging કરતાં DeviceBatteryChargeCustomStartCharging ઓછો હોવો જોઈએ.
+
+          જો DeviceBatteryChargeModeને કસ્ટમ પર સેટ કરેલો હોય, તો જ આ નીતિનો ઉપયોગ કરવામાં આવે છે.
+
+          જો આ નીતિ ગોઠવેલી ન હોય, અથવા સેટ કર્યા વિના રાખી હોય, તો માનક બૅટરી ચાર્જ મોડ લાગુ કરવામાં આવશે.</translation>
 <translation id="759957074386651883">Safe Browsing સેટિંગ</translation>
 <translation id="7604169113182304895">Android ઍપ્લિકેશનો સ્વૈચ્છિકરૂપે આ સૂચિને ઉપયોગમાં લેવાનું પસંદ કરી શકે છે. તમે તેને ઉપયોગ કરવા માટે ફરજ પાડી શકતાં નથી.</translation>
 <translation id="7612157962821894603"><ph name="PRODUCT_NAME" /> પ્રારંભ થવા પર લાગુ કરવા માટેના સિસ્ટમ વ્યાપી ધ્વજો</translation>
@@ -3453,6 +3614,15 @@
 <translation id="7712109699186360774">કોઈ સાઇટ કૅમેરા અને/અથવા માઇક્રોફોનને ઍક્સેસ કરવા માગે ત્યારે દર વખતે પૂછો</translation>
 <translation id="7713608076604149344">ડાઉનલોડ પ્રતિબંધો</translation>
 <translation id="7715711044277116530">ટકાવારી કે જેના દ્વારા પ્રસ્તુતિ મોડમાં સ્ક્રીન મંદતા વિલંબને માપવામાં આવે છે</translation>
+<translation id="7716781462866245042">વિગતવાર બૅટરી ચાર્જ મોડ દિવસ ગોઠવણ સેટ કરો.
+
+          જો DeviceAdvancedBatteryChargeModeEnabledને true પર સેટ કરેલો હોય, તો જ આ નીતિનો ઉપયોગ થાય છે.
+
+          જો આ નીતિને ગોઠવેલી ન હોય અથવા સેટ કર્યા વિના રાખી હોય, તો વિગતવાર બૅટરી ચાર્જ મોડ હંમેશાં બંધ રહેશે.
+
+          નોંધ: <ph name="CHARGE_END_TIME_FIELD_NAME" /> કરતાં <ph name="CHARGE_START_TIME_FIELD_NAME" />નું મૂલ્ય ઓછું હોવું જોઈએ.
+
+          નોંંધ: <ph name="CHARGE_START_TIME_FIELD_NAME" /> અને <ph name="CHARGE_END_TIME_FIELD_NAME" />માં <ph name="MINUTE_FIELD_NAME" /> ફીલ્ડ માટે મંજૂર મૂલ્યો 0, 15, 30 અને 45 છે.</translation>
 <translation id="7717938661004793600"><ph name="PRODUCT_OS_NAME" /> ઍક્સેસિબિલિટી સુવિધાઓને ગોઠવો.</translation>
 <translation id="7724994675283793633">આ નીતિ પોર્ટ પર HTTP માટે 80 અને HTTPS માટે 443 ની સિવાય HTTP/0.9 ને સક્રિય કરે છે . 
 
@@ -3524,6 +3694,7 @@
       સાઇન-ઇન સ્ક્રીન પર સ્ક્રીન સેવર તરીકે ઉપયોગ કરવા માટેનાં એક્સટેંશનનો id નિર્ધારિત કરે છે. એક્સટેંશન AppPack નો ભાગ હોવો જોઈએ કે જે DeviceAppPack નીતિ દ્વારા આ ડોમેન માટે ગોઠવેલું હોય છે.</translation>
 <translation id="7882857838942884046">Google સમન્વયનને અક્ષમ કરવાથી Android બેકઅપ અને પુનઃસ્થાપન ઠીકથી કાર્ય કરશે નહીં.</translation>
 <translation id="7882890448959833986">અસમર્થિત OS ચેતવણીને બંધ કરો</translation>
+<translation id="7895553628261067384">રિમોટ ઍક્સેસ</translation>
 <translation id="7902255855035461275">વિનંતી કરનાર URLની સુરક્ષાના મૂળ સાથે આ સૂચિમાંની પૅટર્નનો 
       મેળ કરવામાં આવશે. જો કોઈ મેળ મળશે, તો સંકેત વિના વીડિઓ
       કૅપ્ચર ઉપકરણો માટે ઍક્સેસ આપવામાં આવશે.
@@ -3537,6 +3708,11 @@
 <translation id="7937491150792971922">એકથી વધુ સ્રોતોના એક્સ્ટેંશન ઇન્સ્ટૉલની સૂચિ નીતિઓને મર્જ કરો</translation>
 <translation id="7937766917976512374">વીડિયો કેપ્ચરને મંજૂરી આપો અથવા નકારો</translation>
 <translation id="7941975817681987555">કોઈપણ નેટવર્ક કનેક્શન પર નેટવર્ક ક્રિયાઓનું પૂર્વાનુમાન કરશો નહીં</translation>
+<translation id="7952007677054834789"><ph name="PRODUCT_NAME" />માં પ્રારંભમાં લોડ કરવાના પેજ, ડિફૉલ્ટ હોમ પેજ અને ડિફૉલ્ટ નવું ટૅબ પેજ ગોઠવો અને વપરાશકર્તાઓને તે બદલતા અટકાવો.
+
+      જો તમે હોમ પેજને એક નવા ટૅબ પેજ તરીકે પસંદ કરો અથવા તેને URL તરીકે સેટ કરો અને તેને હોમ પેજ URL તરીકે ઉલ્લેખિત કરો, તો જ વપરાશકર્તાનાં હોમ પેજ સેટિંગ પૂર્ણપણે લૉક કરવામાં આવે છે. જો તમે હોમ પેજ URLનો ઉલ્લેખ નહીં કરો, તો પણ વપરાશકર્તા નવા ટૅબ પેજ પર 'chrome://newtab'નો ઉલ્લેખ કરીને હોમ પેજ સેટ કરી શકશે.
+
+      જો તમે 'પ્રારંભમાં ક્રિયા'માં 'URLsની સૂચિ ખોલો'ને પસંદ નહીં કરો, તો 'પ્રારંભમાં ખોલવાના URLs' નીતિને અવગણવામાં આવે છે.</translation>
 <translation id="7952958573604504839">આ નીતિને <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />ની તરફેણમાં M48માં ટાળવામાં આવી છે અને M54માંથી દૂર કરવામાં આવી છે.
 
       <ph name="PRODUCT_NAME" />માં નેટવર્ક પૂર્વાનુમાનને ચાલુ કરે છે અને વપરાશકર્તાઓને આ સેટિંગ બદલવાથી અટકાવે છે.
@@ -3680,6 +3856,7 @@
 <translation id="8176035528522326671">એન્ટરપ્રાઇઝ વપરાશકર્તાને માત્ર પ્રાથમિક મલ્ટિપ્રોફાઇલ વપરાશકર્તા થવાની મંજૂરી આપો (એન્ટરપ્રાઇઝ-સંચાલિત વપરાશકર્તાઓ માટે ડિફોલ્ટ વર્તણૂક)</translation>
 <translation id="8214600119442850823">પાસવર્ડ સંચાલકને ગોઠવે છે.</translation>
 <translation id="8217516105848565518">આ નીતિને ટાળવામાં આવી છે. કૃપા કરીને તેને બદલે RemoteAccessHostDomainList insteadનો ઉપયોગ કરો.</translation>
+<translation id="8244171102276095471">TLSમાંના RC4 સાઇફર સ્યૂટ ચાલુ કરો</translation>
 <translation id="8244525275280476362">કોઈ નીતિ અમાન્યતા પછીનો મહત્તમ આનયન વિલંબ</translation>
 <translation id="8256688113167012935">સંબંધિત ડિવાઇસ-સ્થાનિક એકાઉન્ટ માટે લૉગ ઇન સ્ક્રીન પર <ph name="PRODUCT_OS_NAME" /> નામ બતાવે છે તેને નિયંત્રિત કરે છે.
 
@@ -3720,6 +3897,7 @@
 <translation id="8312129124898414409">વેબસાઇટ્સને કી જનરેશનનો ઉપયોગ કરવાની મંજૂરી આપવી કે નહીં તે સેટ કરવાની મંજૂરી આપે છે. કી જનરેશનનો ઉપયોગ કરવું તમામ વેબસાઇટ્સ માટે મંજૂર કરી શકાય છે અથવા તમામ વેબસાઇટ્સ માટે નકારી શકાય છે.
 
           જો આ નીતિ સેટ કર્યા વિના છોડી હોય, તો 'BlockKeygen' નો ઉપયોગ થશે અને વપરાશકર્તા તેને બદલવામાં સમર્થ હશે.</translation>
+<translation id="8320149248919453401">બૅટરી ચાર્જ મોડ</translation>
 <translation id="8329984337216493753">આ નીતિ ફક્ત રીટેલ મોડ માટે સક્રિય છે.
 
       જ્યારે DeviceIdleLogoutTimeout નિર્દિષ્ટ કરેલું હોય ત્યારે આ નીતિ કાઉન્ટ ડાઉન ટાઇમરની અવધિને નિર્ધારિત કરે છે જે લૉગ આઉટ અમલમા આવતા પહેલા વપરાશકર્તાને બતાવવામાં આવે છે.
@@ -3889,6 +4067,7 @@
       જો સેટ કરવામાં આવેલ ન હોય, તો <ph name="PRODUCT_OS_NAME" /> ઉપકરણો માટે 345600000 મિલીસેકન્ડનો (ચાર દિવસ)ના અને <ph name="PRODUCT_NAME" /> માટે 604800000 મિલીસેકન્ડનો (એક અઠવાડિયા)ના ડિફૉલ્ટ સમયગાળાનો ઉપયોગ કરવામાં આવે છે.</translation>
 <translation id="8685024486845674965">પાસવર્ડનો ફરી ઉપયોગ કરવાથી પાસવર્ડની સુરક્ષા ચેતવણી ટ્રિગર થઈ છે</translation>
 <translation id="8693243869659262736">બિલ્ટ-ઇન DNS ક્લાયન્ટનો ઉપયોગ કરો</translation>
+<translation id="8698286761337647563">SAML વપરાશકર્તાઓને તેમના પાસવર્ડની સમય સમાપ્તિ વિશે કેટલા દિવસ આગોતરી સૂચના મોકલવી</translation>
 <translation id="8703488928438047864">બોર્ડના સ્ટેટસની જાણ કરો</translation>
 <translation id="8703872185032220081">પાવર પીક શિફ્ટ પર દિવસની ગોઠવણી સેટ કરો.
 
@@ -3941,6 +4120,7 @@
       જો આ સેટિંગ બંધ હોય અથવા ચાલુ કરેલ ન હોય, તો પાસવર્ડ સંરક્ષણ સુવિધા દ્વારા વપરાશકર્તાઓને તેમના પાસવર્ડ બદલવા માટે https://myaccounts.google.com પર મોકલવામાં આવશે.
       આ પૉલિસી <ph name="MS_AD_NAME" /> ડોમેન સાથે જોડાયેલ હોય તેવી Windows આવૃત્તિઓ અથવા Windows 10 પ્રો અથવા ડિવાઇસ મેનેજમેન્ટ માટે નોંધણી કરેલી હોય તેવી એન્ટરપ્રાઇઝ આવૃત્તિઓ પર જ ઉપલબ્ધ છે.</translation>
 <translation id="8798099450830957504">ડિફૉલ્ટ</translation>
+<translation id="8800453707696044281">બૅટરી ચાર્જ કસ્ટમ ચાર્જિંગ રોકોની ટકાવારી સેટ કરો</translation>
 <translation id="8801680448782904838">વપરાશકર્તાને સૂચિત કરો કે બ્રાઉઝર રીલૉન્ચ કરવાનો અથવા ઉપકરણને ફરી શરૂ કરવાનો સુઝાવ આપેલ છે અથવા આવશ્યક છે</translation>
 <translation id="8818173863808665831">ઉપકરણનાં ભૌગોલિક સ્થાનની જાણ કરો.
 
@@ -4069,6 +4249,11 @@
       આ નીતિ માત્ર SAMLનો ઉપયોગ કરીને પ્રમાણીકૃત થયેલ વપરાશકર્તાઓને પ્રભાવિત કરે છે.
 
       નીતિ મૂલ્યનો ઉલ્લેખ સેકંડમાં કરવો જોઈએ.</translation>
+<translation id="9018338365267278833">આના કારણે <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />માં દેખાતા એક્સ્ટેંશન અથવા <ph name="EXTENSION_SETTINGS_POLICY_NAME" />માં દેખાતા એક્સ્ટેંશન કે જેનો ઇન્સ્ટૉલેશન મોડ બ્લૉક કરેલા પર સેટ કર્યો હશે તેને કાઢી નાખશે અને તેની સાથે સ્થાનિક વપરાશકર્તા ડેટા કાઢી નાખશે.  જે વપરાશકર્તા ડેટા સ્થાનિક રૂપે સ્ટોર ન થયો હોય, તેનું શું થાય તે સમજવા માટે એક્સ્ટેંશનની પ્રાઇવસી પૉલિસી અથવા ડેટા રિટેંશન પૉલિસી વાંચો.
+
+      જ્યારે નીતિ ચાલુ કરેલી પર સેટ કરી હોય, તો ઉપર જણાવવામાં આવેલી સૂચિઓમાં આવતા હોય તે એક્સ્ટેંશન (જો તે પહેલેથી મશીનમાં ઇન્સ્ટૉલ કરેલા હોય તો) તે મશીનમાંથી (સ્થાનિક વપરાશકર્તા ડેટા સહિત) સંપૂર્ણપણે કાઢી નાખવામાં આવશે.
+
+      જ્યારે નીતિ બંધ કરેલી પર સેટ કરી હોય અથવા સેટ કર્યા વિના રાખી હોય, તો ઉપર જણાવવામાં આવેલી સૂચિઓમાં આવતા હોય તે એક્સ્ટેંશન (જો તે પહેલેથી મશીનમાં ઇન્સ્ટૉલ કરેલા હોય અને બ્લૅકલિસ્ટ <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />માં હોય� તો) તે મશીનમાં બંધ કરવામાં આવશે અને ઇન્સ્ટૉલ કરવામાં નહીં આવે.</translation>
 <translation id="9027787254195333560">આ નીતિ લોગિન સ્ક્રીન પર વપરાશકર્તાને પ્રસ્તુત કરતી અવતાર છબીને ગોઠવવાની તમને મંજૂરી આપે છે. નીતિ તે URLને ઉલ્લેખિત કરીને સેટ કરી છે કે જેમાંથી <ph name="PRODUCT_OS_NAME" /> અવતાર છબી ડાઉનલોડ કરી શકે છે અને ક્રિપ્ટોગ્રાફિક હેશનો ઉપયોગ ડાઉનલોડની પ્રામાણિકતાને ચકાસવા માટે થાય છે. છબી JPEG ફોર્મેટમાં હોવી આવશ્યક છે, તેના કદે 512kB વટાવવા ન જોઈએ. URL કોઈપણ પ્રમાણીકરણ વિના ઍક્સેસિબલ હોવું આવશ્યક છે.
 
       અવતાર છબી ડાઉનલોડ અને કેશ કરી છે. જ્યારે પણ URL અથવા હેશ બદલાય ત્યારે તે ફરીથી ડાઉનલોડ કરવામાં આવશે.
diff --git a/components/policy/resources/policy_templates_hi.xtb b/components/policy/resources/policy_templates_hi.xtb
index 6370842d..a31d5d9aa 100644
--- a/components/policy/resources/policy_templates_hi.xtb
+++ b/components/policy/resources/policy_templates_hi.xtb
@@ -54,6 +54,13 @@
 <translation id="1049138910114524876">वह स्थानीय भाषा कॉन्फ़िगर करती है, जिसे <ph name="PRODUCT_OS_NAME" /> साइन इन स्क्रीन पर ज़बरदस्ती लागू किया जाता है.
 
       अगर यह नीति सेट की गई है, तो साइन इन स्क्रीन हमेशा उस स्थानीय भाषा में दिखाई देगी, जो इस नीति के पहले मान ने दी है (नीति को आगे बढ़ाने की संगतता की सूची के रूप में बताई जाती है).  अगर यह नीति सेट नहीं की गई है या किसी खाली सूची पर सेट की गई है, तो साइन इन स्क्रीन पिछले उपयोगकर्ता सत्र की भाषा में दिखाई जाएगी.  अगर यह नीति ऐसे मान पर सेट की गई है जो कि मान्य स्थानीय भाषा नहीं है, तो साइन इन स्क्रीन किसी फ़ॉलबैक स्थानीय भाषा (इस समय, en-US है) में दिखाई जाएगी.</translation>
+<translation id="1052499923181221200">इस नीति का तब तक कोई असर नहीं होता, जब तक कि SamlInSessionPasswordChangeEnabled सही न हो.
+      अगर वह नीति सही है और इस नीति को (उदाहरण के लिए) 14 पर सेट किया गया है, तो इसका मतलब है कि SAML का इस्तेमाल करने वालों को 14 दिन पहले ही बता दिया जाएगा कि उनका पासवर्ड किसी तारीख को खत्म होने वाला है.
+      इसके बाद वे सत्र में पासवर्ड बदलकर और अपने पासवर्ड की अवधि खत्म होने से पहले उसे अपडेट करके इस समस्या से फटाफट निपट सकते हैं.
+      लेकिन, ये सूचनाएं तभी दिखाई जाएंगी अगर पासवर्ड की अवधि खत्म होने की जानकारी SAML पहचान की सुविधा देने वाले की तरफ़ से SAML लॉगिन प्रवाह के दौरान डिवाइस पर भेजी जाती है.
+      इस नीति को शून्य पर सेट करने का मतलब है कि इस्तेमाल करने वालों को पहले से नहीं बताया जाएगा - उन्हें तभी बताया जाएगा जब पासवर्ड की अवधि खत्म हो चुकी होगी.
+
+      अगर यह नीति सेट की जाती है, तो इस्तेमाल करने वाला न तो इसे बदल सकता है, न ही ओवरराइड कर सकता है.</translation>
 <translation id="1062011392452772310">डिवाइस के लिए दूर से प्रमाणित करने की सुविधा चालू करें</translation>
 <translation id="1062407476771304334">प्रतिस्थापित करें</translation>
 <translation id="1079801999187584280">डेवलपर टूल के इस्तेमाल की मंज़ूरी न दें</translation>
@@ -213,6 +220,7 @@
       अगर यह नीति चालू की जाती है, तो Google Assistant को स्क्रीन की सामग्री एक्सेस करने की अनुमति मिल जाएगी.
       अगर यह नीति बंद कर दी जाती है, तो Google Assistant को स्क्रीन की सामग्री एक्सेस करने की अनुमति नहीं मिल पाएगी.
       अगर नीति सेट नहीं की जाती है, तो उपयोगकर्ता यह तय कर सकते हैं कि Google Assistant स्क्रीन की सामग्री एक्सेस करने की अनुमति दी जाए या नहीं</translation>
+<translation id="1376119291123231789">बेहतर बैटरी चार्ज मोड चालू करें</translation>
 <translation id="1383493480903114193">यह नीति, नेटवर्किंग कोड को ब्राउज़र प्रोसेस में ही चलाती है.
 
       यह नीति डिफ़ॉल्ट रूप से बंद रहती है. अगर इसे चालू किया जाता है, तो नेटवर्किंग प्रक्रिया के सैंडबॉक्स हो जाने के बाद उपयोगकर्ताओं की सुरक्षा के लिए खतरे पैदा हो सकते हैं.
@@ -313,6 +321,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">तीसरे पक्ष के सॉफ़्टवेयर इंजेक्शन को ब्लॉक करना चालू करें</translation>
 <translation id="1504431521196476721">दूरस्थ अनुप्रमाणन</translation>
+<translation id="1507382822467487898">
+          यह नीति कॉन्फ़िगर करती है कि डिवाइस से कोई डॉक कनेक्ट किए जाने पर किस MAC (मीडिया एक्सेस कंट्रोल) पते का इस्तेमाल किया जाएगा.
+
+          कुछ डिवाइस से डॉक कनेक्ट किए जाने पर, डिवाइस की पहचान करने के लिए डिफ़ॉल्ट रूप से ईथरनेट पर, डिवाइस के नामित डॉक MAC पते का इस्तेमाल किया जाता है. यह नीति एडमिन को, डॉक होने के दौरान MAC पते का स्रोत बदलने देती है.
+
+          अगर 'DeviceDockMacAddress' चुना गया हो या नीति को सेट किए बिना छोड़ दिया गया हो, तो डिवाइस के नामित डॉक MAC पते का इस्तेमाल किया जाएगा.
+
+          अगर 'DeviceNicMacAddress' को चुना गया हो, तो डिवाइस के NIC (नेटवर्क इंटरफ़ेस कंट्रोलर) MAC पते का इस्तेमाल किया जाएगा.
+
+          अगर  'DockNicMacAddress' को चुना गया हो, डॉक के NIC MAC पते का इस्तेमाल किया जाएगा.
+
+          इस्तेमाल करने वाला इस सेटिंग को नहीं बदल सकता.</translation>
 <translation id="1507957856411744193">अगर यह नीति सही पर सेट की जाती है, तो <ph name="PRODUCT_NAME" /> सिर्फ़ RFC1918/RFC4193 निजी पतों पर ही नहीं बल्कि सभी आईपी पतों पर कास्ट डिवाइस से कनेक्ट करेगा.
 
           अगर यह नीति गलत पर सेट की जाती है, तो <ph name="PRODUCT_NAME" /> सिर्फ़ RFC1918/RFC4193 निजी पतों पर ही कास्ट डिवाइस से कनेक्ट करेगा.
@@ -749,6 +769,17 @@
 <translation id="2303795211377219696">क्रेडिट कार्ड के लिए अपने आप भरने की सुविधा (ऑटो फ़िल) चालू करें</translation>
 <translation id="2309390639296060546">सामान्य भौगोलिक स्थान सेटिंग</translation>
 <translation id="2327252517317514801">G Suite एक्सेस करने की अनुमति वाले डोमेन तय करें</translation>
+<translation id="2356878440219553005">बैटरी चाजर्ज मोड पावर प्रबंधन की नीति के बारे में बताती है
+
+          बैटरी चार्जिंग को डायनैमिक तरीके से नियंत्रित करें ताकि बैटरी पर ज़ोर पड़ने की वजह से उसका जल्दी खत्म होना कम से कम किया जा सके और बैटरी को बेहतर बनाया जा सके.
+
+          अगर कस्टम बैटरी चार्ज मोड चुना जाता है तो DeviceBatteryChargeCustomStartCharging और DeviceBatteryChargeCustomStopCharging के बारे में बताया जाना चाहिए.
+
+          अगर यह नीति सेट की जाती है तो बैटरी चार्ज मोड तब लागू किया जाएगा जब डिवाइस पर इसकी सुविधा हो.
+
+          अगर यह नीति सेट किए बिना छोड़ दी जाती है और डिवाइस पर नीति की सुविधा नहीं है, तो मानक बैटरी चार्ज मोड लागू किया जाएगा और इस्तेमाल करने वाला उसे बदल नहीं सकता.
+
+          नोट: अगर पहली नीति के बारे में बताया गया हो, तो <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> इस नीति को ओवरराइड कर देता है.</translation>
 <translation id="237494535617297575">वैसी साइट जिन्हें सूचनाएं दिखाने की अनुमति है, उनके लिए यूआरएल पैटर्न की सूची सेट करने की सुविधा देती है.
 
           अगर इस नीति को सेट किए बिना छोड़ दिया जाता है, तो सभी साइट के लिए वैश्विक डिफ़ॉल्ट मान का उपयोग किया जाएगा. अगर 'DefaultNotificationsSetting' नीति सेट है, तो यह मान इससे लिया जाएगा नहीं तो फिर उपयोगकर्ता के निजी कॉन्फ़िगरेशन का उपयोग किया जाएगा.</translation>
@@ -786,6 +817,7 @@
 
       अगर यह नीति 'गलत' पर सेट की जाती है, तो बिना किसी देरी के अपने आप लॉगिन (कॉन्फ़िगर होने पर) बायपास नहीं किया जा सकता.</translation>
 <translation id="2454228136871844693">स्थिरता के लिए ऑप्टिमाइज़ करें.</translation>
+<translation id="2463034609187171371">TLS में DHE सिफ़र सुइट चालू करें</translation>
 <translation id="2463365186486772703">ऐप्लिकेशन की स्थान-भाषा</translation>
 <translation id="2466131534462628618">कैप्‍टिव पोर्टल प्रमाणीकरण प्रॉक्सी पर ध्यान नहीं देता है</translation>
 <translation id="2482676533225429905">स्थानीय संदेश सेवा</translation>
@@ -968,6 +1000,7 @@
 <translation id="2769952903507981510">दूर से एक्सेस होने वाले होस्ट के लिए ज़रूरी डोमेन नाम को कॉन्फ़ि‍गर करें</translation>
 <translation id="2787173078141616821">Android की स्थिति के बारे में जानकारी की रिपोर्ट करना</translation>
 <translation id="2799297758492717491">यूआरएल पैटर्न की श्वेतसूची पर मौजूद मीडिया को अपने आप चलने देती है</translation>
+<translation id="2801155097555584385">बैटरी चार्ज कस्टम स्टार्ट चार्जिंग को प्रतिशत में सेट करें</translation>
 <translation id="2801230735743888564">डिवाइस के ऑफ़लाइन होने पर उपयोगकर्ताओं को डाइनासोर ईस्टर एग गेम खेलने दें.
 
       अगर इस पॉलिसी को असत्य पर सेट किया गया है, तो डिवाइस के ऑफ़लाइन होने पर उपयोगकर्ता डाइनासोर ईस्टर एग गेम नहीं खेल पाएंगे. अगर इस पॉलिसी को सत्य पर सेट किया गया है, तो उपयोगकर्ता डाइनासोर गेम खेल पाएंगे. अगर इस पॉलिसी को सेट नहीं किया गया है, तो उपयोगकर्ताओं को नामांकित Chrome OS पर डाइनासोर ईस्टर गेम खेलने की अनुमति नहीं दी जाएगी, लेकिन उन्हें अन्य परिस्थितियों में खेलने की अनुमति होगी.</translation>
@@ -1041,6 +1074,7 @@
       अगर आप इस सेटिंग को बंद कर देते हैं या कोई मान तय नहीं करते हैं तो, 'प्रिंट की झलक' डिफ़ॉल्ट पसंद के तौर पर सबसे हाल में उपयोग किए गए प्रिंटर का इस्तेमाल करेगा.
 
       अगर आप इस सेटिंग को चालू करते हैं तो, 'प्रिंट की झलक' डिफ़ॉल्ट पसंद के तौर पर OS सिस्टम डिफ़ॉल्ट प्रिंटर का उपयोग करेगा.</translation>
+<translation id="285627849510728211">दिन में बेहतर बैटरी चार्ज मोड का इस्तेमाल करने के लिए इसे सेट करें</translation>
 <translation id="2856674246949497058">अगर OS वर्शन टारगेट से नया है, तो रोल बैक करें और टारगेट वर्शन पर रहें. इस प्रक्रिया के दौरान एक पावरवॉश करें.</translation>
 <translation id="2872961005593481000">शट डाउन करें</translation>
 <translation id="2873651257716068683">डिफ़ॉल्ट प्रिंटिंग पेज आकार ओवरराइड कर देती है. अगर इस आकार का पेज उपलब्ध नहीं है तो इस नीति को अनदेखा कर दिया जाता है.</translation>
@@ -1174,12 +1208,26 @@
 <translation id="3072045631333522102">रिटेल मोड में साइन इन स्‍क्रीन पर इस्तेमाल करने के लिए स्‍क्रीन सेवर</translation>
 <translation id="3072847235228302527">डिवाइस-स्थानीय खाते के लिए सेवा की शर्तों सेट करना</translation>
 <translation id="3077183141551274418">'टैब लाइफ़ साइकल' सुविधा को चालू या बंद करती है</translation>
+<translation id="3079417254871857650">उस कार्रवाई के बारे में बताती है जिसे तब किया जाना चाहिए जब ecryptfs से सुरक्षित बनाते हुए उपयोगकर्ता की होम निर्देशिका बनाई जाती है
+
+      अगर आप इस नीति को 'DisallowArc' पर सेट करते हैं, तो इस्तेमाल करने वाले व्यक्ति के लिए Android ऐप्लिकेशन बंद कर दिए जाएंगे और ecryptfs से ext4 के सुरक्षित बनाने के तरीके से कोई डेटा नहीं भेजा जाएगा. जब होम निर्देशिका पहले से ही ext4 से सुरक्षित की गई हो, तो Android ऐप्लिकेशन को चलने से नहीं रोका जाएगा.
+
+      अगर आप इस नीति को 'डेटा दूसरी जगह भेजें' पर सेट करते हैं, तो ecryptfs से सुरक्षित की गई होम निर्देशिकाएं साइन-इन करने पर उपयोगकर्ता की सहमति मांगे बिना अपने आप ही डेटा को ext4 सुरक्षित करने के तरीके में भेज देंगी.
+
+      अगर आप इस नीति को 'वाइप करें' पर सेट करते हैं, तो ecryptfs से सुरक्षित की गई होम निर्देशिकाएं साइन-इन करने पर मिटा दी जाएंगी और इनके बजाय ext4 से सुरक्षित की गई होम निर्देशिकाएं बनाई जाएंगी. चेतावनीः इससे इस्तेमाल करने वाले का स्थानीय डेटा हट जाता है.
+
+      अगर आप इस नीति को 'MinimalMigrate' पर सेट करते हैं, तो ecryptfs से सुरक्षित की गई होम निर्देशिकाएं साइन-इन करने पर मिटा दी जाएंगी और इनके बजाय ext4 से सुरक्षित की गई होम निर्देशिकाएं बनाई जाएंगी. हालांकि, लॉगिन टोकन सुरक्षित रखने की कोशिश की जाएगी ताकि इस्तेमाल करने वाले को फिर से साइन इन न करना पड़े. चेतावनीः इससे इस्तेमाल करने वाले का स्थानीय डेटा हट जाता है.
+
+      अगर आप इस नीति को किसी ऐसे विकल्प पर सेट करते हैं जिसकी सुविधा अब नहीं मिलती है ('AskUser' या 'AskForEcryptfsArcUsers'), तो ऐसा माना जाएगा जैसे आपने इसके बजाय 'Migrate' को चुना हो.
+
+      यह नीति किओस्क का इस्तेमाल करने वालों पर लागू नहीं होती है. अगर यह नीति सेट किए बिना छोड़ दी जाती है, तो डिवाइस ऐसा बर्ताव करेगा जैसे कि 'DisallowArc' को चुना गया हो.</translation>
 <translation id="3086995894968271156"><ph name="PRODUCT_NAME" /> में कास्ट पाने वाले को कॉन्फ़िगर करें.</translation>
 <translation id="3088796212846734853">आपको उन साइटों के बारे में बताने वाले यूआरएल पैटर्न की सूची सेट करने देती है जिन्हें इमेज दिखाने की मंज़ूरी है.
 
           अगर यह नीति सेट किए बिना छोड़ दी जाती है, तो सभी साइटों के लिए वैश्विक डिफ़ॉल्ट मान का इस्तेमाल या तो 'DefaultImagesSetting' नीति के सेट होने पर इससे किया जाएगा या फिर उपयोगकर्ता के निजी कॉन्फ़िगरेशन से किया जाएगा.
 
           ध्यान दें कि पहले इस नीति को Android पर गलती से चालू कर दिया गया था लेकिन इस कार्यक्षमता ने कभी भी Android पर पूरी तरह से काम नहीं किया.</translation>
+<translation id="3091832372132789233">उन डिवाइस की बैटरी चार्ज करें जिन्हें प्राथमिक रूप से किसी बाहरी पावर स्रोत से कनेक्ट किया गया है.</translation>
 <translation id="3096595567015595053">सक्षम प्‍लग इन की सूची</translation>
 <translation id="3101501961102569744">प्रॉक्सी सर्वर सेटिंग निर्दिष्ट करने का तरीका चुनें</translation>
 <translation id="3101709781009526431">तारीख और समय</translation>
@@ -1205,6 +1253,7 @@
          अगर यह सेटिंग बंद है, तो <ph name="PRODUCT_NAME" />सिर्फ़ सिस्टम स्तर पर इंस्टॉल किए स्थानीय मैसेज सेवा होस्ट का इस्तेमाल करेगा.
 
          अगर यह सेटिंग सेट किए बिना छोड़ दी जाती है, तो <ph name="PRODUCT_NAME" /> उपयोगकर्ता-स्तर स्थानीय मैसेज सेवा होस्ट का इस्तेमाल करने देगा.</translation>
+<translation id="3177802893484440532">स्थानीय भरोसेमंद एंकर के लिए ऑनलाइन ओसीएसपी/सीआरएल जाँच की ज़रूरत होती है</translation>
 <translation id="3185009703220253572">वर्शन <ph name="SINCE_VERSION" /> से</translation>
 <translation id="3187220842205194486">Android ऐप्लिकेशन कॉर्पोरेट कुंजियों का एक्सेस नहीं पा सकते हैं. इस नीति का उन पर कोई प्रभाव नहीं पड़ता.</translation>
 <translation id="3205825995289802549">पहली बार चलाने पर पहली ब्राउज़र विंडो को बड़ा करें</translation>
@@ -1218,6 +1267,7 @@
 <translation id="3220624000494482595">अगर किओस्क ऐप्लिकेशन एक Android ऐप्लिकेशन है, तो उसका <ph name="PRODUCT_OS_NAME" /> वर्शन पर कोई नियंत्रण नहीं होगा, भले ही यह नीति <ph name="TRUE" /> पर सेट हो.</translation>
 <translation id="3236046242843493070">एक्सटेंशन, ऐप्लिकेशन और उपयोगकर्ता स्क्रिप्ट को इंस्टॉल करने की मंज़ूरी देने वाले यूआरएल पैटर्न</translation>
 <translation id="3240609035816615922">प्रिंटर कॉन्फ़िगरेशन एक्सेस करने की नीति.</translation>
+<translation id="3240655340884151271">डॉक में NIC MAC पता पहले से मौजूद है</translation>
 <translation id="3243309373265599239">एसी पावर पर चलते समय उस समय सीमा के बारे में बताती है, जितनी देर तक उपयोगकर्ता अगर कोई भी इनपुट नहीं देता है तो, उसके बाद स्क्रीन की रोशनी कम हो जाती है.
 
           जब इस नीति को शून्य से ज़्यादा मान पर सेट किया जाता है तो, यह <ph name="PRODUCT_OS_NAME" /> की ओर से स्क्रीन की रोशनी कम किए जाने से पहले की उस समय सीमा के बारे में बताती है, जितनी देर तक उपयोगकर्ता कोई गतिविधि नहीं करता.
@@ -1239,6 +1289,12 @@
       अगर यह सेटिंग चालू है या कॉन्‍फ़िगर नहीं है, तो उपयोगकर्ता अपने Google खाते की पुष्टि के साथ क्लाउड प्रिंट प्रॉक्‍सी चालू कर सकते हैं.
 
       अगर यह सेटिंग बंद है, तो उपयोगकर्ता प्रॉक्‍सी को चालू नहीं कर सकते, और मशीन को <ph name="CLOUD_PRINT_NAME" /> के साथ प्रिंटर साझा करने की अनुमति नहीं दी जाएगी.</translation>
+<translation id="3312206664202507568">यह नीति chrome://password-change में ऐसा पेज चालू करती है जो SAML का इस्तेमाल करने वालों को सत्र में होने के दौरान अपने SAML पासवर्ड बदलने देती है, जिससे यह पक्का हो जाता है कि SAML पासवर्ड और डिवाइस का लॉकस्क्रीन पासवर्ड आपस में सिंक बने रहें.
+
+      यह नीति ऐसी सूचनाएं भी चालू करती हैं जो SAML का इस्तेमाल करने वालों को चेतावनी देती है कि उनके SAML पासवर्ड की अवधि जल्द ही खत्म होने वाली है, ताकि वे सत्र में रहकर ही पासवर्ड बदलकर इस समस्या से फटाफट निपट सकें.
+      लेकिन, ये सूचनाएं तभी दिखाई जाएंगी अगर पासवर्ड की अवधि खत्म होने की जानकारी SAML पहचान की सुविधा देने वाले की तरफ़ से SAML लॉगिन प्रवाह के दौरान डिवाइस पर भेजी जाती है.
+
+      अगर यह नीति सेट की जाती है, तो इस्तेमाल करने वाला न तो इसे बदल सकता है, न ही ओवरराइड कर सकता है.</translation>
 <translation id="3322771899429619102">वैसी साइट जिन्हें कुंजी जनरेट करने की अनुमति नहीं है, उनके लिए  यूआरएल पैटर्न की सूची सेट करने की सुविधा देती है. अगर कोई यूआरएल पैटर्न 'KeygenBlockedForUrls' में है तो, यह पॉलिसी ऐसे अपवादों को रद्द कर देती है.
 
           अगर इस नीति को नहीं जोड़ा जाता है तो, सभी साइट के लिए वैश्विक डिफ़ॉल्ट मान का इस्तेमाल किया जाएगा. अगर 'DefaultKeygenSetting' नीति सेट है तो, यह मान इससे लिया जाएगा नहीं तो फिर उपयोगकर्ता के निजी कॉन्फ़िगरेशन का इस्तेमाल किया जाएगा.</translation>
@@ -1325,6 +1381,7 @@
 
           अगर यह नीति गलत पर सेट हो या बिना सेट किए हुए छोड़ दी जाए तो, पावर प्रबंधन में देरी और सत्र की समय सीमा, सत्र के शुरू होते ही काम करना चालू कर देती हैं.</translation>
 <translation id="3478024346823118645">साइन-आउट करने पर उपयोगकर्ता का डेटा मिटाएं</translation>
+<translation id="3480961938508521469">बैटरी को सामान्य दर से पूरी तरह चार्ज करें.</translation>
 <translation id="348495353354674884">वर्चुअल कीबोर्ड चालू करें</translation>
 <translation id="3487623755010328395">
         अगर यह नीति सेट की जाती है, तो <ph name="PRODUCT_NAME" /> खुद को रजिस्टर करने और सभी प्रोफ़ाइल से जुड़ी क्लाउड नीति लागू करने की कोशिश करेगा.
@@ -1371,6 +1428,8 @@
 <translation id="3547954654003013442">प्रॉक्सी सेटिंग</translation>
 <translation id="355118380775352753">वैकल्पिक ब्राउज़र में खोली जाने वाली वेबसाइटें</translation>
 <translation id="3554984410014457319">Google Assistant को बोला गया पासवर्ड सुनकर चालू होने की अनुमति दें.</translation>
+<translation id="356579196325389849">इस्तेमाल करने वाले Chrome OS का रिलीज़ चैनल कॉन्फ़िगर कर सकते हैं</translation>
+<translation id="3575011234198230041">एचटीटीपी प्रमाणीकरण</translation>
 <translation id="3577251398714997599">तंग करने वाले विज्ञापनों वाली साइटों के लिए विज्ञापन सेटिंग</translation>
 <translation id="357917253161699596">उपयोगकर्ताओं को उपयोगकर्ता प्रमाणपत्र प्रबंधित करने दें</translation>
 <translation id="3583230441447348508">पहले से कॉन्फ़िगर किए गए नेटवर्क फ़ाइल शेयर की सूची दिखाती है.
@@ -1401,6 +1460,7 @@
 
         यह नीति डेस्कटॉप पर मशीन स्कोप क्लाउड नीति नामांकन की ओर से इस्तेमाल की जाती है और Windows पर रजिस्ट्री या GPO, Mac पर plist और Linux पर JSON नीति फ़ाइल से सेट की जा सकती है.</translation>
 <translation id="3660562134618097814">प्रवेश के दौरान SAML IdP कुकी ट्रांसफर करें</translation>
+<translation id="3668151900457104753">नामंज़ूर किए गए एक्सटेंशन अनइंस्टॉल करें</translation>
 <translation id="3701121231485832347"><ph name="MS_AD_NAME" /> प्रबंधित<ph name="PRODUCT_OS_NAME" /> डिवाइस की खास सेटिंग को नियंत्रित करती है.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (इस एक लाइन के फ़ील्ड को रोक दिया गया है और इसे बाद में हटा दिया जाएगा. कृपया नीचे दिए गए एक से ज़्यादा लाइन वाले टेक्स्टबॉक्स का इस्तेमाल करना शुरू करें.)</translation>
 <translation id="3709266154059827597">एक्‍सटेंशन इंस्‍टॉलेशन प्रतिबंध कॉन्‍फ़िगर करें</translation>
@@ -1481,6 +1541,16 @@
           अगर इस नीति को सेट किए बिना छोड़ दिया जाता है, तो शुरुआत में ऑन-स्क्रीन कीबोर्ड बंद रहेगा लेकिन उपयोगकर्ता उसे किसी भी समय चालू कर सकता है.</translation>
 <translation id="382476126209906314">दूरस्थ पहुंच होस्ट के लिए TalkGadget का प्रारंभिक भाग कॉन्फ़ि‍गर करें</translation>
 <translation id="3824972131618513497">पावर प्रबंधन और फिर से चालू करने से जुड़ी सेटिंग को नियंत्रित करता है.</translation>
+<translation id="3826475866868158882">Google की जगह की जानकारी वाली सेवाएं चालू की गईं</translation>
+<translation id="3831054243924627613">यह नीति Android बैकअप और बहाली की शुरुआती स्थिति को नियंत्रित करती है.
+
+      जब इस नीति को कॉन्फ़िगर नहीं किया जाता है या <ph name="BR_DISABLED" /> पर सेट किया जाता है, तो Android बैकअप और बहाली को शुरुआती तौर पर बंद कर दिया जाता है.
+
+      जब इस नीति को <ph name="BR_ENABLED" /> पर सेट किया जाता हैै तो, Android बैकअप और बहाली को शुरुआती तौर पर चालू कर दिया जाता है.
+
+      जब इस नीति को <ph name="BR_UNDER_USER_CONTROL" /> पर सेट किया जाता है, तो इस्तेमाल करने वाले से यह चुनने के लिए कहा जाता है कि Android बैकअप और बहाली का इस्तेमाल करना है या नहीं. अगर इस्तेमाल करने वाला बैकअप और बहाली की सुविधा चालू नहीं करता है, तो Android ऐप्लिकेशन डेटा Android बैकअप सर्वर पर अपलोड किया जाता है और संगत ऐप्लिकेशन से दोबारा इंस्टॉलेशन के लिए उन्हें बहाल कर दिया जाता है.
+
+      ध्यान रखें कि यह नीति सिर्फ़ शुरुआती सेटअप के दौरान ही Android बैकअप और बहाली को नियंत्रित करती है. इसके बाद इस्तेमाल करने वाला व्यक्ति Android सेटिंग खोलकर Android बैकअप और बहाली की सुविधा चालू/बंद कर सकता है.</translation>
 <translation id="3831376478177535007">इस सेटिंग के चालू होने पर, <ph name="PRODUCT_NAME" /> Symantec Corporation के Legacy PKI संचालनों की ओर से जारी किए गए प्रमाणपत्रों को तब अनुमति देता है, अगर वे किसी तरह से पहचाने हुए CA प्रमाणपत्र को सफलता से मान्य करते हैं और उससे जुड़ते हैं.
 
       ध्यान रखें कि यह नीति उस ऑपरेटिंग सिस्टम पर निर्भर करती है, जो अब भी Symantec की पुरानी बुनियादी संरचना के प्रमाणपत्रों को पहचानता है. अगर किसी OS अपडेट से ऐसे प्रमाणपत्रों की OS हैंडलिंग में बदलाव होता है, तो इस नीति का कोई प्रभाव नहीं होगा.  इसी के साथ, यह नीति एक अस्थायी वर्कअराउंड के रूप में तय की गई है ताकि उद्यमों को विरासती Symantec प्रमाणपत्रों से दूर जाने के लिए अधिक समय दिया जा सके.  यह नीति 1 जनवरी 2019 को या उसके आस-पास कभी भी निकाल दी जाएगी.
@@ -1565,6 +1635,15 @@
 
           अगर सेट नहीं की जाती या गलत पर सेट की जाती है, तो उपयोगकर्ता फ़ाइलों को Google डिस्क पर स्थानान्तरित कर सकेंगे.</translation>
 <translation id="3915395663995367577">proxy .pac फ़ाइल से URL</translation>
+<translation id="3920892052017026701">बैटरी चार्ज कस्टम स्टार्ट चार्जिंग को प्रतिशत में सेट करें.
+
+          बैटरी चार्ज कस्टम स्टार्ट चार्जिंग मान खत्म होने पर, बैटरी चार्ज होने लगती है.
+
+          DeviceBatteryChargeCustomStartCharging, DeviceBatteryChargeCustomStopCharging से कम होना चाहिए.
+
+          इस नीति का इस्तेमाल तभी किया जाता है अगर DeviceBatteryChargeMode को कस्टम पर सेट किया गया हो.
+
+          अगर यह नीति कॉन्फ़िगर नहीं की जाती या सेट किए बिना ही छोड़ दी जाती है, तो मानक बैटरी चार्ज मोड लागू होगा.</translation>
 <translation id="3925377537407648234">डिसप्ले रिज़ॉल्यूशन और स्केल कारक सेट करें</translation>
 <translation id="3939893074578116847">ऑनलाइन स्थिति को मॉनीटर करने के लिए प्रबंधन सर्वर को नेटवर्क पैकेट भेजें, ताकि
       सर्वर यह पता लगा सके कि डिवाइस ऑफ़लाइन है या नहीं.
@@ -1693,6 +1772,7 @@
 <translation id="4150201353443180367">डिसप्ले</translation>
 <translation id="4157003184375321727">OS और फ़र्मवेयर वर्शन की रिपोर्ट करें</translation>
 <translation id="4157594634940419685">स्थानीय CUPS प्रिंटर एक्सेस करने देती है</translation>
+<translation id="4160962198980004898">डॉक किए होने पर डिवाइस एमएसी (MAC) पते का स्रोत</translation>
 <translation id="4163705126749612234">यह नीति उन ज़रूरी क्लाइंट डोमेन नामों को कॉन्फ़िगर करती है जिन्हें रिमोट एक्सेस क्लाइंट पर लागू किया जाएगा. साथ ही, यह इस्तेमाल करने वालों को इसे बदलने से भी रोकती है.
 
           अगर यह सेटिंग चालू हो, तो सिर्फ बताए गए किसी एक डोमेन के क्लाइंट ही होस्ट से कनेक्ट कर सकते हैं.
@@ -1769,6 +1849,7 @@
       ध्यान रखें कि ऐप्लिकेशन आईडी वाली नीति का मतलब यह नहीं है कि उपयोगकर्ता लॉक स्क्रीन पर ऐप्लिकेशन को 'नोट लेने वाले ऐप्लिकेशन' के रूप में चालू कर सकेगा - उदाहरण के लिए, Chrome 61 पर, प्लैटफ़ॉर्म ने उपलब्ध ऐप्लिकेशन के समूह पर पाबंदी लगाई हुई है.
 
       अगर नीति सेट नहीं की जाती है, तो उपयोगकर्ता लॉक स्क्रीन पर कौन-कौनसे ऐप्लिकेशन चालू कर सकता है, इस पर नीति की कोई पाबंदी नहीं होगी.</translation>
+<translation id="4313767483634435271">डिवाइस का नामित डॉक MAC पता</translation>
 <translation id="4322842393287974810"><ph name="PRODUCT_OS_NAME" /> वर्शन को नियंत्रित करने के लिए बिना किसी देरी के अपने आप लॉन्च होने वाली किओस्क ऐप्लिकेशन को अनुमति दें</translation>
 <translation id="4325690621216251241">सिस्टम ट्रे में एक प्रस्थान करें बटन जोड़ें</translation>
 <translation id="4332177773549877617">Android ऐप्लिकेशन इंस्टॉल के इवेंट लॉग करें</translation>
@@ -1800,6 +1881,7 @@
 <translation id="4360826270668210664">अगर यह नीति सेट होती है, तो रिमोट एक्सेस होस्ट को कनेक्ट होने के लिए इस यूआरएल से प्रमाणीकरण टोकन पाने के लिए क्लाइंट का प्रमाणीकरण करने की ज़रूरत होगी. RemoteAccessHostTokenValidationUrl के साथ इस्तेमाल किया जाना चाहिए.
 
           यह सुविधा फ़िलहाल सर्वर से बंद की गई है.</translation>
+<translation id="4363057787588706121">अलग-अलग स्रोतों की सूची नीतियों को आपस में मिलाने देती है</translation>
 <translation id="436581050240847513">डिवाइस नेटवर्क इंटरफ़ेस की रिपोर्ट करें</translation>
 <translation id="4372704773119750918">एंटरप्राइज़ उपयोगकर्ता को एक से ज़्यादा (प्राथमिक या दूसरी) प्रोफ़ाइल का हिस्सा बनने की अनुमति न दें</translation>
 <translation id="4377599627073874279">सभी चित्र दिखाने के लिए सभी साइटों को अनुमति दें</translation>
@@ -1974,6 +2056,7 @@
 <translation id="4826326557828204741">बैटरी पावर पर चलते समय इस्तेमाल में नहीं रहने की देरी की समय सीमा पूरी हो जाने पर की जाने वाली कार्रवाई</translation>
 <translation id="4832852360828533362">उपयोगकर्ता और डिवाइस की रिपोर्ट करना</translation>
 <translation id="4834526953114077364">काफ़ी खाली स्‍थान नहीं होने तक, हाल ही में सबसे कम उपयोग करने वाले उन उपयोगकर्ताओं को निकाल दिया जाता है, जिन्‍होंने पिछले 3 माह में प्रवेश नहीं किया है</translation>
+<translation id="4835622243021053389">NTLMv2 प्रमाणीकरण चालू करें.</translation>
 <translation id="4858735034935305895">पूर्ण स्क्रीन मोड की अनुमति दें</translation>
 <translation id="4861767323695239729">किसी उपयोगकर्ता सत्र में इनपुट के लिए मंज़ूर किए गए तरीके कॉन्फ़िगर करें</translation>
 <translation id="487460824085252184">डेटा अपने आप दूसरी जगह भेजें, उपयोगकर्ता की सहमति के लिए न पूछें.</translation>
@@ -2096,6 +2179,11 @@
 
       <ph name="URL_LIST_POLICY_NAME" /> के उलट, नियम दोनों दिशाओं से लागू होते हैं. इसका मतलब है कि, जब Internet Explorer का ऐड-इन मौजूद हो और उसे चालू किया गया हो, तो नीति यह भी नियंत्रित करती है कि <ph name="IE_PRODUCT_NAME" /> को ये यूआरएल <ph name="PRODUCT_NAME" /> में खोलने चाहिए या नहीं.</translation>
 <translation id="5124368997194894978">'एसी (अल्टरनेट करंट) पर बूट करें' सुविधा चालू करें</translation>
+<translation id="5131211790949066746">एक्सटेंशन इंस्टॉल सूची नीतियों <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> और <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> को मर्ज करने की सुविधा चालू करें.
+
+      अगर आप यह सेटिंग चालू करते हैं, तो मशीन प्लैटफ़ॉर्म नीति, मशीन क्लाउड नीति और उपयोगकर्ता प्लैटफ़ॉर्म नीति के मानों को एक सूची में मर्ज कर दिया जाता है. साथ ही, इनका इस्तेमाल सबसे अच्छी प्राथमिकता वाले एक ही स्रोत के मानों का इस्तेमाल करने के बजाय कुल मिलाकर एक ही मान की तरह किया जाता है.
+
+      अगर आप यह सेटिंग बंद करते हैं या इसे सेट किए बिना छोड़ देते हैं, तो सिर्फ़ सबसे अच्छी प्राथमिकता वाले स्रोत की सूची एंट्री ली जाती हैं और बाकी सभी स्रोतों को टकरावों की तरह दिखाया जाता है लेकिन अनदेखा कर दिया जाता है.</translation>
 <translation id="5141670636904227950">प्रवेश स्क्रीन पर सक्षम डिफ़ॉल्ट स्क्रीन आवर्धक प्रकार सेट करें</translation>
 <translation id="5142301680741828703">आगे बताए गए यूआरएल पैटर्न को हमेशा <ph name="PRODUCT_FRAME_NAME" /> में रेंडर करें</translation>
 <translation id="5148753489738115745">यह नीति आपको कुछ और पैरामीटर तय करने की सुविधा देती है. जब <ph name="PRODUCT_FRAME_NAME" />, <ph name="PRODUCT_NAME" /> को लॉन्च करता है, तब इन पैरामीटर का उपयोग किया जाता है.
@@ -2219,6 +2307,7 @@
 
       अगर नीति सेट नहीं की हुई है या, अगर वह खाली स्ट्रिंग पर या किसी अमान्य पोर्ट श्रेणी पर सेट है तो, WebRTC को किसी भी उपलब्ध स्थानीय यूडीपी पोर्ट का उपयोग करने की अनुमति होती है.</translation>
 <translation id="5290940294294002042">ऐसे प्‍लग इन की सूची तय करें जिसे उपयोगकर्ता चालू या बंद कर सकते हैं</translation>
+<translation id="5306186200045823863">Symantec Corporation के लेगसी पीकेआई (डिजिटल सर्टिफ़िकेट प्रबंधित करने के तरीके) की बुनियादी संरचना में भरोसा करना चालू करें</translation>
 <translation id="5307432759655324440">गुप्त मोड उपलब्‍धता</translation>
 <translation id="5318185076587284965">दूर से एक्सेस कर रहे होस्ट के ज़रिए रिले सर्वर का उपयोग करना चालू करें</translation>
 <translation id="5323128137188992869"><ph name="PRODUCT_NAME" /> का उपयोग करने वाले डिवाइस पर सामग्री कास्ट करने दें.
@@ -2321,6 +2410,7 @@
       अगर नियमों का एक-दूसरे से टकराव होता है, तो <ph name="PRODUCT_NAME" /> सबसे खास नियम का इस्तेमाल करता है.</translation>
 <translation id="5475361623548884387">प्रिंटिंग चालू करें</translation>
 <translation id="547601067149622666">तंग करने वाले विज्ञापनों वाली साइटों पर विज्ञापनों की अनुमति न दें</translation>
+<translation id="5483065054530244863">स्थानीय भरोसेमंद एंकर की तरफ़ से जारी किए गए SHA-1 के साइन किए हुए प्रमाणपत्रों को मंज़ूरी दें</translation>
 <translation id="5483777239978559943">इस नीति का समर्थन रोक दिया गया है. कृपया Flash प्लग इन की उपलब्धता नियंत्रित करने के लिए <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> का इस्तेमाल करें. साथ ही, पीडीएफ़ फ़ाइलें खोलने के लिए इंटीग्रेटेड पीडीएफ़ व्यूअर का इस्तेमाल किया जाना चाहिए या नहीं, इसे नियंत्रित करने के लिए <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> का इस्तेमाल करें.
 
       यह नीति ऐसे प्लग इन की सूची के बारे में बताती है जिन्हें <ph name="PRODUCT_NAME" /> में चालू या बंद किया जा सकता है.
@@ -2437,6 +2527,17 @@
           अगर आप यह नीति चालू करते हैं या इसे सेट नहीं करते, तो इस्तेमाल करने वाले पासवर्ड प्रबंधक में साफ़ लेख में अपने पासवर्ड देख सकते हैं.</translation>
 <translation id="5620392548325769024">OS अपग्रेड होने के बाद, पहली बार ब्राउज़र लॉन्च होने पर स्वागत पेज दिखाने की सुविधा चालू करें</translation>
 <translation id="5630352020869108293">पिछले सत्र पुनर्स्‍थापित करें</translation>
+<translation id="5643906875497889108">यह नीति नियंत्रित करती है कि ऐप्लिकेशन/एक्सटेंशन के प्रकारों को इंस्टॉल करने की अनुमति दी जाए, साथ ही यह रनटाइम एक्सेस को भी सीमित करती है.
+
+          यह सेटिंग मंज़ूरी दिए गए एक्सटेंशन/ऐप्लिकेशन के प्रकारों की सूची बनाती है जिन्हें <ph name="PRODUCT_NAME" /> में इंस्टॉल किया जा सकता है और यह कि वे किन होस्ट से इंटरैक्ट कर सकते हैं. मान स्ट्रिंग की ऐसी सूची है, जिनमें से हर एक को इनमें से एक होना चाहिए: "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app". इन प्रकारों पर ज़्यादा जानकारी के लिए <ph name="PRODUCT_NAME" /> एक्सटेंशन दस्तावेज़ देखें.
+
+          ध्यान रखें कि इस नीति का असर उन एक्सटेंशन और ऐप्लिकेशन पर भी होता है जिन्हें ExtensionInstallForcelist के ज़रिए इंस्टॉल करने के बाद अनइंस्टॉल नहीं किया जा सकेगा.
+
+          अगर यह सेटिंग कॉन्फ़िगर की जाती है, तो जिन एक्सटेंशन/ऐप्लिेकशन का प्रकार सूची में शामिल नहीं होगा उन्हें इंस्टॉल नहीं किया जाएगा.
+
+          अगर यह सेटिंग कॉन्फ़िगर किए बिना छोड़ दी जाती है, तो स्वीकार करने लायक एक्सटेंशन/ऐप्लिकेशन प्रकारों पर कोई पाबंदी नहीं लगाई जाएगी.
+
+          वर्शन 75 से पहले, कॉमा से अलग किए गए एक से ज़्यादा एक्सटेंशन आईडी की सुविधा नहीं है और इन्हें छोड़ दिया जाएगा. इस नीति का बाही हिस्सा लागू होता रहेगा.</translation>
 <translation id="5645779841392247734">इन साइटों पर कुकी की अनुमति दें</translation>
 <translation id="5689430183304951538">डिफ़ॉल्ट प्रिंटिंग पेज आकार</translation>
 <translation id="5693469654327063861">डेटा माइग्रेशन की अनुमति दें</translation>
@@ -2476,6 +2577,7 @@
 <translation id="5765780083710877561">वर्णन:</translation>
 <translation id="5770738360657678870">डेव चैनल (अस्‍थि‍र हो सकता है)</translation>
 <translation id="5774856474228476867">डिफ़ॉल्‍ट खोज की सुविधा देने वाला खोज यूआरएल</translation>
+<translation id="5775235485119094648">जब बैटरी एक तय सीमा में हो, तो उसे चार्ज करें.</translation>
 <translation id="5776485039795852974">साइट द्वारा प्रत्येक बार डेस्कटॉप सूचना प्रदर्शित करने पर पूछें</translation>
 <translation id="5781412041848781654">यह तय करती है कि HTTP पुष्टिकरण के लिए कौन सी GSSAPI लाइब्रेरी का उपयोग करना है. आप या तो केवल लाइब्रेरी का नाम या पूरा पाथ सेट कर सकते हैं.
 
@@ -2543,6 +2645,7 @@
 <translation id="5893553533827140852">अगर यह सेटिंग सक्षम है, तब gnubby प्रमाणन अनुरोध पूरे दूरस्थ होस्ट कनेक्शन पर प्रॉक्सी किया जाएगा.
 
           अगर यह सेटिंग अक्षम है या कॉन्फ़िगर नहीं है, तो gnubby प्रमाणन अनुरोध प्रॉक्सी नहीं किए जाएंगे.</translation>
+<translation id="5897913798715600338">फ़ास्ट चार्जिंग तकनीक के इस्तेमाल से बैटरी चार्ज करें.</translation>
 <translation id="5898486742390981550">जब एक से ज़्यादा उपयोगकर्ताओं ने साइन इन किया हुआ हो तो, सिर्फ़ प्राथमिक उपयोगकर्ता ही Android ऐप्लिकेशन का उपयोग कर सकता है.</translation>
 <translation id="5900196529149231477">
       यह नीति साइन-इन स्क्रीन पर लागू होती है. कृपया <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> नीति भी देखें जो उपयोगकर्ता सत्र पर लागू होती है. दोनों नीतियों को समान मान पर सेट करने का सुझाव दिया जाता है. अगर दोनों मान का मिलान नहीं होता है, तो उपयोगकर्ता नीति में बताया गया मान लागू किए जाने के दौरान उपयोगकर्ता सत्र शुरू करते समय देरी हो सकती है.
@@ -2551,11 +2654,13 @@
       अगर नीति कॉन्फ़िगर नहीं की जाती है, तो साइन-इन स्क्रीन के लिए प्लैटफ़ॉर्म की डिफ़ॉल्ट साइट आइसोलेशन सेटिंग का इस्तेमाल किया जाएगा.
       </translation>
 <translation id="5901427587865226597">सिर्फ़ डुप्लेक्स प्रिंटिंग</translation>
+<translation id="5905473632148429217">ऑनलाइन OCSP/CRL जाँच चालू करें</translation>
 <translation id="5906199912611534122">नेटवर्क को धीमा या तेज़ करने की प्रक्रिया (नेटवर्क थ्रॉटलिंग) को चालू या बंद करने की अनुमति देती है.
       यह सभी उपयोगकर्ताओं और डिवाइस पर सभी इंटरफ़ेस पर लागू होता है. एक बार सेट कर दिए जाने पर, थ्रॉटलिंग की प्रक्रिया तब तक जारी रहती है जब तक कि इसे बंद करने के लिए नीति में बदलाव नहीं किया जाता.
 
       अगर इसे गलत पर सेट किया जाता है तो, थ्रॉटलिंग नहीं होती.
       अगर सही पर सेट किया जाता है तो, सिस्टम को दी जाने वाली अपलोड और डाउनलोड दरें (kbits/s में) पाने के लिए थ्रॉटलिंग होती है.</translation>
+<translation id="591088232153082363">बैटरी खर्च होने के पैटर्न पर आधारित एडैप्टिव चार्ज बैटरी.</translation>
 <translation id="5921713479449475707">HTTP के द्वारा अपने आप अपडेट डाउनलोड की अनुमति दें</translation>
 <translation id="5921888683953999946">लॉग इन स्क्रीन पर बड़े कर्सर की उपलब्धता सुविधा की डिफ़ॉल्ट स्थिति तय करें.
 
@@ -2577,6 +2682,7 @@
 <translation id="5950205771952201658">इस तथ्य को देखते हुए कि सॉफ़्ट-फ़ेल और ऑनलाइन निरस्तीकरण परीक्षणों से कोई असरदार सुरक्षा फ़ायदा नहीं मिलता, उन्हें <ph name="PRODUCT_NAME" /> वर्शन 19 और बाद के वर्शन में डिफ़ॉल्ट रूप से बंद कर दिया गया है. इस नीति को 'सही' पर सेट करके, काम करने का पिछला तरीका रीस्टोर कर दिया गया है और अब ऑनलाइन OCSP/CRL परीक्षण किए जाएंगे.
 
       अगर इस नीति को सेट नहीं किया जाता या 'गलत' पर सेट किया जाता है, तो <ph name="PRODUCT_NAME" />, <ph name="PRODUCT_NAME" /> 19 और बाद के वर्शन में ऑनलाइन निरस्तीकरण परीक्षण नहीं करेगा.</translation>
+<translation id="5961137303188584693">डिवाइस में NIC MAC पता पहले से मौजूद है</translation>
 <translation id="5966615072639944554">वैसे एक्सटेंशन जिन्हें दूर से प्रमाणित करने वाले API का इस्तेमाल करने की अनुमति है</translation>
 <translation id="5983708779415553259">साइटों का डिफ़ॉल्ट व्यवहार किसी भी सामग्री पैक में नहीं है</translation>
 <translation id="5997543603646547632">डिफ़ॉल्ट रूप से 24 घंटे वाली घड़ी का उपयोग करें</translation>
@@ -2667,6 +2773,17 @@
 <translation id="6111936128861357925">डाइनासोर ईस्टर गेम की अनुमति दें</translation>
 <translation id="6114416803310251055">अनुचित</translation>
 <translation id="6133088669883929098">सभी साइट को कुकी जेनरेशन का उपयोग करने दें</translation>
+<translation id="6136537398661737682">यह नीति 'Google की जगह की जानकारी वाली सेवा' की शुरुआती स्थिति नियंत्रित करती है.
+
+      जब यह नीति कॉन्फ़िगर नहीं की गई हो या <ph name="GLS_DISABLED" /> पर सेट किया गया हो, तो 'Google की जगह की जानकारी वाली सेवाएं' शुरुआती तौर पर बंद रहती हैं.
+
+      जब इस नीति को <ph name="GLS_ENABLED" />पर सेट किया जाता हैै, तो Google की जगह की जानकारी वाली सेवाएं' शुरुआती तौर पर चालू रहती हैं.
+
+      जब इस नीति को <ph name="GLS_UNDER_USER_CONTROL" /> पर सेट किया जाता हैै, तो इस्तेमाल करने वाले से पूछा जाता है कि 'Google की जगह की जानकारी वाली सेवाओं' का इस्तेमाल करना है या नहीं. इससे Android ऐप्लिकेशन डिवाइस की जगह की क्वेरी करने के लिए सेवाओं का इस्तेमाल कर सकते हैं. साथ ही, इससे जानकारी का अनाम डेटा Google को सबमिट करने की सुविधा भी चालू हो जाती है.
+
+      ध्यान रखें कि यह नीति सिर्फ़ शुरुआती सेटअप के दौरान ही 'Google की जगह की जानकारी वाली सेवाएं' नियंत्रित करती हैं. इसके बाद इस्तेमाल करने वाला व्यक्ति Android सेटिंग खोलकर 'Google की जगह की जानकारी वाली सेवाएं' चालू/बंद कर सकता है.
+
+      ध्यान रखें कि जब <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> नीति को <ph name="BLOCK_GEOLOCATION_SETTING" /> पर सेट किया जाता है, तो इस नीति को अनदेखा किया जाता है और 'Google की जगह की जानकारी वाली सेवाएं' हमेशा चालू रहती हैं.</translation>
 <translation id="6141402445226505817">हमेशा अस्पष्ट समय क्षेत्र पहचान का इस्तेमाल करें</translation>
 <translation id="6145799962557135888">वैसी साइट जिनमें JavaScript चलाने की अनुमति है, उनके लिए यूआरएल पैटर्न की सूची सेट करने की सुविधा देती है.
 
@@ -2735,9 +2852,17 @@
       अगर बंद हो तो, अपने आप भरने वाले फ़ॉर्म डेटा का आयात नहीं किया जाता.
 
       अगर इसे सेट नहीं किया गया हो तो, उपयोगकर्ता से आयात करने के लिए पूछा जा सकता है या अपने आप आयात किया जा सकता है.</translation>
+<translation id="6221175752766085998">subjectAlternativeName एक्सटेंशन के बिना स्थानीय ट्रस्ट एंकर के जारी किए हुए प्रमाणपत्रों को अनुमति दें</translation>
 <translation id="6224304369267200483">यूआरएल/डोमेन ने अपने आप सीधे सुरक्षा कुंजी प्रमाणन की अनुमति दी है</translation>
 <translation id="6233173491898450179">डाउनलोड निर्देशिका सेट करें</translation>
 <translation id="6244210204546589761">स्टार्टअप पर खुलने वाले URL</translation>
+<translation id="6255387031094435995">चुनी गई नीतियों को उस समय आपस में मिलाने देती है, जब वे अलग-अलग स्रोतों से आती हैं, लेकिन उनकी सीमाएं और स्तर एक ही होते हैं.
+
+        अगर कोई नीति सूची में है, तो दोनों स्रोतों के बीच टकराव होने पर, भले ही उनकी सीमाएं और स्तर एक ही हैं, उनके मानों को एक नई नीति सूची में मिलाया जाएगा.
+
+        अगर कोई नीति सूची में है, तो दोनों स्रोतों के बीच टकराव होने के साथ ही उनकी सीमाएं और/या लेवल भी अलग-अलग हैं, तो सबसे अच्छी प्राथमिकता वाली नीति लागू की जाएगी.
+
+        अगर कोई नीति सूची में नहीं है, तो स्रोतों, सीमाओं और/या स्तर के बीच कोई टकराव होने पर, सबसे पहली प्राथमिकता वाली नीति लागू की जाएगी.</translation>
 <translation id="6258193603492867656">यह तय करती है कि जनरेट किए गए Kerberos SPN में बिना मानक वाला पोर्ट शामिल होना चाहिए या नहीं.
 
           अगर आपने यह सेटिंग चालू की है और बिना मानक वाला कोई पोर्ट (इसका मतलब है, 80 या 443 के अलावा कोई पोर्ट) दर्ज किया गया है, तो इसे जनरेट किए गए Kerberos SPN में शामिल किया जाएगा.
@@ -2939,6 +3064,7 @@
 <translation id="6757438632136860443">वैसी साइट जिन्हें <ph name="FLASH_PLUGIN_NAME" /> प्लग इन चलाने की अनुमति है, उनके लिए यूआरएल पैटर्न की सूची सेट करने की सुविधा देती है.
 
           अगर इस नीति को सेट किए बिना छोड़ दिया जाता है तो, सभी साइट के लिए वैश्विक डिफ़ॉल्ट मान का इस्तेमाल किया जाएगा. अगर 'DefaultPluginsSetting' नीति सेट है तो, यह मान इससे लिया जाएगा नहीं तो फिर उपयोगकर्ता के निजी कॉन्फ़िगरेशन का इस्तेमाल किया जाएगा.</translation>
+<translation id="6757613329154374267">बैकअप और बहाली की सुविधा चालू है</translation>
 <translation id="6762235610019366960">आपको <ph name="PRODUCT_NAME" /> में पूरे टैब वाली प्रचार संबंधी और/या शैक्षणिक सामग्री का प्रस्तुतिकरण नियंत्रित करने देती है.
 
       अगर कॉन्‍फ़िगर नहीं की हुई होती है या चालू (सही पर सेट) होती है, तो <ph name="PRODUCT_NAME" /> उत्पाद की जानकारी देने के लिए उपयोगकर्ताओं को पूरे टैब वाली सामग्री दिखा सकेगा.
@@ -2961,6 +3087,7 @@
       इस स्ट्रिंग में ऐसे वैरिएबल ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME} हैं, जिन्हें होस्टनाम के तौर पर इस्तेमाल किए जाने से पहले डिवाइस पर मौजूद मानों से बदल दिया जाएगा. इसके नतीजे के ज़रिए होने वाला बदलाव एक मान्य होस्टनाम होना चाहिए (जैसा कि RFC 1035, सेक्शन 3.1 में बताया गया है).
 
       अगर यह नीति सेट नहीं की जाती या बदलाव के बाद मिला मान एक मान्य होस्टनाम नहीं है तो, डीएचसीपी अनुरोध में कोई भी होस्टनाम सेट नहीं किया जाएगा. </translation>
+<translation id="6833988859168635883">स्टार्टअप, होम पेज और नया टैब पेज</translation>
 <translation id="6835883744948188639">उपयोगकर्ता को बार-बार यह सूचित करने वाला संकेत दिखाती है कि फिर से लॉन्च करने का सुझाव दिया गया है</translation>
 <translation id="6837480141980366278">यह नीति नियंत्रित करती है कि पहले से मौजूद डीएनएस क्लाइंट का इस्तेमाल <ph name="PRODUCT_NAME" /> में किया जाए या नहीं.
 
@@ -3074,6 +3201,17 @@
 
       जब स्क्रीन की रोशनी कम होने ही वाली होती है, तब 'स्मार्ट डिम मॉडल' इस बात का पता लगाता है कि क्या स्क्रीन की रोशनी कम करने को टाला जाना चाहिए. अगर 'स्मार्ट डिम मॉडल' स्क्रीन की रोशनी कम करने को टाल देता है, तो वह स्क्रीन की रोशनी कम होने तक के समय में बढ़ोतरी कर देता है. इस मामले में, स्क्रीन बंद होने, स्क्रीन लॉक होने और स्क्रीन का इस्तेमाल न होने के विलंब एडजस्ट हो जाते हैं, जिससे स्क्रीन की रोशनी कम होने के विलंब का वही अंतर बनाए रखा जा सके जैसा मूल रूप से कॉन्फ़िगर किया गया है.
       अगर यह नीति सही पर सेट की जाती है या सेट किए बिना छोड़ दी जाती है, तो 'स्मार्ट डिम मॉडल' चालू कर दिया जाएगा और उसे स्क्रीन की रोशनी कम होने तक के समय में बढ़ोतरी करने की मंज़ूरी होगी. अगर यह नीति गलत पर सेट की जाती है, तो 'स्मार्ट डिम मॉडल' का स्क्रीन की रोशनी कम होने पर कोई असर नहीं पड़ेगा.</translation>
+<translation id="6967394885063085697">बेहतर बैटरी चार्ज मोड पावर प्रबंधन नीति चालू करें.
+
+          बेहतर बैटरी चार्जिंग मोड की मदद से इस्तेमाल करने वाले को बैटरी की सेहत को पूरी तरह से बेहतर बनाने में मदद मिलती है. बेहतर चार्जिंग मोड में, बैटरी की सेहत को पूरी तरह से बेहतर बनाने के लिए काम नहीं करने के समय के दौरान, सिस्टम मानक चार्जिंग एल्गोरिद्म और दूसरी तकनीकों का इस्तेमाल करेगा. काम के समय के दौरान, एक्सप्रेस चार्ज का इस्तेमाल किया जाता है. इस एक्सप्रेस चार्ज की मदद से बैटरी तेज़ी से चार्ज होती है; इसलिए, बैटरी जल्द ही पूरी तरह चार्ज हो जाती है. हर उस दिन और समय को, जब सिस्टम का सबसे ज़्यादा इस्तेमाल किया जाएगा, शुरु होने के समय और अवधि के ज़रिए बताया जाता है.
+
+          अगर यह नीति सही पर सेट की जाती है और DeviceAdvancedBatteryChargeModeDayConfig सेट होता है, तो डिवाइस में सुविधा होने पर बेहतर बैटरी चार्ज मोड हमेशा चालू रहेगा.
+
+          अगर यह नीति गलत पर सेट की जाती है, तो बेहतर बैटरी चार्ज मोड हमेशा बंद रहेगा.
+
+          अगर आपने यह नीति सेट कर दी है, तो उपयोगकर्ता इसमें बदलाव नहीं कर सकते है.
+
+          अगर यह नीति सेट किए बिना छोड़ दी जाती है, तो बेहतर बैटरी चार्ज मोड बंद कर दिया जाता है और इस्तेमाल करने वाला इसे चालू नहीं कर सकता.</translation>
 <translation id="6972540544240464302">टास्क शेड्यूलर कॉन्फ़िगरेशन चुनें</translation>
 <translation id="6979158407327259162">Google डिस्क</translation>
 <translation id="6994082778848658360">यह नीति बताती है कि अगर मौजूदा 'सुरक्षा एलिमेंट हार्डवेयर', दो तरीके से पहचान की पुष्टि की सुविधा के साथ काम कर सकता है, तो किस तरह उसका इस्तेमाल करके इस सुविधा का फ़ायदा उठाया जा सकता है. उपयोगकर्ता की मौजूदगी का पता लगाने के लिए मशीन के पावर बटन का इस्तेमाल किया जाता है. 
@@ -3152,6 +3290,17 @@
       अगर आप इस सेटिंग को चालू या बंद करते हैं, तो उपयोगकर्ता उसे बदल नहीं सकते या उसे ओवरराइड नहीं कर सकते हैं.
 
       अगर पॉलिसी को सेट किए बिना छोड़ दिया जाता है, तो उपयोगकर्ता चुन सकता है कि उससे डिवाइस को अनलॉक करने के लिए पासवर्ड मांगा जाए या नहीं.</translation>
+<translation id="7107148737865880402">यूएसबी पावर शेयर पावर प्रबंधन नीति चालू करें.
+
+          कुछ डिवाइस में चमकते हुए बोल्ट या बैटरी आइकॉन के निशान वाला खास यूएसबी पोर्ट होता है, जिसे सिस्टम की बैटरी का इस्तेमाल करके मोबाइल फ़ोन जैसे डिवाइस को चार्ज करने के लिए किया जा सकता है. यह नीति सिस्टम के इस्तेमाल में न होने और शट डाउन मोड में होने के दौरान इस पोर्ट के चार्जिंग के बर्ताव पर असर डालती है. यह नीति सिस्टम के काम करने के दौरान दूसरे यूएसबी पोर्ट और चार्जिंग के बर्ताव पर असर नहीं डालती है.
+
+          चालू होने पर, यूएसबी पोर्ट से हमेशा पावर मिलेगा.
+
+          काम नहीं करने के दौरान, अगर इस नीति को सही पर सेट किया गया हो, तो यूएसबी पोर्ट को पावर तब दी जाएगी जब डिवाइस को वॉल चार्जर में लगाया गया हो या अगर बैटरी का लेवल 50% से ज़्यादा हो. अगर नहीं, तो कोई पावर नहीं दी जाती है.
+
+          शट डाउन होने पर, अगर यह नीति सही पर सेट की जाती है, तो यूएसबी पोर्ट को पावर तब दी जाएगी जब डिवाइस को वॉल चार्जर में प्लग किया गया हो. अगर नहीं, तो कोई पावर नहीं दी जाती है.
+
+          अगर इस नीति को सेट किए बिना ही छोड़ दिया जाता है, तो नीति चालू हो जाती है और इस्तेमाल करने वाला इसे बंद नहीं कर सकता है.</translation>
 <translation id="7115494316187648452">यह नीति तय करती है कि क्‍या OS लॉगिन पर कोई <ph name="PRODUCT_NAME" /> प्रक्रिया शुरू हुई है और क्‍या वह पिछले ब्राउज़र के बंद हो जाने पर चलती रहती है, जिससे बैकग्राउंड ऐप्लिकेशन और मौजूदा ब्राउज़िंग सेशन चालू रहें. इसमें कोई भी सेशन कुकी शामिल है. बैकग्राउंड प्रक्रिया 'सिस्‍टम ट्रे' में एक आइकॉन दिखाती है और उसे वहीं से कभी भी बंद किया जा सकता है.
 
       अगर यह नीति 'सही' पर सेट होती है तो, बैकग्राउंड मोड चालू हो जाता है और उपयोगकर्ता उसे ब्राउज़र सेटिंग में नियंत्रित नहीं कर सकता.
@@ -3202,6 +3351,7 @@
           अगर यह नीति 'सही' पर सेट की जाती है या सेट किए बिना छोड़ दी जाती है, तो स्क्रीन को जगाने वाले लॉक पावर प्रबंधन में काम करेंगे, जब तक कि आप 'स्क्रीन को जगाने वाले लॉक को मंज़ूरी दें', को गलत पर सेट नहीं करते .
 
           अगर यह नीति 'गलत' पर सेट की जाती है, तो स्क्रीन को जगाने वाले लॉक अनुरोधों को सिस्टम को जगाने वाले लॉक अनुरोधों में तब्दील कर दिया जाएगा.</translation>
+<translation id="7177857088692019405">झटपट अनलॉक</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">अपडेट के लिए अनुमत कनेक्शन प्रकार</translation>
 <translation id="7194407337890404814">डिफ़ॉल्‍ट खोज की सुविधा देने वाले का नाम</translation>
@@ -3266,6 +3416,7 @@
 <translation id="7273823081800296768">अगर यह सेटिंग सक्षम की गई है या कॉन्फ़िगर नहीं की गई है, तो उपयोगकर्ता प्रत्येक बार PIN डालने की आवश्यकता को खत्म करते हुए, कनेक्शन के समय क्लाइंट और होस्ट को युग्मित करना चुन सकते हैं.
 
           अगर यह सेटिंग अक्षम की गई हो, तो यह सुविधा उपलब्ध नहीं होगी.</translation>
+<translation id="7274077256421167535">यूएसबी पावर शेयर चालू करें</translation>
 <translation id="7275334191706090484">प्रबंधित बुकमार्क</translation>
 <translation id="7291084543582732020">जब आप इस सेटिंग को चालू करते हैं, तो इस्तेमाल करने वाले को सुविधा की ज़रूरतें पूरी होने पर Smart Lock का इस्तेमाल करने अनुमति होती है.
 
@@ -3279,6 +3430,7 @@
 
           इस नीति का सिर्फ़ तभी पालन किया जाता है जब 'DefaultSearchProviderEnabled' नीति चालू हो.</translation>
 <translation id="7302043767260300182">AC पावर पर चलते समय स्क्रीन लॉक विलंब</translation>
+<translation id="7305262223970835999">SAML का इस्तेमाल करने वालों के लिए सेशन में पासवर्ड बदलने वाले पेज की सुविधा देती है.</translation>
 <translation id="7311458740754205918">अगर यह 'सही' पर सेट है या सेट नहीं की गई है तो, 'नया टैब' पेज उपयोगकर्ता के ब्राउज़िंग इतिहास, रुचियों या जगह के आधार पर सामग्री के सुझाव दिखा सकता है.
 
       अगर यह 'गलत' पर सेट है तो, अपने आप जनरेट होने वाले सामग्री सुझाव, 'नया टैब' पेज पर दिखाए नहीं देते.</translation>
@@ -3400,6 +3552,15 @@
       अगर इस नीति का मान 0 है, तो कैश मेमोरी के डिफ़ॉल्‍ट आकार का उपयोग किया जाएगा लेकिन उपयोगकर्ता उसे बदल नहीं सकेगा.
 
       अगर यह नीति सेट नहीं है, तो डिफ़ॉल्‍ट आकार का उपयोग किया जाएगा और उपयोगकर्ता उसे --disk-cache-size फ़्लैग से बदल सकेगा.</translation>
+<translation id="759389052790680884">बैटरी चार्ज कस्टम स्टॉप चार्जिंग का प्रतिशत.
+
+          जब बैटरी, बैटरी चार्ज कस्टम स्टॉप चार्जिंग के मान तक पहुंच जाती है, तो वह चार्ज होना बंद हो जाती है.
+
+          DeviceBatteryChargeCustomStartCharging, DeviceBatteryChargeCustomStopCharging से कम होना चाहिए.
+
+          इस नीति का इस्तेमाल तभी किया जाता है अगर DeviceBatteryChargeMode को कस्टम पर सेट किया गया हो.
+
+          अगर यह नीति कॉन्फ़िगर नहीं की जाती या सेट किए बिना ही छोड़ दी जाती है, तो मानक बैटरी चार्ज मोड लागू होगा.</translation>
 <translation id="759957074386651883">सुरक्षित ब्राउज़िंग सेटिंग</translation>
 <translation id="7604169113182304895">Android ऐप्लिकेशन स्वैच्छिक रूप से इस सूची का पालन करना चुन सकते हैं. आप उन्हें इसका पालन करने के लिए मजबूर नहीं कर सकते हैं.</translation>
 <translation id="7612157962821894603"><ph name="PRODUCT_NAME" /> स्टार्ट-अप पर लागू किए जाने वाले सिस्टम व्यापी फ़्लैग</translation>
@@ -3478,6 +3639,15 @@
 <translation id="7712109699186360774">जब भी कोई साइट कैमरे और/या माइक्रोफ़ोन का एक्सेस चाहे तो हर बार पूछें</translation>
 <translation id="7713608076604149344">डाउनलोड से जुड़े प्रतिबंध</translation>
 <translation id="7715711044277116530">प्रस्तुतिकरण मोड में मंद स्क्रीन विलंब मापने का प्रतिशत</translation>
+<translation id="7716781462866245042">दिन में बेहतर बैटरी चार्ज मोड कॉन्फ़िगरेशन सेट करें.
+
+          इस नीति का इस्तेमाल तभी किया जाता है अगर DeviceAdvancedBatteryChargeModeEnabled को सही पर सेट किया गया हो.
+
+          अगर इस नीति को कॉन्फ़िगर नहीं किया जाता है या सेट किए बिना छोड़ दिया जाता है, तो बेहतर चार्ज मोड हमेशा ही बंद रहेगा.
+
+          नोट: <ph name="CHARGE_START_TIME_FIELD_NAME" />, <ph name="CHARGE_END_TIME_FIELD_NAME" /> से कम होना चाहिए.
+
+          नोट: <ph name="CHARGE_START_TIME_FIELD_NAME" /> और <ph name="CHARGE_END_TIME_FIELD_NAME" /> में <ph name="MINUTE_FIELD_NAME" /> फ़ील्ड के लिए मंज़ूरी दिए गए मान 0, 15, 30, और 45 हैं.</translation>
 <translation id="7717938661004793600"><ph name="PRODUCT_OS_NAME" /> की पहुंच-योग्यता सुविधाएं कॉन्फ़िगर करें.</translation>
 <translation id="7724994675283793633">यह नीति पोर्ट पर HTTP के लिए 80 और HTTPS के लिए 443 के अलावा HTTP/0.9 को सक्षम करती है.
 
@@ -3551,6 +3721,7 @@
       साइन इन स्क्रीन पर स्क्रीन सेवर के रूप में इस्तेमाल किए जाने वाले एक्सटेंशन की आईडी तय करती है. एक्सटेंशन, DeviceAppPack नीति के ज़रिए इस डोमेन के लिए कॉन्फ़िगर किए गए AppPack का भाग होना चाहिए.</translation>
 <translation id="7882857838942884046">Google सिंक को अक्षम करने से Android बैकअप और पुनर्स्थापना ठीक से काम नहीं करेंगे.</translation>
 <translation id="7882890448959833986">असमर्थित OS चेतावनी को छिपाएं</translation>
+<translation id="7895553628261067384">दूर से एक्सेस करना</translation>
 <translation id="7902255855035461275">इस सूची के पैटर्न का मिलान अनुरोध करने वाले यूआरएल के सुरक्षा
       मूल से किया जाता है. अगर मिलान हो जाता है, तो वीडियो
       कैप्चर डिवाइस के लिए एक्सेस, सूचना दिए बिना ही दे दिए जाएंगे.
@@ -3564,6 +3735,11 @@
 <translation id="7937491150792971922">एक से ज़्यादा स्रोतों की एक्सटेंशन इंस्टॉल सूची नीतियां मर्ज करें</translation>
 <translation id="7937766917976512374">वीडियो कैप्चर की अनुमति देना या अस्वीकार करना</translation>
 <translation id="7941975817681987555">किसी भी नेटवर्क कनेक्शन पर नेटवर्क कार्रवाई का पूर्वानुमान ना लगाएं</translation>
+<translation id="7952007677054834789"><ph name="PRODUCT_NAME" /> में स्टार्टअप पर लोड होने वाले पेज, डिफ़ॉल्ट होम पेज और डिफ़ॉल्ट नया टैब पेज कॉन्फ़िगर करती है और इस्तेमाल करने वालों को उन्हें बदलने से रोकती है.
+
+      अगर आप होम पेज को ही नया टैब पेज बनाना चुनते हैं या इसे किसी यूआरएल पर सेट करते हैं और होम पेज का यूआरएल बताते हैं, तभी इस्तेमाल करने वाले की होम पेज सेटिंग पूरी तरह से लॉक की जाती हैं. अगर आप होम पेज का यूआरएल नहीं बताते हैं, तब भी इस्तेमाल करने वाला व्यक्ति 'chrome://newtab' तय करके होम पेज को नए टैब पेज पर सेट कर सकता है.
+
+      'स्टार्टअप पर खुलने वाले यूआरएल' की नीति को तब तक अनदेखा किया जाता है, जब तक कि आप 'स्टार्टअप पर की जाने वाली कार्रवाई' में 'यूआरएल की सूची खोलें' नहीं चुन लेते.</translation>
 <translation id="7952958573604504839"><ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> की पसंद के मुताबिक इस नीति का इस्तेमाल M48 में बंद कर दिया गया है. जबकि, M54में इसे हटा दिया गया है.
 
       <ph name="PRODUCT_NAME" /> में नेटवर्क का पहले से अनुमान लगाने की सुविधा चालू करती है और इस्तेमाल करने वालों को इस सेटिंग को बदलने से रोकती है.
@@ -3707,6 +3883,7 @@
 <translation id="8176035528522326671">'एंटरप्राइज़ उपयोगकर्ता' को सिर्फ़ 'एक से ज़्यादा प्रोफ़ाइल' का प्राथमिक उपयोगकर्ता बनने की अनुमति दें (एंटरप्राइज़-प्रबंधित उपयोगकर्ताओं के लिए डिफ़ॉल्ट व्यवहार)</translation>
 <translation id="8214600119442850823">पासवर्ड प्रबंधक को कॉन्फ़िगर करती है.</translation>
 <translation id="8217516105848565518">इस नीति का समर्थन रोक दिया गया है. इसके बजाय, कृपया RemoteAccessHostDomainList का इस्तेमाल करें.</translation>
+<translation id="8244171102276095471">TLS में RC4 सिफ़र सुइट चालू करें</translation>
 <translation id="8244525275280476362">नीति अमान्यकरण से पहले अधिकतम फ़ेच विलंब</translation>
 <translation id="8256688113167012935">उस खाता नाम को नियंत्रित करती है जिसे <ph name="PRODUCT_OS_NAME" />, मिलते-जुलते डिवाइस-स्थानीय खाते के लिए लॉग इन स्क्रीन पर दिखाता है.
 
@@ -3747,6 +3924,7 @@
 <translation id="8312129124898414409">यह सेट करने देती है कि वेबसाइटों को कुंजी जनरेट करने की अनुमति है या नहीं. कुंजी जनरेट करने की अनुमति या तो सभी साइटों के लिए दी जा सकती है या फिर सभी साइटों के लिए खारिज की जा सकती है.
 
           अगर इस नीति को सेट किए बिना छोड़ दिया जाता है तो, 'BlockKeygen' का उपयोग किया जाएगा और उपयोगकर्ता इसमें बदलाव कर सकेंगे.</translation>
+<translation id="8320149248919453401">बैटरी चार्ज मोड</translation>
 <translation id="8329984337216493753">यह नीति केवल 'रीटेल मोड' में चालू है.
 
       जब DeviceIdleLogoutTimeout तय किया जाता है तो यह नीति 'काउंट डाउन टाइमर' के साथ चेतावनी बॉक्‍स की अवधि तय करती है जिसे उपयोगकर्ता को लॉग आउट करने से पहले दिखाया जाता है.
@@ -3913,6 +4091,7 @@
       अगर सेट नहीं किया गया है, तो <ph name="PRODUCT_NAME" /> डिवाइस के लिए 345600000 मिलीसेकंड (चार दिन) की डिफ़ॉल्ट समय सीमा और <ph name="PRODUCT_OS_NAME" /> डिवाइस के लिए 604800000 मिलीसेकंड (एक हफ़्ता) की समय सीमा इस्तेमाल की जाती है.</translation>
 <translation id="8685024486845674965">पासवर्ड का फिर से इस्तेमाल होने पर पासवर्ड सुरक्षा की ओर से चेतावनी ट्रिगर की गई है</translation>
 <translation id="8693243869659262736">अंतर्निहित DNS क्लाइंट का उपयोग करना</translation>
+<translation id="8698286761337647563">SAML का इस्तेमाल करने वालों को उनका पासवर्ड खत्म होने से कितने दिन पहले बताना है</translation>
 <translation id="8703488928438047864">बोर्ड की स्थिति रिपोर्ट करें</translation>
 <translation id="8703872185032220081">दिन में पावर पीक शिफ़्ट मोड का इस्तेमाल करने के लिए इसे सेट करें.
 
@@ -3961,6 +4140,7 @@
       अगर यह सेटिंग बंद होती है या सेट नहीं की जाती है, तो 'पासवर्ड सुरक्षा सेवा' उपयोगकर्ताओं को अपने पासवर्ड बदलने के लिए https://myaccounts.google.com पर भेजेगी.
       यह नीति सिर्फ़ Windows के उन इंस्टैंस पर उपलब्ध है जिन्हें किसी <ph name="MS_AD_NAME" /> डोमेन से जोड़ा गया है, या फिर Windows 10 Pro या Enterprise के उन इंस्टैंस पर उपलब्ध है जिनका नाम डिवाइस प्रबंधन के लिए दर्ज किया गया है.</translation>
 <translation id="8798099450830957504">सामान्य</translation>
+<translation id="8800453707696044281">बैटरी चार्ज कस्टम स्टॉप चार्जिंग को प्रतिशत में सेट करें</translation>
 <translation id="8801680448782904838">उपयोगकर्ता को सूचित करें कि ब्राउज़र को फिर से लॉन्च करने का सुझाव दिया गया है या ऐसा करना ज़रूरी है</translation>
 <translation id="8818173863808665831">डिवाइस के भौगोलिक स्थान की रिपोर्ट करें.
 
@@ -4074,6 +4254,11 @@
       इस नीति का असर सिर्फ़ उन इस्तेमाल करने वालों पर होता है जिन्होंने एसएएमएल के इस्तेमाल से मंज़ूरी दी है.
 
       नीति का मान सेकंड में बताया जाना चाहिए.</translation>
+<translation id="9018338365267278833">इससे <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> में दिखाई दे रहे एक्सटेंशन या <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> में दिखाई दे रहे ऐसे एक्सटेंशन हट जाएंगे, जिनमें इंस्टॉलेशन मोड को 'ब्लॉक किया गया' पर सेट किया गया है. साथ ही, इस्तेमाल करने वाले का स्थानीय डेटा इसमें पर्ज हो जाएगा.  एक्सटेंशन की निजता नीति या डेटा के रखरखाव की नीति देखें और समझें कि इस्तेमाल करने वाले के जिस डेटा को स्थानीय रूप से सेव नहीं किया गया है उसका क्या हो सकता है.
+
+      नीति को 'चालू' पर सेट किए जाने पर, ऊपर बताई गई सूचियों में आने वाले एक्सटेंशन (अगर वे पहले से किसी मशीन पर इंस्टॉल किए हुए हैं) उस मशीन से पूरी तरह हटा दिए जाएंगे (जिसमें इस्तेमाल करने वाले का स्थानीय डेटा भी शामिल होगा).
+
+      जब नीति को 'बंद' पर सेट किया जाता है या सेट किए बिना छोड़ दिया जाता है, तो ऊपर बताई गई सूचियों में आने वाले एक्सटेंशन (अगर वे पहले से ही किसी मशीन पर इंस्टॉल किए गए हैं और नामंज़ूर की गई <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> सूची में मौजूद हैं) उस मशीन पर बंद कर दिए जाएंगे और उन्हें अनइंस्टॉल नहीं किया जाएगा.</translation>
 <translation id="9027787254195333560">यह नीति आपको अवतार इमेज को कॉन्फ़िगर करने देती है जो लॉगिन स्क्रीन पर इस्तेमाल करने वाले का प्रतिनिधित्व करता है. यह नीति उस यूआरएल को तय करके सेट की जाती है जिससे <ph name="PRODUCT_OS_NAME" /> अवतार इमेज को डाउनलोड कर सकता है. साथ ही, डाउनलोड की प्रमाणिकता की पुष्टि करने के लिए क्रिप्टोग्राफ़िक हैश का इस्तेमाल किया जाता है. इमेज जेपीईजी फ़ॉर्मैट में होनी चाहिए, इसका आकार 512kB से ज़्यादा नहीं होना चाहिए. यूआरएल ऐसा होना चाहिए जिसे बिना किसी प्रमाणीकरण के एक्सेस किया जा सके.
 
       अवतार इमेज को डाउनलोड और कैश किया गया है. जब भी यूआरएल या हैश बदलेगा इसे फिर से डाउनलोड किया जाएगा.
diff --git a/components/policy/resources/policy_templates_hr.xtb b/components/policy/resources/policy_templates_hr.xtb
index c5cf2f99..875e50a 100644
--- a/components/policy/resources/policy_templates_hr.xtb
+++ b/components/policy/resources/policy_templates_hr.xtb
@@ -53,6 +53,13 @@
 <translation id="1049138910114524876">Konfigurira oznaku zemlje/jezika koja se nameće na zaslonu za prijavu na usluzi <ph name="PRODUCT_OS_NAME" />.
 
       Ako se to pravilo postavi, zaslon za prijavu uvijek će se prikazivati na jeziku određenom prvom vrijednošću pravila (pravilo je definirano kao popis za kompatibilnost s budućim verzijama). Ako se to pravilo ne postavi ili se postavi na prazan popis, zaslon za prijavu prikazivat će se na jeziku zadnje korisničke sesije. Ako se to pravilo postavi na vrijednost koja nije važeća oznaka zemlje/jezika, zaslon za prijavu prikazivat će se na osnovnom jeziku (trenutačno en-US).</translation>
+<translation id="1052499923181221200">To pravilo nema utjecaja ako se SamlInSessionPasswordChangeEnabled ne postavi na true.
+      Ako se potonje postavi na true, a ovo pravilo (primjerice) na 14, to znači da će korisnici SAML-a primiti obavijest 14 dana prije nego što im istekne zaporka na određeni datum.
+      Tako mogu odmah pristupiti rješavanju te promijeniti zaporku u okviru sesije i ažurirati je prije isteka.
+      No te će se obavijesti prikazati samo ako informacije o isteku zaporke uređaju pošalje davatelj identiteta za SAML tijekom postupka SAML prijave.
+      Postavljanje tog pravila na nula znači da korisnici neće biti obaviješteni unaprijed, već tek nakon isteka zaporke.
+
+      Ako je to pravilo postavljeno, korisnik ga neće moći promijeniti ni nadjačati.</translation>
 <translation id="1062011392452772310">Omogući daljinsku ovjeru za uređaj</translation>
 <translation id="1062407476771304334">Zamijeni</translation>
 <translation id="1079801999187584280">Onemogući upotrebu Alata za razvojne programere</translation>
@@ -201,6 +208,7 @@
       Ako se pravilo omogući, Google asistent smije pristupiti kontekstu zaslona.
       Ako se pravilo onemogući, Google asistent ne smije pristupiti kontekstu zaslona.
       Ako se pravilo ne postavi, korisnici će moći odlučiti hoće li Google asistentu dopustiti pristup kontekstu zaslona</translation>
+<translation id="1376119291123231789">Omogući napredni način punjenja baterije</translation>
 <translation id="1383493480903114193">To pravilo prisilno pokreće kôd za umrežavanje u procesu preglednika.
 
       To je pravilo onemogućeno prema zadanim postavkama i ako se omogući, korisnici će biti izloženi sigurnosnim poteškoćama kada proces umrežavanja bude u testnom okruženju.
@@ -299,6 +307,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Omogući blokiranje umetanja softvera treće strane</translation>
 <translation id="1504431521196476721">Daljinsko atestiranje</translation>
+<translation id="1507382822467487898">
+          Konfigurira MAC adresu koja će se upotrebljavati kada je uređaj spojen na priključnu stanicu.
+
+          Kada su određeni modeli uređaja spojeni na priključnu stanicu, za identifikaciju uređaja na Ethernetu prema zadanim se postavkama upotrebljava MAC adresa označene priključne stanice uređaja. To pravilo omogućuje administratoru da promijeni izvor MAC adrese dok je uređaj priključen na stanicu.
+
+          Ako se odabere "DeviceDockMacAddress" ili se pravilo ne postavi, upotrebljavat će se MAC adresa označene priključne stanice.
+
+          Ako se odabere "DeviceNicMacAddress", upotrebljavat će se MAC adresa upravljača mrežnog sučelja.
+
+          Ako se odabere "DockNicMacAddress", upotrebljavat će se MAC adresa upravljača mrežnog sučelja priključne stanice.
+
+          Korisnik ne može promijeniti tu postavku.</translation>
 <translation id="1507957856411744193">Ako se to pravilo postavi na True, usluga <ph name="PRODUCT_NAME" /> povezat će se s uređajima za emitiranje na svim IP adresama, a ne samo privatnim adresama RFC1918/RFC4193.
 
           Ako se to pravilo postavi na False, usluga <ph name="PRODUCT_NAME" /> povezat će se s uređajima za emitiranje samo na privatnim adresama RFC1918/RFC4193.
@@ -729,6 +749,17 @@
 <translation id="2303795211377219696">Omogući Automatsko popunjavanje za kreditne kartice</translation>
 <translation id="2309390639296060546">Zadana postavka zemljopisnog položaja</translation>
 <translation id="2327252517317514801">Definira domene kojima je dopušten pristup G Suiteu</translation>
+<translation id="2356878440219553005">Odredite pravilo za upravljanje napajanjem načina punjenja baterije.
+
+          Dinamički upravljajte punjenjem baterije da biste smanjili istrošenost baterije uslijed opterećenja i produljili njezino trajanje.
+
+          Ako je odabran prilagođeni način punjenja baterije, potrebno je odrediti pravila DeviceBatteryChargeCustomStartCharging i DeviceBatteryChargeCustomStopCharging.
+
+          Ako se to pravilo postavi, primjenjivat će se način punjenja baterije ako to uređaj podržava.
+
+          Ako se to pravilo ne postavi, a uređaj ga podržava, primjenjivat će se standardni način punjenja baterije i korisnik ga neće moći promijeniti.
+
+          Napomena: <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> nadjačava to pravilo ako se odredi prethodno.</translation>
 <translation id="237494535617297575">Omogućuje postavljanje popisa uzoraka URL-ova koji određuju web-lokacije koje ne smiju prikazivati obavijesti. Ako ovo pravilo nije postavljeno, upotrebljavat će se globalna zadana vrijednost za sve web-lokacije iz pravila "DefaultNotificationsSetting" ako je postavljeno, odnosno iz osobne konfiguracije korisnika ako nije.</translation>
 <translation id="2386362615870139244">Dopusti blokiranja aktivacije zaslona</translation>
 <translation id="2411817661175306360">Upozorenje o zaštiti zaporkom isključeno je</translation>
@@ -764,6 +795,7 @@
 
       Ako je to pravilo postavljeno na netočno, automatska prijava bez odgode (ako je konfigurirana) ne može se izbjeći.</translation>
 <translation id="2454228136871844693">Optimizirati za stabilnost.</translation>
+<translation id="2463034609187171371">Omogući DHE pakete šifri u TLS-u</translation>
 <translation id="2463365186486772703">Oznaka zemlje/jezika aplikacije</translation>
 <translation id="2466131534462628618">Autentifikacija putem obaveznog portala zanemaruje proxy</translation>
 <translation id="2482676533225429905">Lokalno slanje poruka</translation>
@@ -935,6 +967,7 @@
 <translation id="2769952903507981510">Konfiguriraj traženi naziv domene za hostove daljinskog pristupa</translation>
 <translation id="2787173078141616821">Prijavi informacije o statusu Androida</translation>
 <translation id="2799297758492717491">Dopusti automatsku reprodukciju medija na popisu dopuštenih uzoraka URL-a</translation>
+<translation id="2801155097555584385">Postavi prilagođeni početak punjenja baterije u postocima</translation>
 <translation id="2801230735743888564">Dopusti korisnicima igranje skrivene igre s dinosaurom kada je uređaj izvan mreže.
 
       Ako se to pravilo postavi na "False", korisnici neće moći igrati skrivenu igru s dinosaurom kada uređaj nije povezan s mrežom. Ako se ta postavka postavi na "True", korisnici će moći igrati igru s dinosaurom. Ako se to pravilo ne postavi, korisnici neće moći igrati skrivenu igru s dinosaurom u prijavljenom OS-u Chrome, ali će je moći igrati u drugim okolnostima.</translation>
@@ -1008,6 +1041,7 @@
       Ako onemogućite tu postavku ili ne postavite nikakvu vrijednost, zadani će odredišni pisač u Pregledu ispisa biti pisač koji je upotrijebljen zadnji put.
 
       Ako omogućite tu postavku, u Pregledu ispisa upotrebljavat će se zadani pisač OS-a kao zadani odredišni pisač.</translation>
+<translation id="285627849510728211">Postavi dnevno konfiguriranje naprednog načina punjenja baterije</translation>
 <translation id="2856674246949497058">Vrati se na ciljnu verziju i ostani na njoj ako je verzija OS-a novija od ciljne. Tijekom postupka izvrši powerwash.</translation>
 <translation id="2872961005593481000">Isključi</translation>
 <translation id="2873651257716068683">Nadjačava veličinu stranice zadanog ispisa. Pravilo se zanemaruje ako veličina stranice nije dostupna.</translation>
@@ -1140,12 +1174,26 @@
 <translation id="3072045631333522102">Čuvar zaslona koji će se upotrebljavati na zaslonu prijave u prodajnom načinu</translation>
 <translation id="3072847235228302527">Postavi Uvjete pružanja usluge za lokalni račun na uređaju</translation>
 <translation id="3077183141551274418">Omogućuje ili onemogućuje životne cikluse kartica</translation>
+<translation id="3079417254871857650">Određuje radnju koja se treba poduzeti kada je početni direktorij korisnika izrađen pomoću enkripcije eCryptfs.
+
+      Ako to pravilo postavite na "DisallowArc", Android aplikacije bit će onemogućene za korisnika i neće se izvršiti premještanje s enkripcije eCryptfs na ext4. Android aplikacijama neće se spriječiti pokretanje ako početni direktorij već ima enkripciju ext4.
+
+      Ako to pravilo postavite na "Migrate", početni direktoriji s enkripcijom eCryptfs automatski će prijeći na enkripciju ext4 prilikom prijave bez traženja korisnikova pristanka.
+
+      Ako to pravilo postavite na "Wipe", početni direktoriji s enkripcijom eCryptfs izbrisat će se prilikom prijave i umjesto njih izradit će se novi početni direktoriji s enkripcijom ext4. Upozorenje: time će se ukloniti svi lokalni podaci korisnika.
+
+      Ako to pravilo postavite na "MinimalMigrate", početni direktoriji s enkripcijom eCryptfs izbrisat će se prilikom prijave i umjesto njih izradit će se novi početni direktoriji s enkripcijom ext4. No pokušat će se zadržati oznake za prijavu kako se korisnik ne bi morao ponovo prijavljivati. Upozorenje: time će se ukloniti svi lokalni podaci korisnika.
+
+      Ako to pravilo postavite na opciju koja se više ne podržava ("AskUser" ili "AskForEcryptfsArcUsers"), to će se smatrati kao da ste odabrali opciju "Migrate".
+
+      To se pravilo ne primjenjuje na korisnike kioska. Ako se pravilo ne postavi, uređaj će se ponašati kao da je odabrana opcija "DisallowArc".</translation>
 <translation id="3086995894968271156">Konfiguriranje pravila Cast prijemnika u proizvodu <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Omogućuje vam postavljanje popisa uzoraka URL-ova koji navode web-lokacije kojima je dopušteno prikazivati slike.
 
           Ako se to pravilo ne postavi, za sve web-lokacije upotrebljavat će se globalna zadana vrijednost iz pravila "DefaultImagesSetting" ako je postavljeno, odnosno osobne konfiguracije korisnika ako nije.
 
           Napominjemo da je ovo pravilo prije bilo pogreškom omogućeno na Androidu, iako ta funkcija na Androidu nikad nije bila potpuno podržana.</translation>
+<translation id="3091832372132789233">Puni bateriju za uređaje koji su prvenstveno spojeni na vanjski izvor napajanja.</translation>
 <translation id="3096595567015595053">Popis omogućenih dodataka</translation>
 <translation id="3101501961102569744">Odaberi način određivanja postavki proxy poslužitelja</translation>
 <translation id="3101709781009526431">Datum i vrijeme</translation>
@@ -1171,6 +1219,7 @@
           Ako se ta postavka onemogući, <ph name="PRODUCT_NAME" /> upotrebljavat će samo hostove za lokalno slanje poruka instalirane na razini sustava.
 
           Ako se ta postavka ne postavi, <ph name="PRODUCT_NAME" /> dopustit će upotrebu hostova za lokalno slanje poruka na razini korisnika.</translation>
+<translation id="3177802893484440532">Zahtijevaj online OCSP/CRL provjere za lokalne pouzdane ustanove</translation>
 <translation id="3185009703220253572">od verzije <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Android aplikacije ne mogu dobiti pristup korporacijskim ključevima. To pravilo nema utjecaja na njih.</translation>
 <translation id="3205825995289802549">Maksimiziraj prvi prozor preglednika pri prvom pokretanju</translation>
@@ -1180,6 +1229,7 @@
 <translation id="3220624000494482595">Ako je kiosk aplikacija Android aplikacija, neće imati kontrolu nad <ph name="PRODUCT_OS_NAME" /> verzijom, čak i ako se to pravilo postavi na <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Obrasci URL-ova za dopuštanje instalacija proširenja, aplikacija i korisničkih skripti iz izvora</translation>
 <translation id="3240609035816615922">Pravila za pristup konfiguraciji pisača.</translation>
+<translation id="3240655340884151271">MAC adresa ugrađenog upravljača mrežnog sučelja priključne stanice</translation>
 <translation id="3243309373265599239">Određuje koliko vremena treba proteći bez aktivnosti korisnika da bi se zaslon zatamnio tijekom napajanja izmjeničnom strujom.
 
           Kada je postavljeno na vrijednost veću od nule, ovo pravilo određuje koliko vremena treba proteći u neaktivnosti prije nego što <ph name="PRODUCT_OS_NAME" /> zatamni zaslon.
@@ -1197,6 +1247,12 @@
 <translation id="3284094172359247914">Upravljanje upotrebom API-ja WebUSB</translation>
 <translation id="3288595667065905535">Kanal izdanja</translation>
 <translation id="3292147213643666827">Omogućuje da se proizvod <ph name="PRODUCT_NAME" /> ponaša kao proxy između pisača iz oblaka <ph name="CLOUD_PRINT_NAME" /> i pisača iz starog sustava povezanih s računalom. Ako je ova postavka onemogućena ili nije konfigurirana, korisnici mogu omogućiti proxy ispisivanja na oblaku autentifikacijom putem svojih Google računa. Ako je ova postavka onemogućena, korisnici ne mogu omogućiti proxy, a računalu neće biti dopušteno dijeljenje pisača s oblakom <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Omogućuje stranicu na chrome://password-change na kojoj korisnici SAML-a mogu promijeniti svoje SAML zaporke unutar sesije kako bi SAML zaporka i zaporka zaključanog zaslona na uređaju ostale sinkronizirane.
+
+      To pravilo omogućuje i prikaz obavijesti korisnicima SAML-a u slučaju skorog isteka njihovih SAML zaporki tako da ih mogu odmah promijeniti unutar sesije.
+      No te će se obavijesti prikazati samo ako informacije o isteku zaporke uređaju pošalje davatelj identiteta za SAML tijekom postupka SAML prijave.
+
+      Ako je to pravilo postavljeno, korisnik ga neće moći promijeniti ni nadjačati.</translation>
 <translation id="3322771899429619102">Omogućuje postavljanje popisa uzoraka URL-ova koji određuju web-lokacije koje smiju upotrebljavati generiranje ključeva. Ako je uzorak URL-ova u pravilu "KeygenBlockedForUrls", to nadjačava ove iznimke.
 
           Ako se to pravilo ne postavi, globalna zadana vrijednost upotrebljavat će se za sve web-lokacije iz pravila "DefaultKeygenSetting" ako je postavljeno, a u suprotnom iz korisnikove osobne konfiguracije.</translation>
@@ -1283,6 +1339,7 @@
 
           Ako se to pravilo postavi na neistinito ili se ne postavi, odgode upravljanja potrošnjom energije i ograničenje duljine sesije počinju teći odmah po početku sesije.</translation>
 <translation id="3478024346823118645">Izbriši korisničke podatke nakon odjave</translation>
+<translation id="3480961938508521469">Potpuno napuni bateriju standardnom brzinom.</translation>
 <translation id="348495353354674884">Omogućavanje virtualne tipkovnice</translation>
 <translation id="3487623755010328395">
         Ako se to pravilo postavi, usluga <ph name="PRODUCT_NAME" /> pokušat će se registrirati i primijeniti povezana pravila za oblak za sve profile.
@@ -1329,6 +1386,8 @@
 <translation id="3547954654003013442">Proxy postavke</translation>
 <translation id="355118380775352753">Web-lokacije koje se trebaju otvoriti u zamjenskom pregledniku</translation>
 <translation id="3554984410014457319">Dopustite Google asistentu da osluškuje izraze za glasovnu aktivaciju.</translation>
+<translation id="356579196325389849">Korisnici mogu konfigurirati kanal izdanja OS-a Chrome</translation>
+<translation id="3575011234198230041">HTTP autentifikacija</translation>
 <translation id="3577251398714997599">Postavke oglasa za web-lokacije s ometajućim oglasima</translation>
 <translation id="357917253161699596">Omogući korisnicima upravljanje korisničkim certifikatima</translation>
 <translation id="3583230441447348508">Navodi popis unaprijed konfiguriranih mrežnih dijeljenja datoteka.
@@ -1359,6 +1418,7 @@
 
         To pravilo upotrebljava prijava za pravilo u oblaku strojnog opsega na radnoj površini i može ga postaviti Registry ili GPO u sustavu Windows, plist na Macu i JSON datoteka pravila na Linuxu.</translation>
 <translation id="3660562134618097814">Prenesi kolačiće SAML IdP-a tijekom prijave</translation>
+<translation id="3668151900457104753">Deinstaliraj proširenja na popisu nedopuštenih</translation>
 <translation id="3701121231485832347">Upravlja postavkama specifičnima za uređaje <ph name="PRODUCT_OS_NAME" /> kojima upravlja <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Polje s jednim retkom obustavljeno je i uklonit će se. Počnite upotrebljavati tekstni okvir s više redaka u nastavku.)</translation>
 <translation id="3709266154059827597">Konfiguriraj crnu listu instalacije proširenja</translation>
@@ -1440,6 +1500,16 @@
           Ako ne postavite ovo pravilo, tipkovnica na zaslonu u početku je onemogućena, ali je korisnici mogu omogućiti u bilo kojem trenutku.</translation>
 <translation id="382476126209906314">Konfiguriraj prefiks TalkGadget za hostove daljinskog pristupa</translation>
 <translation id="3824972131618513497">Upravlja postavkama povezanima s upravljanjem napajanjem i ponovnim pokretanjem.</translation>
+<translation id="3826475866868158882">Omogućene su Googleove usluge lokacije</translation>
+<translation id="3831054243924627613">To pravilo određuje početno stanje sigurnosnog kopiranja i vraćanja podataka Androida.
+
+      Ako se pravilo ne konfigurira ili se postavi na <ph name="BR_DISABLED" />, sigurnosno kopiranje i vraćanje podataka Androida izvorno je onemogućeno.
+
+      Ako se pravilo postavi na <ph name="BR_ENABLED" />, sigurnosno kopiranje i vraćanje podataka Androida izvorno je omogućeno.
+
+      Ako se pravilo postavi na <ph name="BR_UNDER_USER_CONTROL" />, korisnik treba odabrati hoće li upotrebljavati sigurnosno kopiranje i vraćanje podataka Androida. Ako korisnik omogući sigurnosno kopiranje i vraćanje, podaci Android aplikacija prenose se na Androidove poslužitelje za sigurnosne kopije i vraćaju s njih nakon ponovnog instaliranja kompatibilnih aplikacija.
+
+      Napominjemo da to pravilo određuje stanje sigurnosnog kopiranja i vraćanja podataka Androida samo tijekom početnog postavljanja. Korisnik može kasnije u postavkama Androida uključiti ili isključiti sigurnosno kopiranje i vraćanje podataka Androida.</translation>
 <translation id="3831376478177535007">Kada se ta postavka omogući, <ph name="PRODUCT_NAME" /> dopušta da se certifikati izdani u okviru Legacy PKI operacija tvrtke Symantec Corporation smatraju pouzdanima ako se inače mogu uspješno potvrditi i ulančavati s priznatim CA certifikatom.
 
       Napominjemo da ovo pravilo ovisi o tome hoće li operativni sustav još prepoznati certifikate Symantecove stare infrastrukture. Ako ažuriranje OS-a promijeni način na koji operativni sustav rukuje takvim certifikatima, to pravilo više neće imati utjecaja. Osim toga, to je pravilo predviđeno kao privremeno zaobilazno rješenje koje organizacijama omogućuje više vremena za prijelaz sa starih Symantecovih certifikata. To će se pravilo ukloniti u razdoblju oko 1. siječnja 2019.
@@ -1521,6 +1591,15 @@
 
           Ako nije postavljeno ili je postavljeno na netočno, korisnici će moći prenositi datoteke na Google disk.</translation>
 <translation id="3915395663995367577">URL prema proxy .pac datoteci</translation>
+<translation id="3920892052017026701">Postavite prilagođeni početak punjenja baterije u postocima.
+
+          Baterija se počinje puniti kada se potroši vrijednost prilagođenog početka punjenja baterije.
+
+          Vrijednost pravila DeviceBatteryChargeCustomStartCharging mora biti manja od one u pravilu DeviceBatteryChargeCustomStopCharging.
+
+          To se pravilo upotrebljava samo ako je pravilo DeviceBatteryChargeMode postavljeno na prilagođeno.
+
+          Ako se pravilo ne konfigurira ili se ne postavi, primjenjivat će se standardni način punjenja baterije.</translation>
 <translation id="3925377537407648234">Postavljanje razlučivosti zaslona i faktora skaliranja</translation>
 <translation id="3939893074578116847">Slanje mrežnih paketa poslužitelju za upravljanje radi praćenja online statusa kako bi
       poslužitelj mogao otkriti je li uređaj offline.
@@ -1649,6 +1728,7 @@
 <translation id="4150201353443180367">Zaslon</translation>
 <translation id="4157003184375321727">Izvješće o verziji OS-a i opreme</translation>
 <translation id="4157594634940419685">Dopusti pristup nativnim CUPS pisačima</translation>
+<translation id="4160962198980004898">Izvor MAC adrese uređaja kada je na priključnoj stanici</translation>
 <translation id="4163705126749612234">Konfigurira tražene nazive domena klijenta koji će se nametnuti klijentima daljinskog pristupa i onemogućuje korisnicima da to promijene.
 
           Ako se ta postavka omogući, s hostom se mogu povezati samo klijenti s navedenih domena.
@@ -1726,6 +1806,7 @@
       Napominjemo da prisutnost ID-a aplikacije u pravilima ne mora značiti da će korisnik moći omogućiti aplikaciju kao aplikaciju za izradu bilježaka na zaključanom zaslonu, na primjer na Chromeu 61 skup dostupnih aplikacija dodatno je ograničen platformom.
 
       Ako se to pravilo ne postavi, pravila neće nametati ograničenja za skup aplikacija koje korisnik može omogućiti na zaključanom zaslonu.</translation>
+<translation id="4313767483634435271">MAC adresa označene priključne stanice uređaja</translation>
 <translation id="4322842393287974810">Dopusti kiosk aplikaciji pokrenutoj automatski bez odgode da upravlja verzijom proizvoda <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="4325690621216251241">Dodaj gumb za odjavu na programsku traku</translation>
 <translation id="4332177773549877617">Zabilježite događaje za instalacije aplikacije za Android</translation>
@@ -1757,6 +1838,7 @@
 <translation id="4360826270668210664">Ako se to pravilo postavi, host daljinskog pristupa zahtijevat će od klijenata koji se autentificiraju pribavljanje autentifikacijske oznake s tog URL-a da bi se povezali. Pravilo se mora upotrebljavati zajedno s pravilom RemoteAccessHostTokenValidationUrl.
 
           Ta je značajka trenutačno onemogućena na poslužitelju.</translation>
+<translation id="4363057787588706121">Dopusti spajanje pravila na popisu koja potječu iz različitih izvora</translation>
 <translation id="436581050240847513">Izvješća o mrežnim sučeljima uređaja</translation>
 <translation id="4372704773119750918">Ne dopusti poslovnom korisniku da bude dio višestrukog profila (primarnom ili sekundarnom)</translation>
 <translation id="4377599627073874279">Dopusti svim web-lokacijama prikazivanje svih slika</translation>
@@ -1922,6 +2004,7 @@
 <translation id="4826326557828204741">Radnja koja se poduzima kada se dosegne odgoda zbog neaktivnosti dok računalo pokreće baterija</translation>
 <translation id="4832852360828533362">Izvješćivanje o korisniku i uređaju</translation>
 <translation id="4834526953114077364">Uklanjaju se korisnici koji najdulje nisu upotrebljavani, a koji se nisu prijavili u prethodna 3 mjeseca dok se ne oslobodi dovoljno prostora</translation>
+<translation id="4835622243021053389">Omogućite NTLMv2 autentifikaciju.</translation>
 <translation id="4858735034935305895">Dopusti način punog zaslona</translation>
 <translation id="4861767323695239729">Konfiguriraj dopuštene načine unosa u korisničkoj sesiji</translation>
 <translation id="487460824085252184">Migrira automatski, bez traženja pristanka korisnika.</translation>
@@ -2041,6 +2124,11 @@
 
       Za razliku od pravila <ph name="URL_LIST_POLICY_NAME" />, pravila se primjenjuju u oba smjera. To znači da kada je prisutan i omogućen dodatak Internet Explorera, ono također određuje treba li <ph name="IE_PRODUCT_NAME" /> otvoriti te URL-ove u pregledniku <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Omogući pokretanje na izmjeničnom napajanju</translation>
+<translation id="5131211790949066746">Omogućuje spajanje pravila <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> i <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> za popise za instaliranje proširenja.
+
+      Ako omogućite tu postavku, vrijednosti iz pravila za platformu uređaja, pravila za oblak uređaja i pravila za korisničku platformu spajaju se u jedan popis i upotrebljavaju kao cjelina umjesto da se upotrebljavaju samo vrijednosti iz jednog izvora s najvišim prioritetom.
+
+      Ako onemogućite tu postavku ili je ne postavite, uzimaju se samo unosi s popisa iz izvora najvišeg prioriteta, a svi se ostali izvori prikazuju kao sukobi, no zanemaruju se.</translation>
 <translation id="5141670636904227950">Postavljanje zadane vrste povećala na "omogućeno" na zaslonu za prijavu</translation>
 <translation id="5142301680741828703">Uvijek prikaži sljedeće URL obrasce u okviru <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Omogućuje vam da odredite dodatne parametre koji se upotrebljavaju kada <ph name="PRODUCT_FRAME_NAME" /> pokreće uslugu <ph name="PRODUCT_NAME" />.
@@ -2154,6 +2242,7 @@
 
       Ako se pravilo ne postavi ili se postavi na prazni niz ili nevažeći raspon priključaka, WebRTC može upotrebljavati bilo koji dostupni lokalni UDP priključak.</translation>
 <translation id="5290940294294002042">Odredite popis dodataka koje korisnik može omogućiti ili onemogućiti</translation>
+<translation id="5306186200045823863">Omogući pouzdanost naslijeđene infrastrukture javnog ključa tvrtke Symantec Corporation</translation>
 <translation id="5307432759655324440">Pristupačnost anonimnog načina rada</translation>
 <translation id="5318185076587284965">Omogući hostu za daljinski pristup upotrebu relejnih poslužitelja</translation>
 <translation id="5323128137188992869">Dopusti emitiranje sadržaja na uređaj pomoću usluge <ph name="PRODUCT_NAME" />.
@@ -2249,6 +2338,7 @@
       Ako su pravila proturječna, <ph name="PRODUCT_NAME" /> upotrebljava najodređenije pravilo.</translation>
 <translation id="5475361623548884387">Omogući ispis</translation>
 <translation id="547601067149622666">Nemojte dopustiti oglase na web-lokacijama s ometajućim oglasima</translation>
+<translation id="5483065054530244863">Dopusti certifikate s SHA-1 potpisom koje izdaju lokalne pouzdane ustanove</translation>
 <translation id="5483777239978559943">To je pravilo obustavljeno. Za upravljanje dostupnošću dodatka Flash upotrijebite pravilo <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" />, a pomoću pravila <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> odredite hoće li se za otvaranje PDF datoteka upotrebljavati integrirani preglednik za PDF.
 
       Određuje popis dodataka koje korisnik može omogućiti ili onemogućiti u pregledniku <ph name="PRODUCT_NAME" />.
@@ -2361,6 +2451,17 @@
           Ako omogućite tu postavku ili ne postavite pravilo, korisnicima se zaporke u upravitelju zaporki prikazuju čitljivim tekstom.</translation>
 <translation id="5620392548325769024">Omogući prikaz stranice dobrodošlice prilikom prvog pokretanja preglednika nakon nadogradnje OS-a</translation>
 <translation id="5630352020869108293">Vrati posljednju sesiju</translation>
+<translation id="5643906875497889108">Određuje vrste aplikacija/proširenja koje se smiju instalirati i ograničava pristup vremenu izvođenja.
+
+          Ta postavka navodi popis dopuštenih vrsta proširenja/aplikacija koje se mogu instalirati u pregledniku <ph name="PRODUCT_NAME" /> i hostova s kojima mogu stupati u interakciju. Vrijednost je popis nizova od kojih svaki treba biti jedno od sljedećeg: "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app" i "platform_app". Više informacija o pojedinoj vrsti možete pronaći u dokumentaciji proširenja za <ph name="PRODUCT_NAME" />.
+
+          Napominjemo da to pravilo utječe i na prisilnu instalaciju proširenja i aplikacija putem pravila ExtensionInstallForcelist.
+
+          Ako se ta postavka konfigurira, proširenja/aplikacije čija vrsta nije navedena na popisu neće se instalirati.
+
+          Ako se postavka ne konfigurira, neće se primjenjivati ograničenja u vezi s prihvatljivim vrstama proširenja/aplikacija.
+
+          Upotreba više ID-ova odvojenih zarezima prije verzije 75 nije podržana i preskočit će se. Ostatak pravila i dalje će se primjenjivati.</translation>
 <translation id="5645779841392247734">Dopusti kolačiće na ovim web-lokacijama</translation>
 <translation id="5689430183304951538">Veličina stranice zadanog ispisa</translation>
 <translation id="5693469654327063861">Dopusti premještanje podataka</translation>
@@ -2400,6 +2501,7 @@
 <translation id="5765780083710877561">Opis:</translation>
 <translation id="5770738360657678870">Razvojni kanal (možda je nestabilan)</translation>
 <translation id="5774856474228476867">URL zadanog davatelja usluge pretraživanja</translation>
+<translation id="5775235485119094648">Baterija se puni dok je u fiksnom rasponu.</translation>
 <translation id="5776485039795852974">Pitaj kad god web-lokacija želi prikazati obavijesti radne površine</translation>
 <translation id="5781412041848781654">Određuje koja se GSSAPI knjižnica treba upotrebljavati za HTTP autentifikaciju. Možete postaviti samo naziv knjižnice ili cijeli put.
 
@@ -2461,6 +2563,7 @@
 <translation id="5893553533827140852">Ako je ta postavka omogućena, zahtjevi autentifikacije "gnubby" proslijedit će se putem proxyja vezom udaljenog hosta.
 
           Ako je ta postavka onemogućena ili nije konfigurirana, zahtjevi autentifikacije "gnubby" neće se prosljeđivati putem proxyja.</translation>
+<translation id="5897913798715600338">Napuni bateriju pomoću tehnologije brzog punjenja.</translation>
 <translation id="5898486742390981550">Kada je prijavljeno više korisnika, samo primarni korisnik može upotrebljavati Android aplikacije.</translation>
 <translation id="5900196529149231477">
       To se pravilo primjenjuje na zaslon za prijavu. Pogledajte i pravilo <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> koje se odnosi na korisničku sesiju. Preporučujemo da oba pravila postavite na istu vrijednost. Ako se vrijednosti ne podudaraju, možda će prilikom otvaranja korisničke sesije biti potrebno pričekati da se primijeni vrijednost koja je određena korisničkim pravilom.
@@ -2469,12 +2572,14 @@
       Ako se pravilo ne konfigurira, za zaslon za prijavu koristit će se zadane postavke platforme za izolaciju web-lokacija.
       </translation>
 <translation id="5901427587865226597">Samo dvostrani ispis</translation>
+<translation id="5905473632148429217">Omogući online OCSP/CRL provjere</translation>
 <translation id="5906199912611534122">Dopušta omogućivanje ili onemogućivanje usporavanja mreže.
       Primjenjuje se na sve korisnike i sva sučelja na uređaju. Kada se postavi,
       usporavanje traje dok se ne isključi tim pravilom.
 
       Ako se postavi na False, nema usporavanja.
       Ako se postavi na True, sustav se usporava da bi se postigle pružene stope prijenosa i preuzimanja (u kbit/s).</translation>
+<translation id="591088232153082363">Adaptivno punjenje baterije na temelju uzorka potrošnje baterije.</translation>
 <translation id="5921713479449475707">Dopusti preuzimanja automatskog ažuriranja putem HTTP-a</translation>
 <translation id="5921888683953999946">Postavi zadano stanje značajke pristupačnosti velikog pokazivača na zaslonu za prijavu.
 
@@ -2496,6 +2601,7 @@
 <translation id="5950205771952201658">Budući da "soft-fail", mrežne provjere opoziva ne pružaju učinkovitu zaštitu sigurnosti, onemogućuju se prema zadanim postavkama u pregledniku <ph name="PRODUCT_NAME" /> verzije 19 i novijih verzija. Postavljanjem tog pravila na točno prethodno se ponašanje vraća i izvršit će se mrežne provjere OCSP/CRL.
 
       Ako to pravilo nije postavljeno ili je postavljeno na netočno, <ph name="PRODUCT_NAME" /> neće vršiti mrežne provjere opoziva u pregledniku <ph name="PRODUCT_NAME" /> 19 i novijim verzijama.</translation>
+<translation id="5961137303188584693">MAC adresa ugrađenog upravljača mrežnog sučelja uređaja</translation>
 <translation id="5966615072639944554">Proširenja koja smiju upotrebljavati API za daljinsku ovjeru</translation>
 <translation id="5983708779415553259">Zadano ponašanje za web-lokacije koje nisu ni u jednom paketu sadržaja</translation>
 <translation id="5997543603646547632">Upotrijebi sat s 24-satnim prikazom prema zadanim postavkama</translation>
@@ -2586,6 +2692,17 @@
 <translation id="6111936128861357925">Dopuštanje skrivene igre s dinosaurom</translation>
 <translation id="6114416803310251055">neodobreno</translation>
 <translation id="6133088669883929098">Dopusti svim web-lokacijama da upotrebljavaju generiranje ključeva</translation>
+<translation id="6136537398661737682">To pravilo određuje početno stanje Googleovih usluga lokacije.
+
+      Ako se pravilo ne konfigurira ili se postavi na <ph name="GLS_DISABLED" />, Googleove usluge lokacije izvorno su onemogućene.
+
+      Ako se pravilo postavi na <ph name="GLS_ENABLED" />, Googleove usluge lokacije izvorno su omogućene.
+
+      Ako se pravilo postavi na <ph name="GLS_UNDER_USER_CONTROL" />, korisnik treba odabrati hoće li upotrebljavati Googleove usluge lokacije. To će omogućiti Android aplikacijama postavljanje upita za lokaciju uređaja, kao i slanje anonimnih podataka o lokaciji Googleu.
+
+      Napominjemo da to pravilo određuje stanje Googleovih usluga lokacije samo tijekom početnog postavljanja. Korisnik može kasnije u postavkama Androida uključiti ili isključiti Googleove usluge lokacije.
+
+      Napominjemo da će se to pravilo zanemariti ako se <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> postavi na <ph name="BLOCK_GEOLOCATION_SETTING" />, a Googleove usluge lokacije uvijek će biti onemogućene.</translation>
 <translation id="6141402445226505817">Uvijek upotrebljavaj približno otkrivanje vremenske zone</translation>
 <translation id="6145799962557135888">Omogućuje postavljanje popisa uzoraka URL-ova koji određuju web-lokacije koje ne smiju pokretati JavaScript. Ako to pravilo nije postavljeno, upotrebljavat će se globalna zadana vrijednost za sve web-lokacije iz pravila "DefaultJavaScriptSetting", ako je postavljeno, odnosno iz osobne konfiguracije korisnika, ako nije.</translation>
 <translation id="614662973812186053">To pravilo kontrolira i prikupljanje podataka o upotrebi i dijagnostici na Androidu.</translation>
@@ -2659,9 +2776,17 @@
       Ako je onemogućeno, ti se podaci ne uvoze.
 
       Ako se ne postavi, korisnik može dobiti upit želi li uvesti podatke ili uvoz može biti automatski.</translation>
+<translation id="6221175752766085998">Dopusti certifikate koje izdaju lokalne pouzdane ustanove bez proširenja subjectAlternativeName</translation>
 <translation id="6224304369267200483">URL-ovima/domenama automatski je dopuštena izravna ovjera sigurnosnih ključeva</translation>
 <translation id="6233173491898450179">Postavi imenik za preuzimanje</translation>
 <translation id="6244210204546589761">URL-ovi koji se otvaraju prilikom pokretanja</translation>
+<translation id="6255387031094435995">Omogućuje spajanje odabranih pravila istog opsega i razine kada potječu iz različitih izvora.
+
+        Ako za pravilo na popisu postoji sukob između dva izvora, vrijednosti će se spojiti u popis novog pravila pod uvjetom da izvori imaju iste opsege i razinu.
+
+        Ako za pravilo na popisu postoji sukob između dva izvora, ali i između njihovih opsega i/ili razine, primijenit će se pravilo najvišeg prioriteta.
+
+        Ako postoji sukob između izvora, opsega i/ili razine za pravilo koje nije navedeno na popisu, primijenit će se pravilo najvišeg prioriteta.</translation>
 <translation id="6258193603492867656">Određuje treba li generirani Kerberos SPN uključivati nestandardni priključak. Ako omogućite ovu postavku, a bude unesen nestandardni priključak (tj. priključak koji nije 80 ili 443), on će biti uključen u generirani Kerberos SPN. Ako onemogućite ovu postavku ili ju ne postavite, generirani Kerberos SPN neće uključivati priključak ni u kojem slučaju.</translation>
 <translation id="6261643884958898336">Prijavljuj informacije za identifikaciju računala</translation>
 <translation id="6281043242780654992">Konfigurira pravila za lokalno slanje poruka. Zabranjeni hostovi za lokalno slanje poruka bit će dopušteni samo ako se nalaze na popisu dopuštenih.</translation>
@@ -2859,6 +2984,7 @@
 <translation id="6757438632136860443">Omogućuje vam postavljanje popisa uzoraka URL-ova koji navode web-lokacije kojima je dopušteno pokretanje dodatka <ph name="FLASH_PLUGIN_NAME" />.
 
           Ako se to pravilo ne postavi, za sve web-lokacije upotrebljavat će se globalna zadana vrijednost iz pravila "DefaultPluginsSetting", ako je to pravilo postavljeno, ili vrijednost iz korisnikove osobne konfiguracije.</translation>
+<translation id="6757613329154374267">Omogućeno je sigurnosno kopiranje i vraćanje podataka</translation>
 <translation id="6762235610019366960">Omogućuje vam da upravljate prikazivanjem promotivnog i/ili obrazovnog sadržaja na cijeloj kartici na usluzi <ph name="PRODUCT_NAME" />.
 
       Ako se ne konfigurira ili se omogući (postavi na True), <ph name="PRODUCT_NAME" /> korisnicima može prikazivati sadržaj na cijeloj kartici radi pružanja informacija o proizvodima.
@@ -2881,6 +3007,7 @@
       Niz može sadržavati varijable ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR} i ${MACHINE_NAME} koje bi bile zamijenjene vrijednostima na uređaju prije njegove upotrebe za naziv hosta. Dobivena zamjena treba biti valjani naziv hosta (prema RFC 1035, odjeljak 3.1).
 
       Ako se to pravilo ne postavi ili vrijednost nakon zamjene nije valjani naziv hosta, u DHCP zahtjevu neće biti postavljen naziv hosta. </translation>
+<translation id="6833988859168635883">Polazna stranica, početna stranica i web-stranica nove kartice</translation>
 <translation id="6835883744948188639">Prikaži korisniku ponavljajuću obavijest o preporučenom ponovnom pokretanju</translation>
 <translation id="6837480141980366278">Kontrolira primjenjuje li se ugrađeni DNS klijent u pregledniku <ph name="PRODUCT_NAME" />.
 
@@ -2991,6 +3118,17 @@
 
       Prije nego što se zaslon zatamni, model pametnog zatamnjenja procjenjuje treba li odgoditi zatamnjenje zaslona. Ako model pametnog zatamnjenja odgodi zatamnjenje zaslona, on učinkovito produljuje vrijeme dok zaslon ne bude zatamnjen. U tom se slučaju isključivanje zaslona, zaključavanje zaslona i odgode  mirovanja prilagođavaju kako bi zadržale jednaku udaljenost od odgode zatamnjenja zaslona kako je izvorno konfigurirano.
       Ako je ovo pravilo postavljeno na True ili nije postavljeno, bit će omogućen model pametnog zatamnjenja te će biti dopušteno produljiti vrijeme dok zaslon ne bude zatamnjen. Ako je ovo pravilo postavljeno na False, model pametnog zatamnjenja neće utjecati na zatamnjenje zaslona.</translation>
+<translation id="6967394885063085697">Omogućite pravilo za upravljanje napajanjem za napredni način punjenja baterije.
+
+          Napredni način punjenja baterije omogućuje korisniku da maksimizira performanse baterije. U naprednom načinu punjenja sustav će upotrebljavati standardni algoritam punjenja i druge tehnike izvan radnih sati radi maksimiziranja performansi baterije. Tijekom radnih sati upotrebljavat će se ekspresno punjenje. Ekspresno punjenje omogućuje veću brzinu punjenja, tako da je i baterija brže potpuno napunjena. Vrijeme najintenzivnije upotrebe sustava za svaki se dan navodi u obliku vremena početka i trajanja.
+
+          Ako se to pravilo postavi na true i postavljeno je pravilo DeviceAdvancedBatteryChargeModeDayConfig, napredni način punjenja baterije uvijek će biti omogućen ako uređaj to podržava.
+
+          Ako se to pravilo postavi na false, napredni način punjenja baterije uvijek će biti onemogućen.
+
+          Ako postavite to pravilo, korisnici ga neće moći promijeniti ni nadjačati.
+
+          Ako se to pravilo ne postavi, napredni način punjenja baterije bit će onemogućen i korisnik ga neće moći omogućiti.</translation>
 <translation id="6972540544240464302">Odaberite konfiguraciju alata za zakazivanje zadataka</translation>
 <translation id="6979158407327259162">Google disk</translation>
 <translation id="6994082778848658360">Određuje način na koji se hardver s ugrađenim sigurnosnim elementom može upotrebljavati za pružanje dvostruke autentifikacije ako je kompatibilan s ovom značajkom. Tipka za uključivanje/isključivanje uređaja upotrebljava se za otkrivanje korisnikove fizičke prisutnosti.
@@ -3056,6 +3194,17 @@
       Ako omogućite ili onemogućite tu postavku, korisnici je ne mogu promijeniti ni nadjačati.
 
       Ako ne postavite to pravilo, korisnici mogu odabrati žele li unositi zaporku za otključavanje uređaja.</translation>
+<translation id="7107148737865880402">Omogućite pravilo za upravljanje dijeljenjem USB napajanja.
+
+          Neki uređaji imaju određeni USB priključak označen ikonom munje ili baterije koji se mogu upotrebljavati za punjenje uređaja, primjerice mobilnog telefona, pomoću baterije sustava. To pravilo utječe na ponašanje punjenja na tom priključku dok je sustav u načinu mirovanja ili isključen. To pravilo ne utječe na ostale USB priključke ni na ponašanje punjenja dok je sustav u aktivnom načinu.
+
+          Kada je sustav u aktivnom načinu, USB priključak uvijek omogućuje napajanje.
+
+          Ako se to pravilo postavi na true, a uređaj je u načinu mirovanja, USB priključak napajat će se dok je uređaj priključen na punjač ili ako je razina baterija viša od 50%. Inače se neće napajati.
+
+          Ako se to pravilo postavi na true, a uređaj je isključen, USB priključak napajat će se dok je uređaj priključen na punjač. Inače se neće napajati.
+
+          Ako se to pravilo ne postavi, pravilo će biti omogućeno i korisnik ga neće moći onemogućiti.</translation>
 <translation id="7115494316187648452">Određuje je li proces preglednika <ph name="PRODUCT_NAME" /> pokrenut prilikom prijave u OS i nastavlja li raditi nakon što se zatvori posljednji prozor preglednika, uslijed čega pozadinske aplikacije i trenutačna sesija pregledavanja mogu ostati aktivne, uključujući kolačiće sesije. Za pozadinski proces prikazuje se ikona na traci sustava putem koje ga se može zatvoriti u bilo kojem trenutku.
 
       Ako se to pravilo postavi na "točno", pozadinski je način omogućen i korisnik ne može njime upravljati u postavkama preglednika.
@@ -3102,6 +3251,7 @@
           Ako se pravilo postavi na True ili se ne postavi, zaključavanja aktivacije primjenjivat će se za upravljanje napajanjem, osim ako je pravilo AllowWakeLocks postavljeno na False.
 
           Ako se ovo pravilo postavi na False, zahtjevi za zaključavanje aktivacije zaslona spustit će se na razinu zahtjeva sustava za zaključavanje aktivacije.</translation>
+<translation id="7177857088692019405">Brzo otključavanje</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Dopuštene vrste veza za ažuriranja</translation>
 <translation id="7194407337890404814">Naziv zadanog davatelja usluge pretraživanja</translation>
@@ -3166,6 +3316,7 @@
 <translation id="7273823081800296768">Ako je ta postavka omogućena ili nije konfigurirana, tada korisnici mogu odabrati hoće li upariti klijente i hostove u trenutku povezivanja tako da ne moraju svaki put unositi PIN.
 
           Ako je ta postavka onemogućena, ta značajka neće biti dostupna.</translation>
+<translation id="7274077256421167535">Omogući dijeljenje USB napajanja</translation>
 <translation id="7275334191706090484">Upravljane oznake</translation>
 <translation id="7291084543582732020">Ako omogućite tu postavku, korisnicima će biti dopuštena upotreba Smart Locka pod uvjetom da su ispunjeni zahtjevi značajke.
 
@@ -3179,6 +3330,7 @@
 
           Ovo se pravilo primjenjuje samo ako je omogućeno pravilo 'DefaultSearchProviderEnabled'.</translation>
 <translation id="7302043767260300182">Odgoda zaključavanja zaslona za vrijeme napajanja izmjeničnom strujom</translation>
+<translation id="7305262223970835999">Omogućuje stranicu za promjenu zaporke unutar sesije za korisnike SAML-a.</translation>
 <translation id="7311458740754205918">Ako se ovo pravilo postavi na istinito ili se ne postavi, web-stranica nove kartice može prikazivati preporuke sadržaja na temelju korisnikove povijesti pretraživanja, interesa ili lokacije.
 
       Ako se postavi na neistinito, automatski generirani prijedlozi sadržaja neće se prikazivati na web-stranici nove kartice.</translation>
@@ -3301,6 +3453,15 @@
       Ako je vrijednost ovog pravila 0, upotrijebit će se zadana veličina predmemorije, ali je korisnik neće moći promijeniti.
 
       Ako ovo pravilo nije postavljeno, upotrijebit će se zadana veličina i korisnik će je moći nadjačati oznakom --disk-cache-size.</translation>
+<translation id="759389052790680884">Postavite prilagođeno zaustavljanje punjenja baterije u postocima.
+
+          Baterija se prestaje puniti kada dosegne vrijednost prilagođenog zaustavljanja punjenja baterije.
+
+          Vrijednost pravila DeviceBatteryChargeCustomStartCharging mora biti manja od one u pravilu DeviceBatteryChargeCustomStopCharging.
+
+          To se pravilo upotrebljava samo ako je pravilo DeviceBatteryChargeMode postavljeno na prilagođeno.
+
+          Ako se pravilo ne konfigurira ili se ne postavi, primjenjivat će se standardni način punjenja baterije.</translation>
 <translation id="759957074386651883">Postavke Sigurnog pregledavanja</translation>
 <translation id="7604169113182304895">Android aplikacije mogu poštovati taj popis dobrovoljno. Na to ih ne možete natjerati.</translation>
 <translation id="7612157962821894603">Oznake na razini sustava primijenit će se prilikom pokretanja preglednika <ph name="PRODUCT_NAME" /></translation>
@@ -3375,6 +3536,15 @@
 <translation id="7712109699186360774">Pitaj svaki put kada web-lokacija želi pristupiti kameri i/ili mikrofonu</translation>
 <translation id="7713608076604149344">Ograničenja za preuzimanja</translation>
 <translation id="7715711044277116530">Postotak za skaliranje odgode zatamnjenja zaslona u načinu prezentacije</translation>
+<translation id="7716781462866245042">Postavite dnevno konfiguriranje naprednog načina punjenja baterije.
+
+          To se pravilo upotrebljava samo ako se DeviceAdvanceBatteryChargeModeEnabled postavi na true.
+
+          Ako se pravilo ne konfigurira ili se ne postavi, napredni način punjenja baterije uvijek će biti onemogućen.
+
+          Napomena: <ph name="CHARGE_START_TIME_FIELD_NAME" /> mora biti manje od <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Napomena: dopuštene vrijednosti za polje <ph name="MINUTE_FIELD_NAME" /> u <ph name="CHARGE_START_TIME_FIELD_NAME" /> i <ph name="CHARGE_END_TIME_FIELD_NAME" /> jesu 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">Konfiguriranje značajki pristupačnosti proizvoda <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">To pravilo omogućuje HTTP/0.9 na priključcima osim priključka 80 za HTTP i 443 za HTTPS.
 
@@ -3448,6 +3618,7 @@
       Određuje ID proširenja koje će se upotrebljavati kao čuvar zaslona na zaslonu prijave. To proširenje mora biti dijelom paketa AppPack koji se konfigurira za ovu domenu pravilom DeviceAppPack.</translation>
 <translation id="7882857838942884046">Onemogućivanje Google sinkronizacije uzrokovat će nepravilno funkcioniranje izrade sigurnosnih kopija i vraćanja na Androidu.</translation>
 <translation id="7882890448959833986">Spriječi upozorenje o nepodržanom OS-u</translation>
+<translation id="7895553628261067384">Daljinski pristup</translation>
 <translation id="7902255855035461275">Uzorci na tom popisu usporedit će se sa sigurnosnim izvorištem
       URL-a koji šalje zahtjev. Ako se pronađe podudaranje, pristup uređajima
       za snimanje videozapisa dopuštat će se bez upita.
@@ -3461,6 +3632,11 @@
 <translation id="7937491150792971922">Spoji pravila za popise za instaliranje proširenja iz više izvora</translation>
 <translation id="7937766917976512374">Omogući ili onemogući snimanje videozapisa</translation>
 <translation id="7941975817681987555">Ne predviđaj mrežne radnje ni na jednoj mrežnoj vezi</translation>
+<translation id="7952007677054834789">Konfigurirajte stranice koje se učitavaju prilikom pokretanja, zadanu početnu stranicu i zadanu stranicu nove kartice u pregledniku <ph name="PRODUCT_NAME" /> i spriječite korisnike da ih promijene.
+
+      Korisničke postavke početne stranice potpuno su zaključane samo ako odaberete početnu stranicu kao web-stranicu nove kartice ili je postavite kao URL i navedete URL početne stranice. Ako ne navedete URL početne stranice, korisnik će svejedno moći postaviti početnu stranicu na web-stranicu nove kartice tako da navede "chrome://newtab".
+
+      Pravilo "URL-ovi za otvaranje prilikom pokretanja" zanemaruje se ako ne odaberete "Otvori popis URL-ova" u odjeljku "Radnje prilikom pokretanja".</translation>
 <translation id="7952958573604504839">To je pravilo obustavljeno u verziji M48 u korist pravila <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />, a uklonjeno je u verziji M54.
 
       Omogućuje predviđanje mreže u pregledniku <ph name="PRODUCT_NAME" /> i onemogućuje korisnicima da promijene tu postavku.
@@ -3599,6 +3775,7 @@
 <translation id="8176035528522326671">Dopuštanje poslovnom korisniku da bude samo primarni korisnik višestrukih profila (zadano ponašanje za korisnike kojima upravlja tvrtka)</translation>
 <translation id="8214600119442850823">Konfigurira upravitelja zaporki.</translation>
 <translation id="8217516105848565518">To je pravilo obustavljeno. Umjesto njega upotrijebite RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">Omogući RC4 pakete šifri u TLS-u</translation>
 <translation id="8244525275280476362">Maksimalna odgoda dohvaćanja nakon poništavanja valjanosti pravila</translation>
 <translation id="8256688113167012935">Kontrolira naziv računa koji prikazuje proizvod <ph name="PRODUCT_OS_NAME" /> na zaslonu prijave za odgovarajući lokalni račun na uređaju.
 
@@ -3639,6 +3816,7 @@
 <translation id="8312129124898414409">Omogućuje vam da postavite smiju li web-lokacije upotrebljavati generiranje ključeva. Generiranje ključeva može se dopustiti za sve web-lokacije ili odbiti za sve web-lokacije.
 
           Ako se to pravilo ne postavi, upotrebljavat će se "BlockKeygen" i korisnik će to moći promijeniti.</translation>
+<translation id="8320149248919453401">Način punjenja baterije</translation>
 <translation id="8329984337216493753">To je pravilo aktivno samo u prodajnom načinu.
 
       Kada je pravilo "DeviceIdleLogoutTimeout" navedeno, to pravilo određuje trajanje okvira za upozorenje s odbrojavanjem koji se prikazuje korisniku prije nego što se izvrši odjava.
@@ -3805,6 +3983,7 @@
       Ako se ne postavi, za <ph name="PRODUCT_OS_NAME" /> uređaje upotrebljava se zadano razdoblje od 345.600.000 milisekundi (četiri dana), a za <ph name="PRODUCT_NAME" /> zadano razdoblje od 604.800.000 milisekundi (jedan tjedan).</translation>
 <translation id="8685024486845674965">Upozorenje o zaštiti zaporkom aktivira se ponovnom upotrebom zaporke</translation>
 <translation id="8693243869659262736">Upotreba ugrađenog DNS klijenta</translation>
+<translation id="8698286761337647563">Broj dana za prethodno obavještavanje korisnika SAML-a prije isteka zaporke</translation>
 <translation id="8703488928438047864">Izvješćivanje o statusu ploče</translation>
 <translation id="8703872185032220081">Postavite dnevnu konfiguraciju prebacivanja napajanja radi uštede energije.
 
@@ -3849,6 +4028,7 @@
       Ako se ta postavka onemogući ili ne postavi, usluga za zaštitu zaporke slat će korisnike na https://myaccounts.google.com da promijene zaporku.
       Pravilo je dostupno samo na instancama Windowsa koje su pridružene domeni <ph name="MS_AD_NAME" /> ili instancama Windowsa 10 Pro ili Enterprise prijavljenim za upravljanje uređajima.</translation>
 <translation id="8798099450830957504">Zadano</translation>
+<translation id="8800453707696044281">Postavi prilagođeno zaustavljanje punjenja baterije u postocima</translation>
 <translation id="8801680448782904838">Obavijesti korisnika o obaveznom ili preporučenom ponovnom pokretanju preglednika ili uređaja</translation>
 <translation id="8818173863808665831">Prijavljuje geografsku lokaciju uređaja.
 
@@ -3963,6 +4143,11 @@
       To pravilo utječe samo na korisnike koji se autentificiraju pomoću SAML-a.
 
       Vrijednost pravila navodi se u sekundama.</translation>
+<translation id="9018338365267278833">Time će se ukloniti proširenja navedena na popisu <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> ili proširenja navedena u pravilu <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> za koje je način instalacije postavljen na blocked i s njima će se nepovratno ukloniti lokalni korisnički podaci.  U pravilima o privatnosti proširenja ili pravilima zadržavanja podataka možete saznati više o tome što se može dogoditi s korisničkim podacima koji nisu pohranjeni lokalno.
+
+      Ako se pravilo postavi na enabled, proširenja koja su obuhvaćena prethodnim popisima (ako su već instalirana na uređaju) potpuno će se ukloniti s uređaja (uključujući lokalne korisničke podatke).
+
+      Ako se pravilo postavi na disabled ili se ne postavi, proširenja obuhvaćena prethodnim popisima (ako su već instalirana na uređaju i navedena na popisu nedopuštenih <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />) neće se deinstalirati, već onemogućiti na uređaju.</translation>
 <translation id="9027787254195333560">To pravilo omogućuje vam da konfigurirate sliku avatara koji predstavlja korisnika na zaslonu za prijavu. Pravilo se postavlja tako da se navede URL s kojeg <ph name="PRODUCT_OS_NAME" /> može preuzeti sliku avatara i kriptografsko hashiranje kojim se potvrđuje integritet preuzimanja. Slika mora biti u JPEG formatu i ne smije biti veća od 512 KB. URL-u se mora moći pristupiti bez autentifikacije.
 
       Slika avatara preuzima se i sprema u predmemoriju. Ponovo će se preuzeti svaki put kada se URL ili hashiranje promijene.
diff --git a/components/policy/resources/policy_templates_hu.xtb b/components/policy/resources/policy_templates_hu.xtb
index d05ab03..59e2a31 100644
--- a/components/policy/resources/policy_templates_hu.xtb
+++ b/components/policy/resources/policy_templates_hu.xtb
@@ -51,6 +51,13 @@
 <translation id="1049138910114524876">Beállítja a(z) <ph name="PRODUCT_OS_NAME" /> bejelentkezési képernyőjén kényszerített nyelv- és országkódot.
 
       Ha be van állítva a házirend, a bejelentkezési képernyő mindig a házirend első értékeként megadott nyelv- és országkódnak megfelelően jelenik meg (az előre kompatibilitás miatt a házirend listaként van meghatározva). Ha a házirend nincs beállítva, vagy üres listára van állítva, a bejelentkezési képernyő a legutóbbi felhasználói munkamenet nyelv- és országkódjának megfelelően jelenik meg. Ha a házirend beállított értéke érvénytelen nyelv- és országkód, a bejelentkezési képernyő a tartalék nyelv- és országkódnak megfelelően jelenik meg (jelenleg: „en-US”).</translation>
+<translation id="1052499923181221200">Ez a házirend csak akkor alkalmazható, ha a SamlInSessionPasswordChangeEnabled házirend beállítása igaz.
+      Ha annak a házirendnek a beállítása igaz, ennek a házirendnek a beállítása pedig (például) 14, az azt jelenti, hogy az SAML-felhasználók 14 nappal azelőtt értesítést kapnak, hogy jelszavuk lejárna egy adott dátumon.
+      Ekkor azonnal cselekedhetnek, és a munkamenetben történő jelszómódosítás segítségével frissíthetik jelszavukat, mielőtt lejárna.
+      Ezek az értesítések azonban csak akkor jelennek meg, ha az SAML-identitásszolgáltató elküldi az eszköznek a jelszó lejáratával kapcsolatos információkat az SAML-bejelentkezési folyamat során.
+      Ha nullára állítja a házirend értékét, akkor a felhasználók nem kapnak előzetes értesítést; a rendszer csak akkor tájékoztatja őket, ha jelszavuk már lejárt.
+
+      Ha a házirend be van állítva, a felhasználó nem módosíthatja és nem bírálhatja felül.</translation>
 <translation id="1062011392452772310">Az eszköz távoli tanúsításának engedélyezése</translation>
 <translation id="1062407476771304334">Csere</translation>
 <translation id="1079801999187584280">A Fejlesztői eszközök használatának letiltása</translation>
@@ -211,6 +218,7 @@
       Ha a házirend engedélyezve van, a Google Segéd hozzáférhet a képernyőn látható kontextushoz.
       Ha a házirend le van tiltva, a Google Segéd nem férhet hozzá a képernyőn látható kontextushoz.
       Ha nincs beállítva, akkor a felhasználó döntheti el, hogy engedélyezi-e a Google Segéd számára a képernyőn lévő kontextus elérését.</translation>
+<translation id="1376119291123231789">Speciális akkumulátortöltési üzemmód engedélyezése</translation>
 <translation id="1383493480903114193">Ez a házirend arra kényszeríti a hálózati kódot, hogy a böngészőfolyamatban fusson.
 
       Ez a házirend alapértelmezés szerint le van tiltva, engedélyezése esetén pedig a felhasználók védtelenek maradnak a hálózati problémákkal szemben, amint a hálózati folyamat a sandboxba kerül.
@@ -309,6 +317,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">A harmadik felek szoftverbeszúrás-tiltásának engedélyezése</translation>
 <translation id="1504431521196476721">Távoli tanúsítás</translation>
+<translation id="1507382822467487898">
+          Konfigurálja, hogy a rendszer melyik MAC-címet használja, amikor dokkolót csatlakoztatnak az eszközhöz.
+
+          Amikor egyes eszközmodellekhez dokkolót csatlakoztatnak, akkor az eszköz dokkolójának MAC-címe szolgál az eszköznek a hálózaton való azonosítására. Ez a házirend lehetővé teszi a rendszergazda számára a MAC-cím forrásának módosítását, amikor az eszköz dokkolt állapotban van.
+
+          Ha a házirend nincs beállítva, vagy ha értéke „DeviceDockMacAddress”, akkor a rendszer az eszköz dokkolójának MAC-címét használja.
+
+          „DeviceNicMacAddress” beállítás esetén az eszköz hálózati kártyájának MAC-címét használja.
+
+          „DockNicMacAddress” beállítás esetén a dokkoló hálózati kártyájának MAC-címét használja.
+
+          A felhasználó nem módosíthatja ezt a beállítást.</translation>
 <translation id="1507957856411744193">Ha a házirend igaz értékre van állítva, a <ph name="PRODUCT_NAME" /> minden IP-cím esetén csatlakozik a Cast-eszközökhöz, nem csak RFC1918/RFC4193 privát címek esetén.
 
           Ha a házirend értéke hamis, a <ph name="PRODUCT_NAME" /> csak RFC1918/RFC4193 privát címeken lévő Cast-eszközökhöz csatlakozik.
@@ -739,6 +759,17 @@
 <translation id="2303795211377219696">Automatikus kitöltés engedélyezése hitelkártyákhoz</translation>
 <translation id="2309390639296060546">Helymeghatározás alapértelmezett beállítása</translation>
 <translation id="2327252517317514801">Meghatározza, hogy mely domainek férhetnek hozzá a G Suite szolgáltatáshoz</translation>
+<translation id="2356878440219553005">Meghatározza az akkumulátortöltési üzemmód energiagazdálkodási házirendjét.
+
+          Az akkumulátor töltésének dinamikus szabályozása az akkumulátor-igénybevétel miatti elhasználódás minimalizálása és az akkumulátor-élettartam növelése céljából.
+
+          Egyéni akkumulátortöltési mód kiválasztásakor meg kell adni a DeviceBatteryChargeCustomStartCharging és a DeviceBatteryChargeCustomStopCharging értékét is.
+
+          Ha a házirend be van állítva, a rendszer alkalmazza az akkumulátortöltési üzemmódot, amennyiben támogatja az eszköz.
+
+          Ha a házirend nincs beállítva, az eszköz pedig támogatja a házirendet, akkor a rendszer a normál akkumulátortöltési üzemmódot használja, és ezt a felhasználó nem módosíthatja.
+
+          Megjegyzés: Ha meg van adva, a <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> felülbírálja ezt a házirendet.</translation>
 <translation id="237494535617297575">Lehetővé teszi, hogy megadja az URL-minták egy olyan listáját, amely meghatározza, mely webhelyek jeleníthetnek meg értesítéseket. Ha ez a házirend beállítatlanul marad, akkor a globális alapértelmezett érték kerül felhasználásra valamennyi webhelyre vonatkozóan; vagy -- ha be van állítva -- a "DefaultNotificationsSetting" házirendből, vagy pedig a felhasználó személyes konfigurációjából.</translation>
 <translation id="2386362615870139244">Képernyőébresztés zárolásainak engedélyezése</translation>
 <translation id="2411817661175306360">A jelszóvédelemmel kapcsolatos figyelmeztetés kikapcsolva</translation>
@@ -774,6 +805,7 @@
 
       Ha a házirend értéke hamis, akkor a késleltetésmentes automatikus bejelentkezés (ha konfigurálva van) nem léphető át.</translation>
 <translation id="2454228136871844693">Stabilitásközpontú optimalizálás.</translation>
+<translation id="2463034609187171371">DHE rejtjelezési csomagok engedélyezése a TLS protokollban</translation>
 <translation id="2463365186486772703">Alkalmazás nyelv- és országkódja</translation>
 <translation id="2466131534462628618">A hitelesítési portál a hitelesítéskor figyelmen kívül hagyja a proxyt</translation>
 <translation id="2482676533225429905">Natív üzenetküldő</translation>
@@ -945,6 +977,7 @@
 <translation id="2769952903507981510">Beállítja a távoli hozzáférésű gazdagép szükséges domainnevét</translation>
 <translation id="2787173078141616821">Az Android állapotával kapcsolatos információk jelentése</translation>
 <translation id="2799297758492717491">A médiatartalmak automatikus lejátszásának engedélyezése az engedélyezőlistán található URL-minták számára</translation>
+<translation id="2801155097555584385">Az akkumulátor töltésének beállítása úgy, hogy elkezdje a töltést a megadott százalékos érték elérésekor</translation>
 <translation id="2801230735743888564">A felhasználók játszhatnak a rejtett dinoszauruszos játékkal, amikor az eszköz offline állapotban van.
 
       Ha a házirend értéke hamis, akkor a felhasználók nem tudnak játszani a rejtett dinoszauruszos játékkal, amikor az eszköz offline állapotban van. Ha a házirend értéke igaz, akkor a felhasználók játszhatnak a játékkal. Ha nincs beállítva, akkor a regisztrált vállalati Chrome OS-t használók nem játszhatnak a játékkal, más körülmények között azonban játszhatnak vele a felhasználók.</translation>
@@ -1018,6 +1051,7 @@
       Ha letiltja ezt a beállítást, illetve nem adja meg az értékét, a nyomtatási előnézet a legutóbb használt nyomtatót választja ki alapértelmezettként.
 
       Ha engedélyezi ezt a beállítást, a nyomtatási előnézet az operációs rendszer alapértelmezett nyomtatóját használja alapértelmezettként.</translation>
+<translation id="285627849510728211">A speciális akkumulátortöltési üzemmód napi konfigurációjának beállítása</translation>
 <translation id="2856674246949497058">Visszaállítás és a célverzió megtartása, ha az operációs rendszer verziója újabb a célverziónál. A folyamat során powerwash művelet elvégzése.</translation>
 <translation id="2872961005593481000">Leállítás</translation>
 <translation id="2873651257716068683">Felülbírálja a nyomtatás alapértelmezett oldalméretét. Ha nem áll rendelkezésre az oldalméret, akkor a rendszer figyelmen kívül hagyja ezt a házirendet.</translation>
@@ -1150,12 +1184,26 @@
 <translation id="3072045631333522102">A használandó képernyőkímélő a bejelentkezési képernyőn kiállító módban</translation>
 <translation id="3072847235228302527">Általános Szerződési Feltételek beállítása egy eszközszinten helyi fiók számára</translation>
 <translation id="3077183141551274418">Letiltja vagy engedélyezi a lapéletciklus funkciót</translation>
+<translation id="3079417254871857650">Meghatározza, hogy milyen műveletet kell elvégezni, ha a felhasználó kezdőkönyvtára ecryptfs titkosítással lett létrehozva.
+
+      Ha a házirend beállítása „DisallowArc”, az Android-alkalmazások le lesznek tiltva a felhasználónál, és nem történik meg az ecryptfs titkosításról ext4 titkosításra való átállás. Ha a kezdőkönyvtár már ext4 titkosítással rendelkezik, akkor a házirend nem akadályozza meg az Android-alkalmazások futtatását.
+
+      Ha a házirend beállítása „Migrate”, akkor bejelentkezéskor – a felhasználó hozzájárulása nélkül – automatikusan megtörténik az ecryptfs titkosítású kezdőkönyvtárak átállítása ext4 titkosításra.
+
+      Ha a házirend beállítása „Wipe”, az ecryptfs titkosítású kezdőkönyvtárak törlődnek a bejelentkezéskor, és új, ext4 titkosítású kezdőkönyvtárak jönnek létre helyettük. Figyelem: Ez a művelet törli a felhasználó helyi adatait.
+
+      Ha a házirend beállítása „MinimalMigrate”, az ecryptfs titkosítású kezdőkönyvtárak törlődnek a bejelentkezéskor, és új, ext4 titkosítású kezdőkönyvtárak jönnek létre helyettük. Mindazonáltal a rendszer igyekszik megőrizni a bejelentkezési tokeneket, hogy a felhasználónak ne kelljen újra bejelentkeznie. Figyelem: Ez a művelet törli a felhasználó helyi adatait.
+
+      Ha a házirendet a már nem támogatott lehetőségek („AskUser” vagy „AskForEcryptfsArcUsers”) egyikére állítja, a rendszer úgy értelmezi, hogy a „Migrate” beállítást adta meg.
+
+      Ez a házirend nem érvényes a kioszkfelhasználókra. Ha a házirend nincs beállítva, az eszköz úgy viselkedik, mintha a „DisallowArc” beállítás lenne kiválasztva.</translation>
 <translation id="3086995894968271156">A Cast-erősítő konfigurálása itt: <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Lehetővé teszi, hogy megadja az URL-minták azon listáját, amely meghatározza, mely webhelyek jeleníthetnek meg képeket.
 
           Ha a házirend konfigurálatlanul marad, akkor a rendszer a „DefaultImagesSetting” házirend globális alapértelmezett értékét használja valamennyi webhelyre vonatkozóan (ha az be van állítva), vagy pedig a felhasználó saját személyes beállítását.
 
           Megjegyzés: Korábban ez a házirend tévesen engedélyezve volt az Android rendszeren, de a funkcióit sosem támogatta teljesen ez az operációs rendszer.</translation>
+<translation id="3091832372132789233">Az akkumulátor töltése azoknál az eszközöknél, amelyek elsődlegesen külső áramforráshoz vannak csatlakoztatva.</translation>
 <translation id="3096595567015595053">Engedélyezett bővítmények listája</translation>
 <translation id="3101501961102569744">Válassza ki, hogyan adja meg a proxyszerver beállításait</translation>
 <translation id="3101709781009526431">Dátum és idő</translation>
@@ -1181,6 +1229,7 @@
           Ha a beállítás le van tiltva, akkor a <ph name="PRODUCT_NAME" /> csak a rendszerszinten telepített natív üzenetváltási gazdagépeket használja.
 
           Ha nincs beállítva, akkor a <ph name="PRODUCT_NAME" /> engedélyezi a felhasználói szintű natív üzenetváltási gazdagépek használatát.</translation>
+<translation id="3177802893484440532">Online OCSP/CRL-ellenőrzéseket igényel a helyi megbízhatósági horgonyoknál</translation>
 <translation id="3185009703220253572">a(z) <ph name="SINCE_VERSION" /> verzió óta</translation>
 <translation id="3187220842205194486">Az androidos alkalmazások nem szerezhetnek hozzáférést a vállalati kulcsokhoz. A házirend nem vonatkozik rájuk.</translation>
 <translation id="3205825995289802549">Az első böngészőablak nagy méretre állítása az első indításkor</translation>
@@ -1190,6 +1239,7 @@
 <translation id="3220624000494482595">Ha a kioszkalkalmazás Android-alkalmazás, nem tudja befolyásolni a <ph name="PRODUCT_OS_NAME" />-verziót, még akkor sem, ha a házirend beállítása <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">URL-minták a következő helyről a bővítmények, alkalmazások és felhasználói szkriptek telepítésének lehetővé tételéhez:</translation>
 <translation id="3240609035816615922">Nyomtatóbeállítások hozzáférési házirendje.</translation>
+<translation id="3240655340884151271">A dokkoló beépített hálózati kártyájának (NIC) MAC-címe</translation>
 <translation id="3243309373265599239">Megadja azt a felhasználói bevitel nélküli időtartamot, amely után a rendszer elsötétíti a képernyőt, ha hálózati áramról működik.
 
           Ha a házirend nullánál nagyobb értékre van állítva, megadja azt az időtartamot, ameddig a felhasználónak tétlennek kell maradnia, mielőtt a(z) <ph name="PRODUCT_OS_NAME" /> elsötétíti a képernyőt.
@@ -1211,6 +1261,12 @@
       Ha ez a beállítás be van kapcsolva vagy nincs megadva, a felhasználók Google Fiókjuk érvényesítésével bekapcsolhatják a cloud print proxyt.
 
       Ha a beállítás ki van kapcsolva, a felhasználók nem kapcsolhatják be a proxyt, és a számítógép számára nem lesz engedélyezett a nyomtatók megosztása a(z) <ph name="CLOUD_PRINT_NAME" /> szolgáltatással.</translation>
+<translation id="3312206664202507568">A chrome://password-change beállításai között engedélyez egy adott oldalt, ahol az SAML-felhasználók munkamenet közben is módosíthatják SAML-jelszavukat, így biztosítva, hogy az SAML-jelszó és az eszköz lezárási képernyőjének jelszava szinkronizálva vannak.
+
+      A házirend ezenkívül engedélyezi az értesítéseket is, amelyek figyelmeztetik az SAML-felhasználókat, ha SAML-jelszavuk hamarosan lejár. A felhasználók így azonnal, a munkamenet közben meg tudják változtatni jelszavukat.
+      Ezek az értesítések azonban csak akkor jelennek meg, ha az SAML-identitásszolgáltató elküldi az eszköznek a jelszó lejáratával kapcsolatos információkat az SAML-bejelentkezési folyamat során.
+
+      Ha a házirend be van állítva, a felhasználó nem módosíthatja és nem bírálhatja felül.</translation>
 <translation id="3322771899429619102">Lehetővé teszi, hogy létrehozza az olyan webhelyeket megadó URL-minták egy listáját, ahol engedélyezett a kulcslétrehozás. Ha valamelyik URL-minta a „KeygenBlockedForUrls” házirendben található, akkor az felülírja ezen kivételeket.
 
           Ha a házirend konfigurálatlanul marad, akkor a rendszer a globális alapértelmezett értéket használja a „DefaultKeygenSetting” házirendből (ha az be van állítva), egyéb esetben pedig a felhasználó saját személyes beállításából.</translation>
@@ -1294,6 +1350,7 @@
 
           Ha az irányelv értéke Hamis, vagy nincs beállítva, akkor az energiagazdálkodási késleltetések és a munkamenet hosszúsági korlátja rögtön egy munkamenet megkezdésekor elindul.</translation>
 <translation id="3478024346823118645">Felhasználói adatok törlése a kijelentkezésnél</translation>
+<translation id="3480961938508521469">Akkumulátor teljes töltése normál tempóval.</translation>
 <translation id="348495353354674884">Virtuális billentyűzet engedélyezése</translation>
 <translation id="3487623755010328395">
         Ha a házirend be van állítva, a <ph name="PRODUCT_NAME" /> megpróbálja regisztrálni magát, és alkalmazza a társított felhőházirendet az összes profilra.
@@ -1340,6 +1397,8 @@
 <translation id="3547954654003013442">Proxybeállítások</translation>
 <translation id="355118380775352753">Az alternatív böngészőben megnyíló webhelyek</translation>
 <translation id="3554984410014457319">A Google Segéd figyelheti a hangalapú aktiválásra szolgáló kifejezést</translation>
+<translation id="356579196325389849">A felhasználók konfigurálhatják a Chrome OS kiadási csatornáját</translation>
+<translation id="3575011234198230041">HTTP-hitelesítés</translation>
 <translation id="3577251398714997599">Hirdetésbeállítások a tolakodó hirdetéseket tartalmazó webhelyekre vonatkozóan</translation>
 <translation id="357917253161699596">A felhasználók kezelhetik a felhasználói tanúsítványokat</translation>
 <translation id="3583230441447348508">Előre konfigurált hálózati fájlmegosztásokat határoz meg.
@@ -1370,6 +1429,7 @@
 
         Ez a házirend a gépek hatókörére vonatkozó, felhővel kapcsolatos házirend asztali környezetben való regisztrációjánál használható. Beállítása Windows rendszeren beállításjegyzék vagy GPO, Mac rendszeren plist, Linux esetében pedig JSON-házirendfájl használatával lehetséges.</translation>
 <translation id="3660562134618097814">SAML IdP cookie-k átadása a bejelentkezés során</translation>
+<translation id="3668151900457104753">A tiltólistán lévő bővítmények eltávolítása</translation>
 <translation id="3701121231485832347">A(z) <ph name="MS_AD_NAME" /> által kezelt <ph name="PRODUCT_OS_NAME" />-eszközök beállításainak módosítására szolgál.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Az egysoros mező megszűnt, és a jövőben eltávolítjuk. Kérjük, használja az alábbi többsoros szövegmezőt.)</translation>
 <translation id="3709266154059827597">Bővítménytelepítési feketelista beállítása</translation>
@@ -1451,6 +1511,16 @@
           Ha nem állítja be ezt a házirendet, akkor a képernyő-billentyűzet kezdetben le lesz tiltva, de a felhasználó bármikor engedélyezheti.</translation>
 <translation id="382476126209906314">Beállítja a távoli hozzáférésű gazdagép TalkGadget előtagját</translation>
 <translation id="3824972131618513497">Energiagazdálkodással és újraindítással kapcsolatos beállítások kezelését szolgálja.</translation>
+<translation id="3826475866868158882">A Google helyszolgáltatásai engedélyezve vannak</translation>
+<translation id="3831054243924627613">Ez a házirend szabályozza az Android biztonsági mentés és visszaállítás funkciójának kezdeti állapotát.
+
+      Ha a házirend nincs beállítva, vagy ha beállítása <ph name="BR_DISABLED" />, akkor az Android biztonsági mentés és visszaállítás funkciója kezdetben le van tiltva.
+
+      Ha a házirend beállítása <ph name="BR_ENABLED" />, akkor az Android biztonsági mentés és visszaállítás funkciója kezdetben engedélyezve van.
+
+      Ha a házirend beállítása <ph name="BR_UNDER_USER_CONTROL" />, akkor a rendszer megkérdezi a felhasználót, hogy szeretné-e használni az Android biztonsági mentés és visszaállítás funkcióját. Ha a felhasználó engedélyezi a biztonsági mentés és visszaállítás funkciót, a rendszer feltölti az Android-alkalmazásadatokat az Android biztonsági másolatokat tartalmazó szervereire, és helyreállítja őket az alkalmazások újratelepítésekor a kompatibilis alkalmazások esetén.
+
+      Ez a házirend csak a kezdeti beállításra vonatkozóan szabályozza az Android biztonsági mentés és visszaállítás funkciójának állapotát. Később a felhasználó az Android beállításai között be- vagy kikapcsolhatja a biztonsági mentés és visszaállítás funkciót.</translation>
 <translation id="3831376478177535007">Ha engedélyezve van ez a beállítás, a <ph name="PRODUCT_NAME" /> engedélyezi a Symantec Corporation régi PKI-műveletei által kibocsátott tanúsítványok megbízhatóként való elfogadását, ha azok más módon sikeresen hitelesítettek, és elismert CA-tanúsítványhoz tartoznak.
 
       Felhívjuk figyelmét arra, hogy ez a házirend függ attól, hogy az adott operációs rendszer továbbra is felismeri-e a Symantec régi infrastruktúrájából származó tanúsítványokat. Ha az operációs rendszer valamelyik frissítése módosítja az ilyen tanúsítványok kezelésének módját, akkor ez a házirend a továbbiakban hatástalan lesz. Továbbá ez a házirend csak ideiglenes megoldásként szolgál, hogy a vállalatoknak több idejük legyen áttérni a Symantec régi tanúsítványairól. Ez a házirend 2019. január 1-je körül eltávolításra kerül.
@@ -1529,6 +1599,15 @@
 
           Ha nincs beállítva, vagy ha az értéke hamis, akkor a felhasználók átvihetnek fájlokat a Google Drive-ra.</translation>
 <translation id="3915395663995367577">URL egy proxy .pac fájlhoz</translation>
+<translation id="3920892052017026701">Az akkumulátor töltésének beállítása úgy, hogy elkezdje a töltést a megadott százalékos érték elérésekor.
+
+          Az akkumulátor töltése elkezdődik, amikor eléri az egyénileg beállított töltésindítási értéket.
+
+          A DeviceBatteryChargeCustomStartCharging értéknek kisebbnek kell lennie, mint a DeviceBatteryChargeCustomStopCharging értéknek.
+
+          Ez a házirend csak akkor használható, ha a DeviceBatteryChargeMode beállítása egyéni.
+
+          Ha ez a házirend nincs konfigurálva vagy aktiválva, akkor a rendszer a normál akkumulátortöltési üzemmódot használja.</translation>
 <translation id="3925377537407648234">A képernyőfelbontás és a skálázási tényező beállítása</translation>
 <translation id="3939893074578116847">Hálózati csomagok küldése a kezelőszervernek az online állapot ellenőrzése céljából;
       ezáltal a szerver észleli, ha az eszköz offline állapotban van.
@@ -1657,6 +1736,7 @@
 <translation id="4150201353443180367">Megjelenítés</translation>
 <translation id="4157003184375321727">Az operációs rendszer és a firmware verziójának jelentése</translation>
 <translation id="4157594634940419685">Hozzáférés engedélyezése a natív CUPS-nyomtatókhoz</translation>
+<translation id="4160962198980004898">Az eszköz MAC-címének forrása dokkolt állapotban</translation>
 <translation id="4163705126749612234">Beállítja a távoli hozzáférésű ügyfelek kötelező domainneveit, és megakadályozza, hogy a felhasználók módosítsák őket.
 
           Ha a beállítás aktiválva van, kizárólag a megadott domainek valamelyikéhez tartozó ügyfelek tudnak kapcsolódni a gazdagéphez.
@@ -1734,6 +1814,7 @@
       Felhívjuk figyelmét, hogy az alkalmazásazonosítót tartalmazó házirend nem jelenti feltétlenül azt, hogy a felhasználó jegyzetkészítő alkalmazásként tudja majd engedélyezni az alkalmazást a lezárási képernyőn. Chrome 61-en például a platform tovább korlátozza a rendelkezésre álló alkalmazások készletét.
 
       Ha nem állítja be ezt a házirendet, akkor a házirend által előírt korlátozások nem vonatkoznak majd a felhasználó által a lezárási képernyőn engedélyezhető alkalmazások készletére.</translation>
+<translation id="4313767483634435271">Az eszköz dokkolójának MAC-címe</translation>
 <translation id="4322842393287974810">Annak engedélyezése, hogy a <ph name="PRODUCT_OS_NAME" /> verziójának ellenőrzését a késés nélkül, automatikusan indított kioszkalkalmazás végezze.</translation>
 <translation id="4325690621216251241">Kijelentkezés gomb elhelyezése a tálcán</translation>
 <translation id="4332177773549877617">Az Android-alkalmazások telepítéseivel kapcsolatos események naplózása</translation>
@@ -1765,6 +1846,7 @@
 <translation id="4360826270668210664">Ha a házirend be van állítva, a távoli hozzáférésű gazdagép megköveteli, hogy a hitelesítést végrehajtó ügyfelek erről az URL-ről szerezzék be a kapcsolódáshoz szükséges hitelesítési tokent. A RemoteAccessHostTokenValidationUrl házirenddel együtt kell használni.
 
           Ez a funkció jelenleg le van tiltva a szerveroldalon.</translation>
+<translation id="4363057787588706121">Különböző forrásokból származó listaházirendek egyesítésének engedélyezése.</translation>
 <translation id="436581050240847513">Hálózati eszközinterfészek bejelentése</translation>
 <translation id="4372704773119750918">A vállalati felhasználó ne használhassa a többprofilos módot (elsődleges vagy másodlagos)</translation>
 <translation id="4377599627073874279">Az összes kép megjelenítésének engedélyezése valamennyi webhely számára</translation>
@@ -1930,6 +2012,7 @@
 <translation id="4826326557828204741">Végrehajtandó művelet a tétlenségi késleltetés elérésekor akkumulátorról történő üzemelés során</translation>
 <translation id="4832852360828533362">Felhasználó- és eszközjelentések</translation>
 <translation id="4834526953114077364">A legrégebben használt, az utóbbi 3 hónapban nem bejelentkezett felhasználók eltávolítása, amíg elegendő szabad terület nem lesz</translation>
+<translation id="4835622243021053389">NTLMv2-hitelesítés engedélyezése.</translation>
 <translation id="4858735034935305895">Teljes képernyős mód engedélyezése</translation>
 <translation id="4861767323695239729">A felhasználói munkamenetben engedélyezett beviteli módok konfigurálása</translation>
 <translation id="487460824085252184">Automatikus áttelepítés, felhasználói beleegyezés kérése nélkül.</translation>
@@ -2048,6 +2131,11 @@
 
       A(z) <ph name="URL_LIST_POLICY_NAME" /> házirendtől eltérően a szabályok mindkét irányban érvényesek. Ez azt jelenti, hogy amikor az Internet Explorer-bővítmény jelen van és engedélyezett, a házirend azt is vezérli, hogy az <ph name="IE_PRODUCT_NAME" /> a <ph name="PRODUCT_NAME" /> böngészőben nyissa-e meg ezeket az URL-eket.</translation>
 <translation id="5124368997194894978">Hálózati áramforrás esetén történő rendszerindítás engedélyezése</translation>
+<translation id="5131211790949066746">Engedélyezi az <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> és <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> bővítménytelepítési listákra vonatkozó házirendek összevonását.
+
+      Ha engedélyezi ezt a beállítást, a rendszer egyetlen listába vonja össze a gépi platform, a gépi felhő és a felhasználói platform házirendjeinek értékeit, és egy egész listaként kezeli őket ahelyett, hogy csak a legmagasabb prioritással rendelkező forrás értékeit használná.
+
+      Ha letiltja vagy konfigurálatlanul hagyja a beállítást, a rendszer csak a legmagasabb prioritású forrás listabejegyzéseit veszi figyelembe, míg az összes többi forrás ütközésként jelenik meg, és figyelmen kívül hagyja őket a rendszer.</translation>
 <translation id="5141670636904227950">A bejelentkezési képernyőn engedélyezett alapértelmezett nagyítótípus beállítása</translation>
 <translation id="5142301680741828703">Mindig a <ph name="PRODUCT_FRAME_NAME" /> segítségével jelenítse meg a következő URL-mintákat</translation>
 <translation id="5148753489738115745">Lehetővé teszi további paraméterek megadását, amelyeket a(z) <ph name="PRODUCT_FRAME_NAME" /> használ a(z) <ph name="PRODUCT_NAME" /> indításakor.
@@ -2157,6 +2245,7 @@
 
       Ha az irányelvet nem állítja be, vagy üres karakterláncot, illetve érvénytelen porttartományt ad meg, akkor a WebRTC bármelyik rendelkezésre álló helyi UDP-portot használhatja.</translation>
 <translation id="5290940294294002042">Adja meg a felhasználó által be- vagy kikapcsolható bővítmények listáját</translation>
+<translation id="5306186200045823863">A Symantec Corporation régi PKI-infrastruktúrájának megbízhatóként való elfogadása</translation>
 <translation id="5307432759655324440">Inkognitómód elérhetősége</translation>
 <translation id="5318185076587284965">Relay szerverek használatának engedélyezése a távoli gazdagép számára</translation>
 <translation id="5323128137188992869">A tartalom átküldésének az engedélyezése az eszközre a következő használatával <ph name="PRODUCT_NAME" />.
@@ -2252,6 +2341,7 @@
       Ha a szabályok ellentmondanak egymásnak, a <ph name="PRODUCT_NAME" /> a legpontosabban körülírt szabályt használja.</translation>
 <translation id="5475361623548884387">Nyomtatás engedélyezése</translation>
 <translation id="547601067149622666">Hirdetések tiltása a tolakodó hirdetéseket tartalmazó webhelyeken</translation>
+<translation id="5483065054530244863">A helyi bizalmi horgonyok által kibocsátott, SHA-1-aláírással rendelkező tanúsítványok engedélyezése</translation>
 <translation id="5483777239978559943">Ez a házirend elavult. Kérjük, a <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> segítségével ellenőrizze a Flash beépülő modul rendelkezésre állását, az <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> segítségével pedig határozza meg azt, hogy a beépített PDF-olvasót kívánja-e használni a PDF-fájlok megnyitásához.
 
       Megadja azon beépülő modulok listáját, amelyeket a felhasználó engedélyezhet vagy letilthat a <ph name="PRODUCT_NAME" /> böngészőben.
@@ -2368,6 +2458,17 @@
           Ha bekapcsolja, vagy nem állítja be ezt a beállítást, a felhasználók megtekinthetik egyszerű szövegként a tárolt jelszavakat a jelszókezelőben.</translation>
 <translation id="5620392548325769024">Az üdvözlőoldal megjelenítésének engedélyezése az operációs rendszer frissítését követő első böngészőindításkor</translation>
 <translation id="5630352020869108293">Utolsó munkamenet visszaállítása</translation>
+<translation id="5643906875497889108">Azt szabályozza, mely alkalmazás- vagy bővítménytípusokat lehet telepíteni, valamint korlátozza a futásidőben történő hozzáférést.
+
+          Ez a beállítás engedélyezőlistára teszi azokat a bővítmény- vagy alkalmazástípusokat, amelyek telepíthetők a <ph name="PRODUCT_NAME" /> alatt, és amelyekkel a gazdagépek interakcióba léphetnek. Az érték karakterláncok listája, melyek mindegyikének a következők egyikének kell lennie: „extension”, „theme”, „user_script”, „hosted_app”, „legacy_packaged_app”, „platform_app”. A <ph name="PRODUCT_NAME" /> bővítményekre vonatkozó dokumentációjából többet is megtudhat ezekről a típusokról.
+
+          Felhívjuk figyelmét, hogy ez a házirend azokra a bővítményekre és alkalmazásokra is hatással van, amelyeket az ExtensionInstallForcelist házirend révén kényszerítve telepítettek.
+
+          Ha ez a beállítás konfigurálva van, nem telepíthetők olyan bővítmények és alkalmazások, amelyek típusa nem szerepel a listán.
+
+          Ha a beállítás nincs konfigurálva, akkor nincsenek korlátozva az elfogadható bővítmény- és alkalmazástípusok.
+
+          A 75-ös verzió előtt nem támogatott több, vesszővel elválasztott bővítményazonosító használata, ezért ezeket kihagyja a rendszer. A házirend többi része továbbra is érvényes marad.</translation>
 <translation id="5645779841392247734">Cookie-k engedélyezése ezeken a webhelyeken</translation>
 <translation id="5689430183304951538">Nyomtatás alapértelmezett oldalmérete</translation>
 <translation id="5693469654327063861">Adatmigráció engedélyezése</translation>
@@ -2407,6 +2508,7 @@
 <translation id="5765780083710877561">Leírás:</translation>
 <translation id="5770738360657678870">Fejlesztői csatorna (instabil lehet)</translation>
 <translation id="5774856474228476867">Az alapértelmezett keresési szolgáltató kereső URL-je</translation>
+<translation id="5775235485119094648">Akkumulátor töltése, ha a rögzített intervallumon belül van.</translation>
 <translation id="5776485039795852974">Kérdezzen rá minden alkalommal, amikor egy webhely asztali értesítéseket akar mutatni</translation>
 <translation id="5781412041848781654">Megadja, hogy a rendszer melyik GSSAPI könyvtárat használja a HTTP-hitelesítéshez. Megadhat csak könyvtárnevet, illetve teljes elérési utat is.
 
@@ -2468,6 +2570,7 @@
 <translation id="5893553533827140852">Ha ez a beállítás engedélyezett, akkor a gnubby hitelesítési kéréseket a rendszer távoli szerverkapcsolaton keresztül proxyzza.
 
           Ha a beállítás tiltva van, vagy nincs konfigurálva, akkor a rendszer nem proxyzza a gnubby hitelesítési kéréseket.</translation>
+<translation id="5897913798715600338">Akkumulátor töltése a gyors töltési technológiával.</translation>
 <translation id="5898486742390981550">Ha több felhasználó van bejelentkezve, csak az elsődleges felhasználó használhat Android-alkalmazásokat.</translation>
 <translation id="5900196529149231477">
       Ez a házirend a bejelentkezési képernyőre vonatkozik. A felhasználói munkamenetre az <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> házirend érvényes. Azt javasoljuk, hogy mindkét házirendet ugyanarra az értékre állítsa. Ha az értékek nem egyeznek, az késést okozhat a felhasználói munkamenetbe való belépés során, miközben a böngésző éppen alkalmazni próbálja a felhasználói házirend által meghatározott értéket.
@@ -2476,6 +2579,7 @@
       Ha nem állítja be a házirendet, a platform alapértelmezett webhely-elszigetelési beállításai lépnek érvénybe a bejelentkezési képernyőnél.
       </translation>
 <translation id="5901427587865226597">Csak kétoldalas nyomtatás</translation>
+<translation id="5905473632148429217">Online OCSP/CRL-ellenőrzések engedélyezése</translation>
 <translation id="5906199912611534122">Lehetővé teszi a hálózatszabályozás engedélyezését és letiltását.
       Minden felhasználóra és az eszköz minden felületére vonatkozik. A beállítást
       követően a szabályozás a házirend kikapcsolásáig érvényben marad.
@@ -2483,6 +2587,7 @@
       Ha a házirend értéke hamis, akkor nincs szabályozás.
       Ha a házirend értéke igaz, akkor szabályozza a rendszert a megadott
       feltöltési és letöltési sebességének eléréséhez (kbit/s értékben megadva).</translation>
+<translation id="591088232153082363">Alkalmazkodó akkumulátortöltés az akkumulátorhasználati minta alapján.</translation>
 <translation id="5921713479449475707">Automatikus frissítési letöltések engedélyezése HTTP-n keresztül</translation>
 <translation id="5921888683953999946">A nagy egérmutató kisegítő lehetőség alapértelmezett állapotának megadása a bejelentkezési képernyőn.
 
@@ -2504,6 +2609,7 @@
 <translation id="5950205771952201658">Tekintettel arra, hogy a hibatűrő, online visszavonási ellenőrzések nem nyújtanak biztonsági előnyöket, a <ph name="PRODUCT_NAME" /> 19-es és újabb verzióiban ezek alapértelmezés szerint ki vannak kapcsolva. A házirend igaz értékre állításával visszaállítható a korábbi viselkedés, és a böngésző online OCSP-/CRL-ellenőrzéseket végez.
 
       Ha a házirend értéke hamis, vagy ha nincs beállítva, akkor a <ph name="PRODUCT_NAME" /> nem végez online visszavonási ellenőrzéseket a <ph name="PRODUCT_NAME" /> 19-es és újabb verzióiban.</translation>
+<translation id="5961137303188584693">Az eszköz beépített hálózati kártyájának (NIC) MAC-címe</translation>
 <translation id="5966615072639944554">A távoli tanúsítási API használatára engedélyezett bővítmények</translation>
 <translation id="5983708779415553259">Alapértelmezett viselkedés a tartalomcsomagban nem lévő webhelyek esetében</translation>
 <translation id="5997543603646547632">24 órás formátum használata alapértelmezés szerint</translation>
@@ -2594,6 +2700,17 @@
 <translation id="6111936128861357925">A rejtett dinoszauruszos játék engedélyezése</translation>
 <translation id="6114416803310251055">elavult</translation>
 <translation id="6133088669883929098">Kulcsgenerálás használatának engedélyezése minden webhelyen</translation>
+<translation id="6136537398661737682">Ez a házirend szabályozza a Google helyszolgáltatásainak kezdeti állapotát.
+
+      Ha a házirend nincs beállítva, vagy ha beállítása <ph name="GLS_DISABLED" />, akkor a Google helyszolgáltatásai kezdetben le vannak tiltva.
+
+      Ha a házirend beállítása <ph name="GLS_ENABLED" />, akkor a Google helyszolgáltatásai kezdetben engedélyezve vannak.
+
+      Ha a házirend beállítása <ph name="GLS_UNDER_USER_CONTROL" />, akkor a rendszer megkérdezi a felhasználót, hogy szeretné-e használni a Google helyszolgáltatásait. Ez lehetővé teszi az Android-alkalmazások számára a szolgáltatások használatát az eszköz tartózkodási helyének lekérdezésére, valamint engedélyezi a névtelen helyadatok elküldését a Google-nak.
+
+      Ez a házirend csak a kezdeti beállításra vonatkozóan szabályozza a Google helyszolgáltatásainak állapotát. Később a felhasználó az Android beállításai között be- vagy kikapcsolhatja a Google helyszolgáltatásait.
+
+      Felhívjuk figyelmét, hogy ha a <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> házirend beállítása <ph name="BLOCK_GEOLOCATION_SETTING" />, akkor a rendszer figyelmen kívül hagyja ezt a házirendet, és mindig letiltja a Google helyszolgáltatásait.</translation>
 <translation id="6141402445226505817">Mindig használja a durva időzóna-érzékelést</translation>
 <translation id="6145799962557135888">Lehetővé teszi, hogy megadja az URL-minták egy olyan listáját, amely meghatározza, mely webhelyek futtathatnak JavaScriptet. Ha ez a házirend beállítatlanul marad, akkor a globális alapértelmezett érték kerül felhasználásra valamennyi webhelyre vonatkozóan; vagy -- ha be van állítva -- a "DefaultImagesSetting" házirendből, vagy pedig a felhasználó személyes konfigurációjából.</translation>
 <translation id="614662973812186053">Ez a házirend szabályozza az Android használati és diagnosztikai adatainak gyűjtését is.</translation>
@@ -2667,9 +2784,17 @@
       Letiltása esetén az automatikus kitöltés űrlapadatainak importálása nem történik meg.
 
       Ha nincs beállítva, akkor a böngésző vagy megkérdezi a felhasználótól, hogy legyen-e importálás, vagy automatikusan végrehajtja azt.</translation>
+<translation id="6221175752766085998">A helyi bizalmi horgonyok kibocsátott, de a subjectAlternativeName bővítménnyel nem rendelkező tanúsítványok engedélyezése</translation>
 <translation id="6224304369267200483">Biztonsági hardverkulccsal történő közvetlen hitelesítésre automatikusan jogosult URL-ek, illetve domainek</translation>
 <translation id="6233173491898450179">Letöltési könyvtár megadása</translation>
 <translation id="6244210204546589761">Indításkor megnyitandó URL-ek</translation>
+<translation id="6255387031094435995">Lehetővé teszi a kiválasztott házirendek egyesítését, ha forrásuk eltérő, de hatókörük és szintjük egyezik.
+
+        Ha valamelyik házirend szerepel a listán, és ütközés van két forrás között, akkor – amennyiben hatókörük és szintjük egyezik – a rendszer egyesíti az értékeket egy új házirendlistában.
+
+        Ha valamelyik házirend szerepel a listán, és ütközés van két forrás között, akkor – amennyiben hatókörük és/vagy szintjük nem egyezik – a rendszer a legmagasabb prioritású házirendet alkalmazza.
+
+        Ha valamelyik házirend nem szerepel a listán, és ütközés van két forrás, hatókör és/vagy szint között, akkor a rendszer a legmagasabb prioritású házirendet alkalmazza.</translation>
 <translation id="6258193603492867656">Megadja, hogy a generált Kerberos SPN-nek tartalmaznia kell-e egy nem szabványos portot. Ha engedélyezi ezt a beállítást, és megad egy nem szabványos portot (azaz a 80-as vagy 443-as porttól eltérőt), az szerepelni fog a generált Kerberos SPN-ben. Ha letiltja vagy konfigurálatlanul hagyja a beállítást, a generált Kerberos SPN semmilyen esetben sem fogja tartalmazni a portot.</translation>
 <translation id="6261643884958898336">Készülékazonosítási adatok jelentése</translation>
 <translation id="6281043242780654992">A Natív üzenetküldés házirendjeit konfigurálja. A tiltólistán szereplő natív üzenetkezelő gazdagépeket a rendszer nem engedélyezi, hacsak nem szerepelnek az engedélyezőlistán.</translation>
@@ -2867,6 +2992,7 @@
 <translation id="6757438632136860443">Lehetővé teszi URL-minták olyan listájának megadását, amely meghatározza, hogy mely webhelyek futtathatják a(z) <ph name="FLASH_PLUGIN_NAME" /> beépülő modult.
 
           Ha nem állítja be ezt a házirendet, akkor a böngésző valamennyi webhelyre vonatkozóan a globális alapértelmezett értéket használja a „DefaultPluginsSetting” házirend (ha be van állítva) vagy a felhasználó személyes konfigurációja alapján.</translation>
+<translation id="6757613329154374267">A biztonsági mentés és visszaállítás engedélyezve van</translation>
 <translation id="6762235610019366960">Engedélyezi a teljes lapot kitöltő promóciós és/vagy oktatási célú tartalmak megjelenítésének szabályozását a <ph name="PRODUCT_NAME" /> böngészőben.
 
       Ha nincs konfigurálva, vagy engedélyezve van (igaz értékre van állítva), a <ph name="PRODUCT_NAME" /> megjeleníthet teljes lapot kitöltő tartalmakat a felhasználók számára termékinformációk bemutatásának céljából.
@@ -2889,6 +3015,7 @@
       A karakterlánc tartalmazhat változókat: ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME}. A rendszer a megfelelő értékekkel helyettesíti a változókat, mielőtt a karakterláncot gazdagépnévként használná. A helyettesítés után érvényes gazdagépnévnek kell előállnia (az RFC 1035 című dokumentum 3.1-es szakasza szerint).
 
       Ha a házirend nincs beállítva, vagy ha a helyettesítés érvénytelen gazdagépnevet eredményez, nem kerül sor a DHCP-kérés gazdagépnevének beállítására. </translation>
+<translation id="6833988859168635883">Indítás, kezdőoldal és Új lap oldal</translation>
 <translation id="6835883744948188639">Ismétlődő értesítés megjelenítése a felhasználónak arról, hogy ajánlott az újraindítás</translation>
 <translation id="6837480141980366278">Azt szabályozza, hogy a <ph name="PRODUCT_NAME" /> a beépített DNS-ügyfelet használja-e.
 
@@ -3001,6 +3128,17 @@
 
       Amikor a képernyő elsötétítésére kerül sor, az intelligens elsötétítési modell megállapítja, hogy el kell-e halasztani az elsötétítést. Ha a halasztás mellett dönt, meghosszabbítja az elsötétítésig hátralévő időt. Ebben az esetben a képernyő kikapcsolását és lezárását, illetve az üresjárati késleltetést úgy korrigálja, hogy megtartsa a képernyő elsötétítésénél eredetileg beállított időtávolságot.
       Ha a házirend értéke Igaz, vagy ha nincs beállítva, akkor az intelligens elsötétítési modell aktiválódik, és lehetővé teszi a képernyő elsötétítéséig hátralévő idő növelését. Ha a házirend értéke Hamis, akkor az intelligens elsötétítési modell nem befolyásolja a képernyő elsötétítését.</translation>
+<translation id="6967394885063085697">A speciális akkumulátortöltési üzemmódra vonatkozó energiagazdálkodási házirend engedélyezése.
+
+          A speciális akkumulátortöltési üzemmód lehetővé teszi a felhasználó számára az akkumulátor élettartamának maximalizálását. Speciális töltési üzemmódban a rendszer hagyományos töltési algoritmusokat és más módszereket használ a munkaidőn kívül az akkumulátor élettartamának maximalizálása érdekében. Munkaidőben a gyors töltési módot használja. Ez a gyors töltési mód lehetővé teszi az akkumulátor gyorsabb feltöltését, így az akkumulátor hamarabb eléri a teljes töltöttséget. A kezdési idő és az időtartam minden napra vonatkozóan meghatározza, hogy mikor használják legtöbbet a rendszert.
+
+          Ha a házirend beállítása igaz, és ha a DeviceAdvancedBatteryChargeModeDayConfig házirend be van állítva, akkor a speciális akkumulátortöltési üzemmód mindig engedélyezve lesz az ezt támogató eszközökön.
+
+          Ha a házirend beállítása hamis, akkor a speciális akkumulátortöltési üzemmód mindig le lesz tiltva.
+
+          Ha beállítja ezt a házirendet, a felhasználó nem módosíthatja vagy bírálhatja felül.
+
+          Ha a házirend nincs beállítva, a speciális akkumulátortöltési üzemmód le van tiltva, és a felhasználó nem engedélyezheti.</translation>
 <translation id="6972540544240464302">Feladatkezelő-beállítás kiválasztása</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="6994082778848658360">Meghatározza, hogyan használható az integrált biztonságos hardverelem a kétlépcsős azonosítás biztosítására, amennyiben kompatibilis ezzel a funkcióval. A készülék bekapcsológombja használható a felhasználó fizikai jelenlétének észlelésére.
@@ -3066,6 +3204,17 @@
       Ha engedélyezi vagy letiltja ezt a beállítást, a felhasználók nem módosíthatják és nem írhatják felül.
 
       Ha nem állítja be ezt a házirendet, a felhasználó döntheti el, hogy kívánja-e az eszköz feloldását jelszóhoz kötni.</translation>
+<translation id="7107148737865880402">Az USB-s energiaellátásra vonatkozó energiagazdálkodási házirend engedélyezése.
+
+          Egyes eszközök USB-csatlakozója villámot vagy akkumulátort ábrázoló képpel van megjelölve, amely azt jelzi, hogy a rendszer akkumulátora használható eszközök (például mobiltelefonok) töltésére. Ez a házirend a csatlakozó viselkedését befolyásolja abban az esetben, ha a rendszer alvó vagy kikapcsolt állapotban van. Nincs hatással a többi USB-csatlakozóra, illetve a rendszer ébrenléti állapotában történő töltési viselkedésre.
+
+          Ha a rendszer ébren van, az USB-csatlakozó mindig biztosít energiát.
+
+          Ha a házirend beállítása igaz, akkor alvó állapotban az USB-csatlakozó mindig kap energiát, amennyiben az eszköz csatlakoztatva van hálózati áramforrásra, vagy az akkumulátor töltöttségi szintje 50%-nál nagyobb. Máskülönben nem kap energiát.
+
+          Ha a házirend beállítása igaz, akkor kikapcsolt állapotban az USB-csatlakozó mindig kap energiát, amennyiben az eszköz csatlakoztatva van hálózati áramforrásra. Máskülönben nem kap energiát.
+
+          Ha nincs beállítva ez a házirend, akkor mindig engedélyezve van, és a felhasználó nem tilthatja le.</translation>
 <translation id="7115494316187648452">Meghatározza, hogy elinduljon-e a <ph name="PRODUCT_NAME" /> folyamata az operációs rendszerbe való bejelentkezéskor, és az utolsó böngészőablak bezárásakor is futásban hagyja, lehetővé téve a háttéralkalmazások és az aktuális böngészési munkamenet számára, hogy aktívak maradjanak, a munkamenetek esetleges cookie-jaival együtt. A háttérfolyamat egy ikont jelenít meg a tálcán, ahonnan mindig bezárható.
 
       Ha a házirend értéke True (igaz), akkor a háttérmód engedélyezve van, a felhasználó pedig ezt nem tudja módosítani a böngésző beállításaiban.
@@ -3116,6 +3265,7 @@
           Ha a házirend beállítása igaz, vagy ha nincs beállítva, a rendszer figyelembe veszi a képernyő-ébrentartási kéréseket az energiagazdálkodás során, amennyiben az AllowWakeLocks házirend nincs hamis értékre állítva.
 
           Ha a házirend beállítása hamis, a képernyő-ébrentartási kéréseket rendszer-ébrentartási kérésekre fokozza le a rendszer.</translation>
+<translation id="7177857088692019405">Gyorsfeloldás</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Frissítésekhez engedélyezett csatlakozási típusok</translation>
 <translation id="7194407337890404814">Az alapértelmezett keresési szolgáltató neve</translation>
@@ -3180,6 +3330,7 @@
 <translation id="7273823081800296768">Ha ez a beállítás engedélyezve van, vagy nincs konfigurálva, akkor a felhasználók párosíthatják a klienseket és a gazdagépeket a kapcsolódáskor, így nincs szükség minden alkalommal a PIN-kód megadására.
 
           Ha a beállítás le van tiltva, akkor ez a funkció nem lesz elérhető.</translation>
+<translation id="7274077256421167535">USB-s energiaellátás engedélyezése</translation>
 <translation id="7275334191706090484">Kezelt könyvjelzők</translation>
 <translation id="7291084543582732020">Ha engedélyezi ezt a beállítást, a felhasználók használhatják a Smart Lock funkciót, amennyiben minden megfelel a vonatkozó követelményeknek.
 
@@ -3193,6 +3344,7 @@
 
           Az alkalmazás csak akkor veszi figyelembe ezt a házirendet, ha a „DefaultSearchProviderEnabled” házirend is engedélyezve van.</translation>
 <translation id="7302043767260300182">Képernyőzár késleltetése hálózati áramról való működés során</translation>
+<translation id="7305262223970835999">Lehetővé teszi az oldalak számára a munkameneten belüli jelszómódosítást SAML-felhasználók esetében.</translation>
 <translation id="7311458740754205918">Ha igazra van állítva, vagy ha nincs beállítva, az Új lap oldalon megjelenhetnek javaslatok a felhasználó böngészési előzményei, érdeklődési körei vagy tartózkodási helye alapján.
 
       Ha a beállítás hamis, akkor nem jelennek meg automatikusan generált tartalomjavaslatok az Új lap oldalon.</translation>
@@ -3315,6 +3467,15 @@
       Ha a házirend értéke 0, a rendszer az alapértelmezett méretet használja a gyorsítótárhoz, és ezt a felhasználó nem tudja megváltoztatni.
 
       Ha a házirend nincs beállítva, a rendszer az alapértelmezett méretet használja, és azt a felhasználó felülbírálhatja a „--disk-cache-size” jelölővel.</translation>
+<translation id="759389052790680884">Az akkumulátor töltésének beállítása úgy, hogy abbahagyja a töltést a megadott százalékos érték elérésekor.
+
+          Az akkumulátor töltése leáll, amikor eléri az egyénileg beállított töltésleállítási értéket.
+
+          A DeviceBatteryChargeCustomStartCharging értéknek kisebbnek kell lennie, mint a DeviceBatteryChargeCustomStopCharging értéknek.
+
+          Ez a házirend csak akkor használható, ha a DeviceBatteryChargeMode beállítása egyéni.
+
+          Ha ez a házirend nincs konfigurálva vagy aktiválva, akkor a rendszer a normál akkumulátortöltési üzemmódot használja.</translation>
 <translation id="759957074386651883">A Biztonságos Böngészés beállításai</translation>
 <translation id="7604169113182304895">Az Android-alkalmazások saját belátásuk szerint tarthatják be ezt a listát, és nem kényszeríthetők a lista betartására.</translation>
 <translation id="7612157962821894603">A <ph name="PRODUCT_NAME" /> indításakor alkalmazandó rendszerszintű jelölők</translation>
@@ -3389,6 +3550,15 @@
 <translation id="7712109699186360774">Kérdezzen rá minden alkalommal, amikor egy webhely megpróbálja elérni a kamerát és/vagy mikrofont</translation>
 <translation id="7713608076604149344">Letöltési korlátozások</translation>
 <translation id="7715711044277116530">Az a százalék, amellyel a képernyő-sötétedési késleltetés skálázódik prezentációs módban</translation>
+<translation id="7716781462866245042">A speciális akkumulátortöltési üzemmód napi konfigurációjának beállítása.
+
+          Ez a házirend csak akkor használatos, ha a DeviceAdvancedBatteryChargeModeEnabled igaz értékre van beállítva.
+
+          Ha a házirend nincs konfigurálva vagy aktiválva, akkor a speciális akkumulátortöltési üzemmód mindig le lesz tiltva.
+
+          Megjegyzés: A <ph name="CHARGE_START_TIME_FIELD_NAME" /> értékének kisebbnek kell lennie, mint a <ph name="CHARGE_END_TIME_FIELD_NAME" /> értékének.
+
+          Megjegyzés: A <ph name="MINUTE_FIELD_NAME" /> mező lehetséges értékei a <ph name="CHARGE_START_TIME_FIELD_NAME" /> és <ph name="CHARGE_END_TIME_FIELD_NAME" /> beállításokban a következők: 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">A <ph name="PRODUCT_OS_NAME" /> kisegítő funkcióinak konfigurálása.</translation>
 <translation id="7724994675283793633">Ez a házirend a HTTP/0.9 protokoll használatát más portokon is engedélyezi a HTTP 80-as és a HTTPS 443-as portja mellett.
 
@@ -3462,6 +3632,7 @@
       Meghatározza a bejelentkezési képernyőn képernyőkímélőként használni kívánt bővítmény azonosítóját. A bővítménynek abban az alkalmazáscsomagban kell lennie, amely meg van határozva ennél a domainnél az DeviceAppPack házirend használatával.</translation>
 <translation id="7882857838942884046">A Google Sync szolgáltatása esetén az Android Backup és az Android Restore szolgáltatás nem fog megfelelően működni.</translation>
 <translation id="7882890448959833986">A nem támogatott operációs rendszerre vonatkozó figyelmeztetés elrejtése</translation>
+<translation id="7895553628261067384">Távoli hozzáférés</translation>
 <translation id="7902255855035461275">A listában szereplő mintákat a böngésző egyezteti a kérelmező URL
       biztonsági eredetével. Egyezés esetén a videorögzítő
       eszközökhöz való hozzáférést kérdés nélkül engedélyezi.
@@ -3475,6 +3646,11 @@
 <translation id="7937491150792971922">Több forrásból származó bővítménytelepítési listákra vonatkozó házirendek összevonása</translation>
 <translation id="7937766917976512374">Videorögzítés engedélyezése vagy tiltása</translation>
 <translation id="7941975817681987555">A hálózati műveletek előrejelzése semmilyen hálózaton ne történjen meg</translation>
+<translation id="7952007677054834789">Az indításkor betöltődő oldalakat, az alapértelmezett kezdőoldalt és az alapértelmezett új lap oldalt konfigurálja a <ph name="PRODUCT_NAME" /> böngészőben, és megakadályozza, hogy a felhasználók módosítsák őket.
+
+      A felhasználó kezdőoldalának beállításai csak akkor lesznek teljesen lezárva, ha a kezdőoldalt választja az új lap oldalnak, vagy ha URL-re állítja be, és megadja a kezdőoldal-URL-t. Ha nem ad meg kezdőoldal-URL-t, akkor a felhasználó továbbra is be tudja állítani kezdőoldalnak az új lap oldalt a „chrome://newtab” meghatározásával.
+
+      Az „Indításkor megnyitandó URL-ek” házirendet figyelmen kívül hagyja a böngésző, kivéve akkor, ha a „Teendő indításkor” részben a „Nyisson meg egy URL-listát” lehetőség lett kiválasztva.</translation>
 <translation id="7952958573604504839">Ez a házirend az M48-as verzióban megszűnt, helyét a <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> vette át; az M54-es verzióból pedig teljesen eltávolítottuk.
 
       Bekapcsolja a hálózati előrejelzést a <ph name="PRODUCT_NAME" /> böngészőben, és megakadályozza, hogy a felhasználók megváltoztassák ezt a beállítást.
@@ -3613,6 +3789,7 @@
 <translation id="8176035528522326671">A vállalati felhasználók csak elsődleges többprofilú felhasználók lehetnek (alapértelmezett működés vállalati kezelésű felhasználók esetén)</translation>
 <translation id="8214600119442850823">A jelszókezelőt konfigurálja</translation>
 <translation id="8217516105848565518">Ez a házirend elavult. Használja helyette a RemoteAccessHostDomainList házirendet.</translation>
+<translation id="8244171102276095471">RC4 rejtjelezési csomagok engedélyezése a TLS protokollban</translation>
 <translation id="8244525275280476362">Maximális lehívási késleltetés házirend-érvénytelenítés után</translation>
 <translation id="8256688113167012935">A(z) <ph name="PRODUCT_OS_NAME" /> által az eszköz megfelelő helyi fiókjának a bejelentkezési képernyőn megjelenített fióknevét szabályozza.
 
@@ -3653,6 +3830,7 @@
 <translation id="8312129124898414409">Lehetővé teszi annak beállítását, hogy a webhelyek használhatják-e a kulcslétrehozás funkciót. A kulcslétrehozás funkció használatát egyszerre lehet engedélyezni vagy letiltani az összes webhelynél.
 
           Ha a házirend beállítatlanul marad, a rendszer a „BlockKeygen” értéket használja, és ezt a felhasználó módosíthatja.</translation>
+<translation id="8320149248919453401">Akkumulátortöltési mód</translation>
 <translation id="8329984337216493753">Ez a házirend csak kiállító módban aktív.
 
       Ha meg van határozva a DeviceIdleLogoutTimeout, akkor ez a házirend adja meg, hogy mennyi ideig legyen látható a figyelmeztető mező a visszaszámlálóval, mielőtt megtörténne a felhasználó kijelentkeztetése.
@@ -3819,6 +3997,7 @@
       Ha nincs beállítva, akkor <ph name="PRODUCT_OS_NAME" />-eszközök esetében 345 600 000 ezredmásodperc (négy nap), míg a <ph name="PRODUCT_NAME" /> esetében 604 800 000 ezredmásodperc (egy hét) az alapértelmezett időszak.</translation>
 <translation id="8685024486845674965">Jelszóvédelemmel kapcsolatos figyelmeztetést aktivál a jelszó újrafelhasználása</translation>
 <translation id="8693243869659262736">Beépített DNS-ügyfél használata</translation>
+<translation id="8698286761337647563">Meghatározza, hogy a jelszó lejárta előtt hány nappal történjen az SAML-felhasználók értesítése</translation>
 <translation id="8703488928438047864">Az összetevők állapotának bejelentése</translation>
 <translation id="8703872185032220081">Az energiaellátási peak shift funkció napjainak konfigurálása.
 
@@ -3863,6 +4042,7 @@
       Ha a beállítás le van tiltva, vagy ha nincs konfigurálva, akkor a jelszóvédelmi szolgáltatás a https://myaccounts.google.com webhelyre küldi a felhasználókat jelszómódosítás céljából.
       Ez a házirend csak olyan Windows-példányokon hozzáférhető, amelyek csatlakoznak <ph name="MS_AD_NAME" />-domainhez, illetve csak olyan Windows 10 Pro- vagy Enterprise-példányokon használható, amelyeken aktiválva van az eszközkezelés.</translation>
 <translation id="8798099450830957504">Alapértelmezett</translation>
+<translation id="8800453707696044281">Az akkumulátor töltésének beállítása úgy, hogy abbahagyja a töltést a megadott százalékos érték elérésekor</translation>
 <translation id="8801680448782904838">A felhasználó értesítése arról, hogy ajánlott, illetve szükséges a böngésző vagy az eszköz újraindítása</translation>
 <translation id="8818173863808665831">Az eszköz földrajzi helyének jelentése.
 
@@ -3991,6 +4171,11 @@
       Ez a házirend csak azokra a felhasználókra vonatkozik, akik SAML használatával hitelesítik magukat.
 
       A házirend értékét másodpercben kell megadni.</translation>
+<translation id="9018338365267278833">Ez eltávolítja az <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> listán vagy az <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> házirendben szereplő azon bővítményeket, amelyek telepítési módját letiltották, és ezzel együtt törli a helyi felhasználói adatokat is.  A bővítmény adatvédelmi vagy adatmegőrzési irányelvei nyújtanak tájékoztatást arról, mi történik a nem helyben tárolt felhasználói adatokkal.
+
+      Ha a házirend engedélyezve van, akkor a fent említett listákon szereplő bővítményeket (amennyiben már telepítve vannak) a rendszer teljesen eltávolítja az adott eszközről (a helyi felhasználói adatokkal együtt).
+
+      Ha a házirend le van tiltva, vagy ha nincs beállítva, akkor a fent említett listákon szereplő bővítményeket (amennyiben már telepítve vannak, valamint szerepelnek az <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> házirend tiltólistáján) a rendszer letiltja, de nem távolítja el a gépről.</translation>
 <translation id="9027787254195333560">Ez a házirend lehetővé teszi a felhasználó bejelentkezési képernyőn megjelenő avatarképének konfigurálását. A házirend annak az URL-nek a megadásával állítható be, ahonnan a <ph name="PRODUCT_OS_NAME" /> letöltheti az avatarképet és a letöltés integritásának ellenőrzésére szolgáló kriptográfiai hash-értéket. A képnek JPEG-formátumban kell lennie, mérete pedig nem haladhatja meg az 512 kB-ot. Az URL-nek hitelesítés nélkül is hozzáférhetőnek kell lennie.
 
       A letöltés után az avatarkép a gyorsítótárba kerül. Ha az URL vagy a hash megváltozik, a rendszer újra letölti az avatarképet.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index a1e86c6..88fc4f1b 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -54,6 +54,13 @@
 <translation id="1049138910114524876"><ph name="PRODUCT_OS_NAME" /> のログイン画面に適用する言語 / 地域を設定します。
 
       このポリシーが設定されている場合、ログイン画面は常にこのポリシーの最初の値で指定されている言語 / 地域で表示されます(このポリシーは今後の互換性を確保するためにリスト形式で定義します)。このポリシーが未設定か空のリストに設定されている場合、ログイン画面は前回のユーザー セッションで使用された言語 / 地域で表示されます。このポリシーが無効な言語 / 地域の値に設定されている場合、ログイン画面は代替の言語 / 地域(現在は「en-US」)で表示されます。</translation>
+<translation id="1052499923181221200">SamlInSessionPasswordChangeEnabled が true に設定されていない場合、このポリシーは無視されます。
+      上記のポリシーが true に設定されている場合は、このポリシーをたとえば 14 に設定すると、SAML ユーザーに対して、各自のパスワードの有効期限が切れる 14 日前に通知が行われます。
+      これにより、ユーザーはすぐに対応することが可能になります。具体的には、セッション内でパスワードを変更し、有効期限が切れる前にパスワードを更新できます。
+      ただし、この通知は、パスワードの有効期限に関する情報が、SAML ログインフロー中に SAML ID プロバイダからデバイスに送信される場合にのみ表示されます。
+      このポリシーをゼロに設定した場合は、ユーザーに対して事前の通知は行われず、パスワードの有効期限が切れた後に 1 回のみ通知されます。
+
+      このポリシーを設定した場合、ユーザーはパスワードを変更したりオーバーライドしたりすることはできません。</translation>
 <translation id="1062011392452772310">デバイスのリモート認証を有効にする</translation>
 <translation id="1062407476771304334">置換</translation>
 <translation id="1079801999187584280">デベロッパー ツールの使用を禁止する</translation>
@@ -211,6 +218,7 @@
       このポリシーを有効に設定した場合、Google アシスタントは画面のコンテキストにアクセスできます。
       このポリシーを無効に設定した場合、Google アシスタントは画面のコンテキストにアクセスできません。
       このポリシーが未設定の場合は、Google アシスタントに画面のコンテキストへのアクセスを許可するかどうかをユーザーが指定できます。</translation>
+<translation id="1376119291123231789">詳細なバッテリー充電モードを有効にする</translation>
 <translation id="1383493480903114193">このポリシーでは、ネットワーク用のコードがブラウザ プロセスで実行されます。
 
       デフォルトでは、このポリシーは無効です。有効にした場合、ネットワーク プロセスがサンドボックス化されると、ユーザーはセキュリティの問題から保護されなくなります。
@@ -308,6 +316,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">第三者ソフトウェアからのコードの挿入をブロックする</translation>
 <translation id="1504431521196476721">リモート認証</translation>
+<translation id="1507382822467487898">
+          ホルダーがデバイスに装着されているときに使用される MAC(メディア アクセス制御)アドレスを設定します。
+
+          ホルダーが装着されているデバイスモデルによっては、イーサネット上のデバイスを識別するために、デバイスで指定されたホルダーの MAC アドレスがデフォルトで使用されます。このポリシーを使用すると、管理者はホルダー装着時の MAC アドレスのソースを変更できます。
+
+          「DeviceDockMacAddress」を選択するか、このポリシーを未設定のままにした場合、デバイスで指定されたホルダーの MAC アドレスが使用されます。
+
+          「DeviceNicMacAddress」を選択した場合は、デバイスの NIC(ネットワーク インターフェース コントローラ)MAC アドレスが使用されます。
+
+          「DockNicMacAddress」を選択した場合は、ホルダーの NIC MAC アドレスが使用されます。
+
+          ユーザーは、この設定を変更することはできません。</translation>
 <translation id="1507957856411744193">このポリシーが true に設定されている場合、<ph name="PRODUCT_NAME" /> は、RFC1918 と RFC4913 のプライベート アドレスだけでなくすべての IP アドレスのキャスト デバイスに接続します。
 
           このポリシーが false に設定されている場合、<ph name="PRODUCT_NAME" /> は、RFC1918 と RFC4913 のプライベート アドレスのキャスト デバイスにのみ接続します。
@@ -728,6 +748,17 @@
 <translation id="2303795211377219696">クレジット カードの自動入力を有効にする</translation>
 <translation id="2309390639296060546">デフォルトの位置情報設定</translation>
 <translation id="2327252517317514801">G Suite へのアクセスを許可するドメインを定義する</translation>
+<translation id="2356878440219553005">バッテリー充電モードの電力管理ポリシーを指定します。
+
+          バッテリー充電を動的に管理することで、バッテリー ストレスによる消耗を最小限に抑えてバッテリー寿命を延ばします。
+
+          カスタムのバッテリー充電モードを選択した場合は、DeviceBatteryChargeCustomStartCharging と DeviceBatteryChargeCustomStopCharging を指定する必要があります。
+
+          このポリシーを設定した場合、デバイスが対応していればバッテリー充電モードが適用されます。
+
+          このポリシーを未設定のままにした場合、デバイスがポリシーに対応していれば、標準のバッテリー充電モードが適用され、ユーザーは変更することができなくなります。
+
+          注: <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> が指定されている場合はこのポリシーより優先されます。</translation>
 <translation id="237494535617297575">通知表示を許可するサイトを指定する URL パターンのリストを設定できます。このポリシーが未設定の場合、グローバルのデフォルト値がすべてのサイトで使用されます。グローバルのデフォルト値は「DefaultNotificationsSetting」ポリシーの値か、この値が未設定の場合はユーザーの個人設定の値です。</translation>
 <translation id="2386362615870139244">ウェイクアップ画面のロックを許可する</translation>
 <translation id="2411817661175306360">パスワード保護について警告しない</translation>
@@ -763,6 +794,7 @@
 
       このポリシーが False に設定されている場合、ゼロ遅延の自動ログイン(設定されている場合)を回避することはできません。</translation>
 <translation id="2454228136871844693">安定性を重視します。</translation>
+<translation id="2463034609187171371">TLS の DHE 暗号スイートを有効にする</translation>
 <translation id="2463365186486772703">アプリケーションの言語/地域</translation>
 <translation id="2466131534462628618">キャプティブ ポータル認証でプロキシを無視する</translation>
 <translation id="2482676533225429905">ネイティブ メッセージング</translation>
@@ -934,6 +966,7 @@
 <translation id="2769952903507981510">リモート アクセス ホストの必須のドメイン名を設定する</translation>
 <translation id="2787173078141616821">Android のステータスに関する情報を報告する</translation>
 <translation id="2799297758492717491">メディアの自動再生を許可する URL パターンのホワイトリストを指定する</translation>
+<translation id="2801155097555584385">バッテリー充電のカスタムの充電開始設定(%)を行う</translation>
 <translation id="2801230735743888564">デバイスがオフラインのときに、ユーザーが恐竜のイースター エッグゲームをプレイすることを許可します。
 
       このポリシーを False に設定すると、ユーザーはデバイスがオフラインのときに恐竜のイースター エッグゲームをプレイできません。True に設定するとプレイできます。ポリシーが未設定の場合、登録されている Chrome OS ではプレイできませんが、他の環境ではプレイできます。</translation>
@@ -1007,6 +1040,7 @@
       この設定を無効にするか値を設定しなかった場合、印刷プレビューではデフォルトの出力先として最近使用したプリンタが使用されます。
 
       この設定を有効にした場合、印刷プレビューではデフォルトの出力先としてオペレーティング システムのデフォルト プリンタが使用されます。</translation>
+<translation id="285627849510728211">詳細なバッテリー充電モードの曜日の設定を行う</translation>
 <translation id="2856674246949497058">OS のバージョンが対象バージョンより新しい場合に、対象バージョンに戻してそのバージョンを維持します。このプロセスでは Powerwash が行われます。</translation>
 <translation id="2872961005593481000">終了</translation>
 <translation id="2873651257716068683">デフォルトの印刷ページサイズをオーバーライドします。ページサイズを使用できない場合、このポリシーは無視されます。</translation>
@@ -1138,12 +1172,26 @@
 <translation id="3072045631333522102">小売りモードでのログイン画面に使用するスクリーンセーバー</translation>
 <translation id="3072847235228302527">デバイスのローカル アカウントの利用規約を設定する</translation>
 <translation id="3077183141551274418">タブのライフサイクルを有効または無効にします</translation>
+<translation id="3079417254871857650">ユーザーのホーム ディレクトリが ecryptfs 暗号化で作成された場合に行う操作を指定します。
+
+      このポリシーを「DisallowArc」に設定した場合、Android アプリはユーザーに対して無効となり、ecryptfs 暗号化から ext4 暗号化への移行は行われません。ホーム ディレクトリがすでに ext4 で暗号化されている場合は、Android アプリの実行は禁止されません。
+
+      このポリシーを「Migrate」に設定した場合、ecryptfs で暗号化されたホーム ディレクトリは、ユーザーの同意を求めることなくログイン時に自動的に ext4 暗号化に移行されます。
+
+      このポリシーを「Wipe」に設定した場合、ecryptfs で暗号化されたホーム ディレクトリはログイン時に削除され、代わりに ext4 で暗号化された新しいホーム ディレクトリが作成されます。警告: 同時にユーザーのローカルデータも削除されます。
+
+      このポリシーを「MinimalMigrate」に設定した場合、ecryptfs で暗号化されたホーム ディレクトリはログイン時に削除され、代わりに ext4 で暗号化された新しいホーム ディレクトリが作成されます。ただしこの場合、ログイン トークンを保持するように動作します(これにより、ユーザーの再ログインが不要になります)。警告: 同時にユーザーのローカルデータも削除されます。
+
+      このポリシーを、サポートが終了した値(「AskUser」または「AskForEcryptfsArcUsers」)に設定した場合は、代わりに「Migrate」を指定したものとして処理されます。
+
+      このポリシーはキオスクのユーザーには適用されません。このポリシーを未設定のままにした場合、デバイスの動作は「DisallowArc」の場合と同じです。</translation>
 <translation id="3086995894968271156"><ph name="PRODUCT_NAME" /> で Cast Receiver を設定します。</translation>
 <translation id="3088796212846734853">画像の表示を許可するサイトの URL パターンリストを設定します。
 
           このポリシーが未設定の場合は、すべてのサイトでグローバルなデフォルト値(「DefaultImagesSetting」ポリシーで値が設定されている場合はその値、設定されていない場合はユーザーの個人設定の値)が使用されます。
 
           このポリシーは以前、Android で誤って有効になっていましたが、Android でこの機能がフルサポートされていたことはありません。</translation>
+<translation id="3091832372132789233">主に外部電源に接続しているデバイスのバッテリーを充電する。</translation>
 <translation id="3096595567015595053">有効なプラグインのリスト</translation>
 <translation id="3101501961102569744">プロキシ サーバー設定の指定方法を選択する</translation>
 <translation id="3101709781009526431">日時</translation>
@@ -1169,6 +1217,7 @@
           この設定が無効な場合、<ph name="PRODUCT_NAME" /> では、システムレベルでインストールされたネイティブ メッセージング ホストのみが使用されます。
 
           この設定が未設定の場合、<ph name="PRODUCT_NAME" /> では、ユーザーレベルのネイティブ メッセージング ホストを使用できます。</translation>
+<translation id="3177802893484440532">ローカルの信頼済みアンカーでオンラインの OCSP/CRL チェックを必須にする</translation>
 <translation id="3185009703220253572">バージョン <ph name="SINCE_VERSION" /> 以降</translation>
 <translation id="3187220842205194486">Android アプリは企業キーにアクセスできません。このポリシーは Android アプリには適用されません。</translation>
 <translation id="3205825995289802549">初回実行時に最初に表示されるブラウザ ウィンドウを最大化する</translation>
@@ -1178,6 +1227,7 @@
 <translation id="3220624000494482595">キオスクアプリが Android アプリの場合は、このポリシーを <ph name="TRUE" /> に設定しても、アプリによって <ph name="PRODUCT_OS_NAME" /> のバージョンを制御することはできません。</translation>
 <translation id="3236046242843493070">拡張機能、アプリ、ユーザー スクリプトのインストールを許可する URL パターン</translation>
 <translation id="3240609035816615922">プリンタの設定へのアクセス ポリシー</translation>
+<translation id="3240655340884151271">ホルダーの組み込みの NIC MAC アドレス</translation>
 <translation id="3243309373265599239">AC 電源での実行時に、ユーザー入力が行われなくなってから画面が暗くなるまでの時間を指定します。
 
           このポリシーをゼロより大きい値に設定した場合、値は <ph name="PRODUCT_OS_NAME" /> の画面が暗くなるまでのアイドル時間を表します。
@@ -1199,6 +1249,12 @@
       この設定が有効な場合または未設定の場合、ユーザーは Google アカウントでの認証によってクラウド プリント プロキシを有効にできます。
 
       この設定が無効な場合、ユーザーはプロキシを有効にできず、パソコンはプリンタを <ph name="CLOUD_PRINT_NAME" /> と共有できません。</translation>
+<translation id="3312206664202507568">chrome://password-change ページを有効にします。SAML ユーザーはこのページでセッション中に SAML パスワードを変更して、SAML パスワードとデバイスのロック画面のパスワードを常に同期できます。
+
+      さらに、このポリシーは、SAML パスワードの有効期限が近い SAML ユーザーへの警告通知も有効にします。これにより、ユーザーはすぐにセッション内でパスワードを変更して対応することが可能になります。
+      ただし、この通知は、パスワードの有効期限に関する情報が、SAML ログインフロー中に SAML ID プロバイダからデバイスに送信される場合にのみ表示されます。
+
+      このポリシーを設定した場合、ユーザーはパスワードを変更したりオーバーライドしたりすることはできません。</translation>
 <translation id="3322771899429619102">キー生成を使用できるサイトの URL パターンを登録します。URL パターンが「KeygenBlockedForUrls」にも含まれる場合、この例外ポリシーは無視されます。
 
           このポリシーが未設定の場合は、「DefaultKeygenSetting」ポリシー(設定されている場合)またはユーザー個人の設定で指定されているすべてのサイトに対し、共通の既定値が使用されます。</translation>
@@ -1284,6 +1340,7 @@
 
           このポリシーが false または未設定の場合、電源管理の遅延とセッションの時間制限の開始は、セッション開始直後に行われます。</translation>
 <translation id="3478024346823118645">ログアウト時にユーザー データを消去するかを指定する</translation>
+<translation id="3480961938508521469">標準速度でバッテリーをフル充電する。</translation>
 <translation id="348495353354674884">仮想キーボードを有効にする</translation>
 <translation id="3487623755010328395">
         このポリシーが設定されている場合、<ph name="PRODUCT_NAME" /> では自己登録が行われ、関連するクラウド ポリシーがすべてのプロフィールに適用されます。
@@ -1327,6 +1384,8 @@
 <translation id="3547954654003013442">プロキシ設定</translation>
 <translation id="355118380775352753">代替ブラウザで開くウェブサイト</translation>
 <translation id="3554984410014457319">Google アシスタントで音声サービスの起動ワードを有効にする</translation>
+<translation id="356579196325389849">ユーザーにより Chrome OS のリリース チャンネルが設定されることがあります</translation>
+<translation id="3575011234198230041">HTTP 認証</translation>
 <translation id="3577251398714997599">煩わしい広告を含むサイトでの広告表示に関する設定</translation>
 <translation id="357917253161699596">ユーザー証明書の管理をユーザーに許可する</translation>
 <translation id="3583230441447348508">事前設定のネットワーク ファイル共有のリストを指定します。
@@ -1357,6 +1416,7 @@
 
         このポリシーは、デスクトップ上のマシンスコープのクラウド ポリシー登録で使用され、Windows のレジストリまたは GPO、Mac の plist、Linux の JSON ポリシー ファイルで設定できます。</translation>
 <translation id="3660562134618097814">ログイン時に SAML IdP Cookie を転送する</translation>
+<translation id="3668151900457104753">ブラックリストに登録されている拡張機能をアンインストールする</translation>
 <translation id="3701121231485832347"><ph name="MS_AD_NAME" /> による管理対象の <ph name="PRODUCT_OS_NAME" /> デバイスに固有の設定を制御します。</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" />(1 行入力欄はサポートを終了し、今後削除する予定です。下の複数行入力欄を使用するようにしてください)。</translation>
 <translation id="3709266154059827597">拡張機能インストールのブラックリストを設定する</translation>
@@ -1438,6 +1498,16 @@
           このポリシーが未設定の場合は、画面キーボードは無効になりますが、ユーザーがいつでも有効にできます。</translation>
 <translation id="382476126209906314">リモート アクセス ホストに TalkGadget プレフィックスを設定する</translation>
 <translation id="3824972131618513497">電源管理と再起動に関連する設定を制御します。</translation>
+<translation id="3826475866868158882">Google 位置情報サービスの有効化</translation>
+<translation id="3831054243924627613">このポリシーでは、Android のバックアップと復元の初期状態を管理します。
+
+      このポリシーを設定していないか <ph name="BR_DISABLED" /> に設定した場合、Android のバックアップと復元は初期状態で無効になります。
+
+      このポリシーを <ph name="BR_ENABLED" /> に設定した場合、Android のバックアップと復元は初期状態で有効になります。
+
+      このポリシーを <ph name="BR_UNDER_USER_CONTROL" /> に設定した場合、ユーザーは Android のバックアップと復元を使用するかどうかを尋ねられます。ユーザーがバックアップと復元を有効にした場合は、Android アプリのデータが Android のバックアップ サーバーにアップロードされ、対応するアプリの再インストール時にバックアップ済みのデータがサーバーから復元されます。
+
+      なお、このポリシーでは、Android のバックアップと復元の初期設定時の状態のみを管理します。ユーザーは後から Android の設定を開いて、Android のバックアップと復元のオンとオフを切り替えることができます。</translation>
 <translation id="3831376478177535007">この設定が有効な場合、Symantec Corporation の古い PKI 処理により発行された証明書は、検証を通過して認識済み CA 証明書チェーンに追加されなかった場合でも、<ph name="PRODUCT_NAME" /> で信頼できるものとして扱われます。
 
       ただし、このポリシーを適用するには、オペレーティング システムで Symantec の古いインフラストラクチャの証明書が認識されることが前提となります。OS の更新によって OS でのこうした証明書の扱いが変更された場合、このポリシーは適用されません。また、このポリシーは古い Symantec 証明書からの移行が完了するまで一時的に使用されることを目的としたものであり、2019 年 1 月 1 日をめどに削除される予定です。
@@ -1519,6 +1589,15 @@
 
           未設定の場合、または False に設定されている場合、ユーザーは Google ドライブにファイルを転送できます。</translation>
 <translation id="3915395663995367577">プロキシ .pac ファイルへの URL</translation>
+<translation id="3920892052017026701">バッテリー充電のカスタムの充電開始設定(%)を行います。
+
+          バッテリーは、このバッテリー充電のカスタムの充電開始設定の値まで消費すると、充電を開始します。
+
+          DeviceBatteryChargeCustomStartCharging には DeviceBatteryChargeCustomStopCharging よりも少ない値を指定する必要があります。
+
+          このポリシーは、DeviceBatteryChargeMode がカスタムに設定されている場合にのみ使用されます。
+
+          このポリシーを設定していない場合は、標準のバッテリー充電モードが適用されます。</translation>
 <translation id="3925377537407648234">ディスプレイの解像度と倍率を設定する</translation>
 <translation id="3939893074578116847">オンライン ステータス監視のためにネットワーク パケットを管理サーバーに送信します。
       これにより、サーバーではデバイスがオフラインかどうかを検出できます。
@@ -1646,6 +1725,7 @@
 <translation id="4150201353443180367">表示</translation>
 <translation id="4157003184375321727">OS とファームウェアのバージョンを報告する</translation>
 <translation id="4157594634940419685">ネイティブの CUPS プリンタへのアクセスを許可する</translation>
+<translation id="4160962198980004898">ホルダー装着時のデバイスの MAC アドレスソース</translation>
 <translation id="4163705126749612234">リモート アクセス クライアントに適用する必須のクライアント ドメイン名を設定します。ユーザーはこの設定を変更できません。
 
           この設定が有効な場合、ホストに接続できるのは、指定されたいずれかのドメインのクライアントのみとなります。
@@ -1723,6 +1803,7 @@
       ポリシーでアプリ ID が指定されているからといって、必ずしもユーザーがそのアプリをロック画面でメモ作成アプリとして有効にできるとは限りません。たとえば Chrome 61 では、プラットフォームによって、利用可能なアプリに関する追加の制限が課されます。
 
       このポリシーが未設定のままの場合は、ユーザーがロック画面で有効にできるアプリに関して、ポリシーによる制限は課されません。</translation>
+<translation id="4313767483634435271">デバイスで指定されたホルダーの MAC アドレス</translation>
 <translation id="4322842393287974810">遅延なしで自動開始されるキオスクアプリから <ph name="PRODUCT_OS_NAME" /> のバージョンを制御できるようにする</translation>
 <translation id="4325690621216251241">システム トレイにログアウト ボタンを追加する</translation>
 <translation id="4332177773549877617">Android アプリのインストール中に発生したイベントを記録する</translation>
@@ -1754,6 +1835,7 @@
 <translation id="4360826270668210664">このポリシーが設定されている場合、リモート アクセス ホストは、認証するクライアントに対し、接続するにはこの URL から認証トークンを取得することを要求します。このポリシーは RemoteAccessHostTokenValidationUrl と一緒に使用してください。
 
           現在、この機能はサーバー側で無効になっています。</translation>
+<translation id="4363057787588706121">ソースの異なるリストポリシーの統合を許可する</translation>
 <translation id="436581050240847513">デバイスのネットワーク インターフェースを報告する</translation>
 <translation id="4372704773119750918">マルチプロフィール(プライマリまたはセカンダリ)への参加を企業ユーザーに許可しない</translation>
 <translation id="4377599627073874279">すべてのサイトに対してすべての画像表示を許可する</translation>
@@ -1919,6 +2001,7 @@
 <translation id="4826326557828204741">バッテリー電源での実行時、アイドル時間に到達したときに行う操作</translation>
 <translation id="4832852360828533362">ユーザーとデバイスに関するレポートの送信</translation>
 <translation id="4834526953114077364">十分な空き容量に達するまで、3 か月以内にログインしていないユーザーを順に削除する</translation>
+<translation id="4835622243021053389">NTLMv2 認証を有効にする。</translation>
 <translation id="4858735034935305895">全画面モードを許可する</translation>
 <translation id="4861767323695239729">ユーザー セッションで許可する入力方法を設定します</translation>
 <translation id="487460824085252184">ユーザーの同意を求めずに自動的に移行する</translation>
@@ -2031,6 +2114,11 @@
 
       <ph name="URL_LIST_POLICY_NAME" /> とは異なり、ルールは双方向に適用されます。つまり、Internet Explorer のアドインが存在し、有効になっている場合は、<ph name="IE_PRODUCT_NAME" /> でこれらの URL を開くときに <ph name="PRODUCT_NAME" /> を使用するかどうかもこのポリシーで制御されます。</translation>
 <translation id="5124368997194894978">AC(交流電流)電源接続時の起動を有効にします</translation>
+<translation id="5131211790949066746">拡張機能インストール リスト ポリシー <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />、<ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" />、<ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> を統合できるようにします。
+
+      この設定を有効にした場合は、マシン プラットフォーム ポリシー、マシン クラウド ポリシー、ユーザー プラットフォーム ポリシーの値が 1 つのリストに統合されます。優先度の最も高いソースを 1 つ選んでその値を使用する代わりに、統合されたリストがひとまとまりに使用されるようになります。
+
+      この設定を無効にするか未設定のままにした場合は、優先度の最も高いソースのリストエントリのみが使用されます。その他すべてのソースは競合するものとして表示されますが、無視されます。</translation>
 <translation id="5141670636904227950">ログイン画面で有効にする画面拡大鏡のデフォルトのタイプを設定する</translation>
 <translation id="5142301680741828703"><ph name="PRODUCT_FRAME_NAME" /> で次の URL パターンを常に表示する</translation>
 <translation id="5148753489738115745"><ph name="PRODUCT_FRAME_NAME" /> により <ph name="PRODUCT_NAME" /> が起動される際に使用される追加パラメータを指定することができます。
@@ -2139,6 +2227,7 @@
 
       ポリシーが未設定の場合、または空の文字列や無効なポートの範囲が設定されている場合は、WebRTC は使用可能なローカルの UDP ポートを使用することができます。</translation>
 <translation id="5290940294294002042">ユーザーが有効または無効にできるプラグインのリストを指定する</translation>
+<translation id="5306186200045823863">Symantec Corporation の古い PKI インフラストラクチャを信頼する</translation>
 <translation id="5307432759655324440">シークレット モードが利用可能かどうかを設定する</translation>
 <translation id="5318185076587284965">リモート アクセス ホストで中継サーバーを使用できるようにする</translation>
 <translation id="5323128137188992869"><ph name="PRODUCT_NAME" /> を使用してデバイスにコンテンツをキャストすることを許可します。
@@ -2230,6 +2319,7 @@
       複数のルールが相反する場合、<ph name="PRODUCT_NAME" /> では最も限定的なルールが使用されます。</translation>
 <translation id="5475361623548884387">印刷を有効にする</translation>
 <translation id="547601067149622666">煩わしい広告を含むサイトで広告の表示を許可しない</translation>
+<translation id="5483065054530244863">ローカルの信頼済みアンカーが発行した SHA-1 署名証明書を許可する</translation>
 <translation id="5483777239978559943">このポリシーはサポートを終了しました。Flash プラグインを使用できるかどうかを管理するには <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> を使用してください。また、PDF ファイルを開く際に組み込みの PDF ビューアを使用するかどうかを管理するには <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> を使用してください。
 
       <ph name="PRODUCT_NAME" /> でユーザーが有効、無効に設定できるプラグインのリストを指定します。
@@ -2346,6 +2436,17 @@
           このポリシーが有効または未設定の場合、ユーザーはパスワード マネージャでパスワードを平文表示できます。</translation>
 <translation id="5620392548325769024">OS のアップグレード後に初めてブラウザを起動したときのウェルカム ページの表示を有効にする</translation>
 <translation id="5630352020869108293">最後のセッションを復元する</translation>
+<translation id="5643906875497889108">インストールを許可するアプリや拡張機能のタイプを指定し、ランタイム アクセスを制限します。
+
+          この設定では、<ph name="PRODUCT_NAME" /> にインストールできる拡張機能やアプリのタイプと、その通信先のホストをホワイトリスト登録します。値は文字列のリストで、各項目は「extension」、「theme」、「user_script」、「hosted_app」、「legacy_packaged_app」、「platform_app」のいずれかとなります。これらのタイプについて詳しくは、<ph name="PRODUCT_NAME" /> 拡張機能のドキュメントをご覧ください。
+
+          このポリシーは、ExtensionInstallForcelist で指定された、強制インストールされる拡張機能やアプリにも影響します。
+
+          この設定を指定した場合、リストにないタイプの拡張機能やアプリはインストールされません。
+
+          この設定が未指定の場合、インストールできる拡張機能やアプリのタイプに関して制限は適用されません。
+
+          複数の拡張機能 ID をカンマで区切って指定している 75 より前のバージョンについてはサポートされておらず、スキップされます。ポリシーのその他の部分については、引き続き適用されます。</translation>
 <translation id="5645779841392247734">これらのサイトの Cookie を許可する</translation>
 <translation id="5689430183304951538">デフォルトの印刷ページサイズ</translation>
 <translation id="5693469654327063861">データ移行を許可する</translation>
@@ -2385,6 +2486,7 @@
 <translation id="5765780083710877561">説明:</translation>
 <translation id="5770738360657678870">Dev チャンネル(不安定な場合があります)</translation>
 <translation id="5774856474228476867">デフォルトの検索プロバイダの検索 URL</translation>
+<translation id="5775235485119094648">残量が一定の範囲内の場合にバッテリーを充電する。</translation>
 <translation id="5776485039795852974">サイトでデスクトップ通知が表示される前に毎回確認する</translation>
 <translation id="5781412041848781654">HTTP 認証で使用する GSSAPI ライブラリを指定します。ライブラリ名のみやフルパスを指定できます。
 
@@ -2446,6 +2548,7 @@
 <translation id="5893553533827140852">この設定が有効になっている場合、gnubby 認証リクエストはリモート ホスト接続でプロキシ送信されます。
 
           この設定が無効になっているか設定されていない場合、gnubby 認証リクエストはプロキシ送信されません。</translation>
+<translation id="5897913798715600338">急速充電技術を使ってバッテリーを充電する。</translation>
 <translation id="5898486742390981550">複数のユーザーがログインしている場合は、メインユーザーのみが Android アプリを使用できます。</translation>
 <translation id="5900196529149231477">
       このポリシーはログイン画面に適用されます。ユーザー セッションに適用される <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> ポリシーもご覧になり、両方のポリシーを同じ値に設定することをおすすめします。値が一致しない場合、ユーザー セッションの開始時にはユーザー ポリシーで指定された値が適用されますが、その際に遅延が生じる可能性があります。
@@ -2454,12 +2557,14 @@
       このポリシーが未設定の場合、ログイン画面ではプラットフォームのデフォルトのサイト分離設定が使用されます。
       </translation>
 <translation id="5901427587865226597">両面印刷のみ</translation>
+<translation id="5905473632148429217">オンライン OCSP/CRL チェックを有効にする</translation>
 <translation id="5906199912611534122">ネットワーク制限を有効または無効にします。
       この設定は、すべてのユーザーと、デバイスのすべてのインターフェースに適用されます。
       制限を有効に設定した場合、制限の適用を解除するには、ポリシーを変更して制限を無効にする必要があります。
 
       このポリシーを false に設定した場合、制限は適用されません。
       このポリシーを true に設定した場合は、指定した送受信速度(キロビット / 秒)を超えないようにシステムに制限が適用されます。</translation>
+<translation id="591088232153082363">バッテリー使用状況のパターンに基づいてバッテリー充電を自動調整する。</translation>
 <translation id="5921713479449475707">HTTP 経由での自動更新ダウンロードを許可する</translation>
 <translation id="5921888683953999946">ログイン画面でのユーザー補助機能「大きいカーソル」のデフォルト状態を設定します。
 
@@ -2481,6 +2586,7 @@
 <translation id="5950205771952201658">オンラインによる証明書取り消しの確認が Soft Fail の場合、セキュリティ上特段の効果がないという点を考慮し、<ph name="PRODUCT_NAME" /> バージョン 19 以降ではデフォルトで無効になっています。このポリシーを true に設定すると、前回の動作を復元し、オンライン OCSP / CRL チェックを実行します。
 
       このポリシーが未設定または false に設定された場合、<ph name="PRODUCT_NAME" /> はオンラインによる証明書取り消しの確認を行いません(<ph name="PRODUCT_NAME" /> 19 以降)。</translation>
+<translation id="5961137303188584693">デバイスの組み込みの NIC MAC アドレス</translation>
 <translation id="5966615072639944554">Remote Attestation API の使用が許可されている拡張機能</translation>
 <translation id="5983708779415553259">どのコンテンツ パックにもないサイトに対するデフォルトの動作</translation>
 <translation id="5997543603646547632">デフォルトで 24 時間表示を使用</translation>
@@ -2571,6 +2677,17 @@
 <translation id="6111936128861357925">恐竜のイースター エッグゲームを許可する</translation>
 <translation id="6114416803310251055">廃止予定</translation>
 <translation id="6133088669883929098">すべてのサイトにキー生成の使用を許可する</translation>
+<translation id="6136537398661737682">このポリシーでは、Google 位置情報サービスの初期状態を管理します。
+
+      このポリシーを設定していないか <ph name="GLS_DISABLED" /> に設定した場合、Google 位置情報サービスは初期状態で無効になります。
+
+      このポリシーを <ph name="GLS_ENABLED" /> に設定した場合、Google 位置情報サービスは初期状態で有効になります。
+
+      このポリシーを <ph name="GLS_UNDER_USER_CONTROL" /> に設定した場合、ユーザーは Google 位置情報サービスを使用するかどうかを尋ねられます。ユーザーが Google 位置情報サービスを有効にした場合、Android アプリではこのサービスを使ってデバイスの位置情報を照会できるようになります。また、Google への匿名の位置情報の送信が許可されます。
+
+      なお、このポリシーでは、Google 位置情報サービスの初期設定時の状態のみを管理します。ユーザーは後から Android の設定を開いて、Google 位置情報サービスのオンとオフを切り替えることができます。
+
+      <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> ポリシーが <ph name="BLOCK_GEOLOCATION_SETTING" /> に設定されている場合、このポリシーは無視され、Google 位置情報サービスは常に無効になります。</translation>
 <translation id="6141402445226505817">常に IP のみに基づいてタイムゾーンを検出する</translation>
 <translation id="6145799962557135888">JavaScript の実行を許可するサイトを指定する URL パターンのリストを設定できます。このポリシーが未設定の場合、グローバルのデフォルト値がすべてのサイトで使用されます。グローバルのデフォルト値は「DefaultJavaScriptSetting」ポリシーの値か、この値が未設定の場合はユーザーの個人設定の値です。</translation>
 <translation id="614662973812186053">このポリシーでは Android の使用状況と診断データの収集も管理できます。</translation>
@@ -2643,9 +2760,17 @@
       無効にすると、自動入力フォームのデータは読み込まれません。
 
       未設定の場合は、読み込むかどうかの指定が求められるか、自動的に読み込まれます。</translation>
+<translation id="6221175752766085998">ローカルの信頼済みアンカーが発行した、subjectAlternativeName 拡張がない証明書を許可する</translation>
 <translation id="6224304369267200483">直接のセキュリティ キー認証を自動的に許可する URL またはドメイン</translation>
 <translation id="6233173491898450179">ダウンロード ディレクトリを設定する</translation>
 <translation id="6244210204546589761">起動時に開く URL</translation>
+<translation id="6255387031094435995">選択したポリシーのソースが異なる場合に、ポリシーを同じスコープとレベルで統合できるようにします。
+
+        ポリシーがリストにあり、2 つのソース間で矛盾がある場合は、それらが同じスコープとレベルであると仮定し、新しいポリシーリストに値が統合されます。
+
+        ポリシーがリストにあり、2 つのソース間だけでなく異なるスコープやレベル間でも矛盾がある場合は、優先度の最も高いポリシーが適用されます。
+
+        ポリシーがリストになく、ソース、スコープ、レベル間で矛盾がある場合も、優先度の最も高いポリシーが適用されます。</translation>
 <translation id="6258193603492867656">生成した Kerberos SPN に非標準ポートを含めるべきかどうかを指定します。この設定を有効にすると、非標準ポート(80 と 443 以外のポート)が入力され、生成された Kerberos SPN にそのポートが追加されます。この設定を無効にするか未設定の場合、生成された Kerberos SPN にポートが追加されることはありません。</translation>
 <translation id="6261643884958898336">マシン識別情報に関するレポートを作成</translation>
 <translation id="6281043242780654992">ネイティブ メッセージングのポリシーを設定します。ブラックリストに登録されたネイティブ メッセージング ホストは、ホワイトリストに登録されていない限り読み込みできません。</translation>
@@ -2841,6 +2966,7 @@
 <translation id="6757438632136860443"><ph name="FLASH_PLUGIN_NAME" /> プラグインの実行を許可するサイトを表す URL パターンのリストを設定します。
 
           このポリシーが未設定の場合は、すべてのサイトでグローバルなデフォルト値(「DefaultPluginsSetting」ポリシーで値が設定されている場合はその値、設定されていない場合はユーザーの個人設定の値)が使用されます。</translation>
+<translation id="6757613329154374267">バックアップと復元が有効</translation>
 <translation id="6762235610019366960"><ph name="PRODUCT_NAME" /> のタブ全体にプロモーション コンテンツや教育用コンテンツを表示するかどうかを制御します。
 
       このポリシーが未設定であるか有効(true)に設定されている場合は、<ph name="PRODUCT_NAME" /> のタブ全体に、サービスに関する情報をユーザーに提供するためのコンテンツが表示されることがあります。
@@ -2863,6 +2989,7 @@
       この文字列には変数 ${ASSET_ID}、${SERIAL_NUM}、${MAC_ADDR}、${MACHINE_NAME} を含めることができます。文字列がホスト名として使用される前に、これらの変数はデバイスの値に置き換えられます。変数の解決後の名前は、RFC 1035 の 3.1 項に準拠した有効なホスト名となる必要があります。
 
       このポリシーが設定されていないか、変数の解決後の名前が有効なホスト名ではない場合、DHCP リクエストにはホスト名は設定されません。 </translation>
+<translation id="6833988859168635883">起動ページ、ホームページ、新しいタブページ</translation>
 <translation id="6835883744948188639">再起動が推奨されることを示すメッセージをユーザーに繰り返し表示する</translation>
 <translation id="6837480141980366278">組み込みの DNS クライアントを <ph name="PRODUCT_NAME" /> で使用するかどうかを管理します。
 
@@ -2974,6 +3101,17 @@
 
       スマート消灯モデルでは、画面が暗くなる時間が近づいたときに時間を延長するかどうかが判定され、延長する場合は最適な時間に調整されます。この場合、画面オフ、画面ロック、アイドル判定までの時間も、最初の指定と同じ間隔で調整されます。
       このポリシーが True に設定されているか未設定の場合は、スマート消灯モデルが有効になり、画面が暗くなるまでの時間が必要に応じて延長されるようになります。このポリシーが False に設定されている場合は、画面が暗くなるまでの時間がスマート消灯モデルによって変更されることはありません。</translation>
+<translation id="6967394885063085697">詳細なバッテリー充電モードの電力管理ポリシーを有効にします。
+
+          ユーザーは、詳細なバッテリー充電モードを使ってバッテリーを最適な状態にすることができます。詳細な充電モードでは、システムは、ユーザーが使用していない間、標準の充電アルゴリズムや他の技術を活用してバッテリーを最適な状態にします。ユーザーが使用している間は、急速充電が行われます。急速充電により、より短時間でバッテリーをフル充電できます。曜日ごとに、システムの使用頻度が最も高くなる時間帯を開始時間とその継続時間で指定します。
+
+          このポリシーを true に設定していて、DeviceAdvancedBatteryChargeModeDayConfig が設定されている場合、詳細なバッテリー充電モードに対応しているデバイスではこのモードが常に有効になります。
+
+          このポリシーを false に設定した場合、詳細なバッテリー充電モードは常に無効になります。
+
+          このポリシーを設定した場合、ユーザーは変更したりオーバーライドしたりすることはできません。
+
+          このポリシーを未設定のままにした場合、詳細なバッテリー充電モードは無効となり、ユーザーが有効にすることはできません。</translation>
 <translation id="6972540544240464302">タスク スケジューラ設定を選択します</translation>
 <translation id="6979158407327259162">Google ドライブ</translation>
 <translation id="6994082778848658360">搭載されているセキュア エレメント ハードウェアが 2 段階認証プロセスに対応している場合に、このプロセスを適用するためにハードウェアをどのように使用できるかを指定します。ユーザーの所在地を検出するには本体の電源ボタンを使用します。
@@ -3039,6 +3177,17 @@
       この設定を有効または無効にした場合、ユーザーは設定内容を変更したり他の設定を優先させたりすることはできません。
 
       このポリシーが未設定の場合、ユーザーはデバイスのロックを解除する際にパスワードを確認するかどうかを選択できます。</translation>
+<translation id="7107148737865880402">USB 電力共有の電力管理ポリシーを有効にします。
+
+          特定のデバイスでは、稲妻のマークやバッテリー アイコンが付いた USB ポートを搭載しており、このポートを使ってシステムのバッテリーからスマートフォンなどのデバイスを充電することができます。このポリシーは、システムがスリープモードまたはシャットダウン モード時の、このポートの充電動作に作用します。他の USB ポートや、システムがスリープモードから復帰しているときの充電動作には作用しません。
+
+          システムがスリープモードから復帰している場合、この USB ポートは常に電力を供給します。
+
+          システムがスリープモードの場合は、このポリシーを true に設定していて、デバイスがコンセントに接続されているかバッテリー残量が 50% を上回っていれば、この USB ポートに電力が供給されます。それ以外の場合、電力は供給されません。
+
+          システムがシャットダウン モードの場合は、このポリシーを true に設定していて、デバイスがコンセントに接続されていれば、この USB ポートに電力が供給されます。それ以外の場合、電力は供給されません。
+
+          このポリシーを未設定のままにした場合、ポリシーは有効となり、ユーザーが無効にすることはできません。</translation>
 <translation id="7115494316187648452"><ph name="PRODUCT_NAME" /> プロセスが OS ログインで開始してから最後のブラウザ ウィンドウが閉じるまで動作し続けているかどうかを判断し、バックグラウンド アプリや現在のブラウジング セッション(セッション Cookie を含む)がアクティブな状態を維持できるようにします。
 
       このポリシーを True に設定すると、バックグラウンド モードが有効になります。ユーザーがブラウザ設定で変更することはできません。
@@ -3088,6 +3237,7 @@
           このポリシーが true に設定されているか未設定の場合、AllowWakeLocks が false に設定されていなければ、電源管理で画面の起動ロックが有効となります。
 
           このポリシーが false に設定されている場合、画面の起動ロックのリクエストはシステムの起動ロックのリクエストに引き下げられます。</translation>
+<translation id="7177857088692019405">ロックのクイック解除</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">更新で許可される接続タイプ</translation>
 <translation id="7194407337890404814">デフォルトの検索プロバイダ名</translation>
@@ -3151,6 +3301,7 @@
 <translation id="7273823081800296768">この設定が有効または設定されていない場合、ユーザーは接続時にクライアントとホストをペア設定するよう選択できます。そうすると、毎回 PIN を入力する手間が省けます。
 
           この設定が無効な場合、この機能は利用できません。</translation>
+<translation id="7274077256421167535">USB 電力共有を有効にする</translation>
 <translation id="7275334191706090484">管理対象のブックマーク</translation>
 <translation id="7291084543582732020">この設定を有効にした場合、ユーザーは Smart Lock の要件を満たしていれば Smart Lock を使用できます。
 
@@ -3164,6 +3315,7 @@
 
           このポリシーは「DefaultSearchProviderEnabled」ポリシーが有効な場合のみ適用されます。</translation>
 <translation id="7302043767260300182">画面がロックされるまでの時間(AC 電源での実行時)</translation>
+<translation id="7305262223970835999">SAML ユーザーに対して、セッション内でのパスワードの変更用のページを有効にする。</translation>
 <translation id="7311458740754205918">このオプションが true に設定されているか、未設定の場合、[新しいタブ] ページには、ユーザーの閲覧履歴、興味・関心、場所に応じておすすめのコンテンツが表示されます。
 
       このオプションが false に設定されている場合、自動生成のおすすめのコンテンツは [新しいタブ] ページに表示されません。</translation>
@@ -3286,6 +3438,15 @@
       このポリシーの値が 0 の場合は、デフォルトのキャッシュ サイズが使用されます。ユーザーはこの値を変更できません。
 
       このポリシーが未設定の場合は、デフォルトのサイズが使用されます。ユーザーは --disk-cache-size フラグを使用してこの値をオーバーライドできます。</translation>
+<translation id="759389052790680884">バッテリー充電のカスタムの充電停止設定(%)を行います。
+
+          バッテリーは、このバッテリー充電のカスタムの充電停止設定の値に達すると、充電を停止します。
+
+          DeviceBatteryChargeCustomStartCharging には DeviceBatteryChargeCustomStopCharging よりも少ない値を指定する必要があります。
+
+          このポリシーは、DeviceBatteryChargeMode がカスタムに設定されている場合にのみ使用されます。
+
+          このポリシーを設定していない場合は、標準のバッテリー充電モードが適用されます。</translation>
 <translation id="759957074386651883">セーフ ブラウジングの設定</translation>
 <translation id="7604169113182304895">このリストを使用するかどうかは Android アプリ側の選択となります。Android アプリにリストの使用を強制することはできません。</translation>
 <translation id="7612157962821894603"><ph name="PRODUCT_NAME" /> 起動時にシステム全体のフラグを適用</translation>
@@ -3353,6 +3514,15 @@
 <translation id="7712109699186360774">カメラやマイクへのアクセスをサイトが要求するたびに確認する</translation>
 <translation id="7713608076604149344">ダウンロードの制限</translation>
 <translation id="7715711044277116530">プレゼンテーション モードで画面を暗くするまでの時間に掛ける倍率</translation>
+<translation id="7716781462866245042">詳細なバッテリー充電モードの曜日の設定を行います。
+
+          このポリシーは、DeviceAdvancedBatteryChargeModeEnabled を true に設定している場合にのみ使用されます。
+
+          このポリシーを設定していない場合、詳細なバッテリー充電モードは常に無効になります。
+
+          注: <ph name="CHARGE_START_TIME_FIELD_NAME" /> には、<ph name="CHARGE_END_TIME_FIELD_NAME" /> よりも前の時間を指定してください。
+
+          注: <ph name="CHARGE_START_TIME_FIELD_NAME" /> と <ph name="CHARGE_END_TIME_FIELD_NAME" /> の <ph name="MINUTE_FIELD_NAME" /> フィールドで指定できる値は 0、15、30、45 です。</translation>
 <translation id="7717938661004793600"><ph name="PRODUCT_OS_NAME" /> のユーザー補助機能を設定します。</translation>
 <translation id="7724994675283793633">このポリシーは、80(HTTP)と 443(HTTPS)以外のポートで HTTP/0.9 を有効にするかどうかを指定するものです。
 
@@ -3426,6 +3596,7 @@
       ログイン画面のスクリーンセーバーとして使用する拡張機能の ID を指定します。拡張機能は、DeviceAppPack ポリシーを使用してこのドメインに設定されている AppPack のものである必要があります。</translation>
 <translation id="7882857838942884046">Google Sync を無効にすると、Android のバックアップと復旧が適切に機能しなくなります。</translation>
 <translation id="7882890448959833986">サポート外の OS の警告を表示しない</translation>
+<translation id="7895553628261067384">リモート アクセス</translation>
 <translation id="7902255855035461275">このリストに指定されているパターンが、リクエスト元 URL の
       セキュリティ オリジンと照合されます。一致するものが見つかった場合は、
       動画キャプチャ デバイスへのアクセスが許可されます。その際、確認のメッセージは表示されません。
@@ -3439,6 +3610,11 @@
 <translation id="7937491150792971922">複数のソースの拡張機能インストール リスト ポリシーを統合する</translation>
 <translation id="7937766917976512374">動画キャプチャを許可または拒否する</translation>
 <translation id="7941975817681987555">ネットワーク接続でネットワーク動作を予測しない</translation>
+<translation id="7952007677054834789"><ph name="PRODUCT_NAME" /> の起動時に読み込むページ、デフォルトのホームページ、デフォルトの新しいタブページを設定し、ユーザーがこの設定を変更できないようにします。
+
+      ホームページに新しいタブページを選択するか、URL を選択してホームページ URL を指定すると、ユーザーのホームページ設定は完全にロックされます。ホームページ URL を指定しない場合は、ユーザーが「chrome://newtab」を指定してホームページに新しいタブ ページを設定することができます。
+
+      [起動時の操作] で [URL のリストを開く] を選択していない場合、「起動時に開く URL」ポリシーは無視されます。</translation>
 <translation id="7952958573604504839">このポリシーは M48 でサポートを終了し、M54 で削除されます。代わりに <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> が使用されます。
 
       <ph name="PRODUCT_NAME" /> でネットワーク予測を有効にします。ユーザーはこの設定を変更できません。
@@ -3577,6 +3753,7 @@
 <translation id="8176035528522326671">企業ユーザーがメインのマルチプロフィール ユーザーとしてのみ操作できるようにする(企業の管理対象ユーザーに対するデフォルトの動作)</translation>
 <translation id="8214600119442850823">パスワード マネージャを設定します。</translation>
 <translation id="8217516105848565518">このポリシーはサポートを終了しました。代わりに RemoteAccessHostDomainList を使用してください。</translation>
+<translation id="8244171102276095471">TLS の RC4 暗号スイートを有効にする</translation>
 <translation id="8244525275280476362">ポリシーの失効から取得までの最大時間</translation>
 <translation id="8256688113167012935">対応するデバイスのローカル アカウントに対し、ログイン画面でアカウント名 <ph name="PRODUCT_OS_NAME" /> を表示するかどうかを指定します。
 
@@ -3616,6 +3793,7 @@
 <translation id="8312129124898414409">ウェブサイトがキー生成を使用できるかどうかを設定します。すべてのサイトを対象に、キー生成の使用を許可または禁止できます。
 
           このポリシーが未設定の場合は「BlockKeygen」が使用されます。ユーザーはこの設定を変更できます。</translation>
+<translation id="8320149248919453401">バッテリー充電モード</translation>
 <translation id="8329984337216493753">このポリシーは小売りモードでのみアクティブになります。
 
       DeviceIdleLogoutTimeout が指定されている場合、このポリシーは、カウントダウン タイマー付き警告ボックスがユーザーに表示されてからログアウトが実行されるまでの時間を定義します。
@@ -3781,6 +3959,7 @@
       このポリシーが設定されていない場合、デフォルトの期間として <ph name="PRODUCT_OS_NAME" /> デバイスでは 345600000 ミリ秒 (4 日間)、<ph name="PRODUCT_NAME" /> では 604800000 ミリ秒(1 週間)が使用されます。</translation>
 <translation id="8685024486845674965">パスワードが再使用されたときに、パスワード保護について警告する</translation>
 <translation id="8693243869659262736">組み込みの DNS クライアントを使用する</translation>
+<translation id="8698286761337647563">パスワードの期限切れを SAML ユーザーに通知する際の事前通知日数</translation>
 <translation id="8703488928438047864">ボードの状態を報告する</translation>
 <translation id="8703872185032220081">電力ピークシフトの曜日の設定を指定します。
 
@@ -3825,6 +4004,7 @@
       この設定が無効または未設定の場合、ユーザーはパスワード保護サービスによって https://myaccounts.google.com にリダイレクトされ、パスワードの変更を促されます。
       このポリシーは、<ph name="MS_AD_NAME" /> ドメインに追加した Windows インスタンス、またはデバイスの管理対象として登録した Windows 10 Pro あるいは Enterprise インスタンスでのみ使用できます。</translation>
 <translation id="8798099450830957504">既定</translation>
+<translation id="8800453707696044281">バッテリー充電のカスタムの充電停止設定(%)を行う</translation>
 <translation id="8801680448782904838">ブラウザまたはデバイスの再起動が推奨されるか必要であることをユーザーに通知する</translation>
 <translation id="8818173863808665831">デバイスの地理的位置をレポートします。
 
@@ -3951,6 +4131,11 @@
       このポリシーは、SAML を使用して認証を行ったユーザーにのみ適用されます。
 
       ポリシーの値は秒単位で指定します。</translation>
+<translation id="9018338365267278833"><ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> にある拡張機能や <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> にある拡張機能のうちインストール モードが「blocked」に設定されているものを削除し、付随するローカル ユーザーデータも完全に削除します。ローカルに保存されていないユーザーデータの扱いについては、拡張機能に関するプライバシー ポリシーやデータ保持ポリシーをご覧ください。
+
+      このポリシーを有効に設定した場合、上記のリストにある拡張機能(マシンにインストール済みの場合)がマシンから完全に(ローカル ユーザーデータも含め)削除されます。
+
+      このポリシーを無効に設定するか未設定のままにした場合、上記のリストにある拡張機能(マシンにインストール済みで、かつブラックリスト <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> に登録されている場合)はマシン上で無効となり、アンインストールは行われません。</translation>
 <translation id="9027787254195333560">このポリシーでは、ログイン画面でユーザーを表すアバター画像を設定できます。このポリシーを設定するには、<ph name="PRODUCT_OS_NAME" /> によるアバター画像のダウンロード元の URL と、ダウンロードの整合性の確認に使用する暗号化ハッシュを指定します。画像は JPEG 形式で、サイズは 512 KB 以下である必要があります。URL には認証なしでアクセスできる必要があります。
 
       アバター画像はダウンロードされ、キャッシュに保存されます。URL またはハッシュが変更された場合は常に再ダウンロードされます。
diff --git a/components/policy/resources/policy_templates_lv.xtb b/components/policy/resources/policy_templates_lv.xtb
index 5e48039..e9d8b71 100644
--- a/components/policy/resources/policy_templates_lv.xtb
+++ b/components/policy/resources/policy_templates_lv.xtb
@@ -54,6 +54,13 @@
 <translation id="1049138910114524876">Tiek konfigurēta lokalizācija, kas piespiedu kārtā tiek izmantota <ph name="PRODUCT_OS_NAME" /> pierakstīšanās ekrānā.
 
       Ja šī politika ir iestatīta, pierakstīšanās ekrāns vienmēr tiks rādīts tajā lokalizācijā, kura atbilst šīs politikas pirmajai vērtībai (politika ir definēta kā pārsūtīšanas saderības saraksts). Ja šī politika nav iestatīta vai tai ir iestatīts tukšs saraksts, pierakstīšanās ekrāns tiks rādīts pēdējā lietotāja sesijas lokalizācijā. Ja šai politikai ir iestatīta vērtība, kas nav derīga lokalizācija, pierakstīšanās ekrāns tiks rādīts atkāpšanās lokalizācijā (pašlaik: en-US).</translation>
+<translation id="1052499923181221200">Šī politika neko neietekmē, ja politikai SamlInSessionPasswordChangeEnabled ir iestatīta vērtība “true”.
+      Ja šīs politikas vērtība ir “true” un tai ir iestatīts, piemēram, skaitlis 14, tas nozīmē, ka SAML lietotājiem tiks paziņots 14 dienas iepriekš par to, ka viņu parolei beidzas derīguma termiņš noteiktā datumā.
+      Tādējādi lietotāji var to nekavējoties novērst, veicot paroles maiņu sesijas laikā un atjauninot savu paroli, pirms tai beidzas derīguma termiņš.
+      Taču šie paziņojumi tiks parādīti tikai tad, ja SAML identitātes nodrošinātājs SAML pieteikšanās plūsmas laikā uz ierīci nosūtīs informāciju par paroles derīguma termiņu.
+      Šīs politikas iestatīšana uz nulli nozīmē, ka lietotāji netiks iepriekš brīdināti — viņi tiks informēti tikai tad, kad paroles derīguma termiņš jau būs beidzies.
+
+      Ja šī politika ir iestatīta, lietotājs nevar to mainīt vai ignorēt.</translation>
 <translation id="1062011392452772310">Iespējot ierīces attālu apstiprināšanu</translation>
 <translation id="1062407476771304334">Aizstāt</translation>
 <translation id="1079801999187584280">Neatļaut izstrādātāju rīku lietošanu</translation>
@@ -202,6 +209,7 @@
       Ja politika ir iespējota, Google asistents varēs piekļūt ekrāna kontekstam.
       Ja politika ir atspējota, Google asistents nevarēs piekļūt ekrāna kontekstam.
       Ja politika nav iestatīta, lietotāji var izlemt, vai atļaut Google asistentam piekļūt ekrāna kontekstam vai nē</translation>
+<translation id="1376119291123231789">Iespējot uzlabotās akumulatora uzlādes režīmu</translation>
 <translation id="1383493480903114193">Šī politika liek tīkla kodam darboties pārlūka procesā.
 
       Pēc noklusējuma šī politika ir atspējota, un, ja tā tiek iespējota, lietotāju drošība ir apdraudēta, tiklīdz tīkla process tiek iekļauts smilškastē.
@@ -302,6 +310,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Trešās puses programmatūras ievietošanas bloķēšanas iespējošana</translation>
 <translation id="1504431521196476721">Attālinātā apstiprināšana</translation>
+<translation id="1507382822467487898">
+          Konfigurē, kura multivides piekļuves kontroles (MAC — media access control) adrese tiek izmantota, kad doks ir savienots ar ierīci.
+
+          Ja doks ir savienots ar konkrētiem ierīču modeļiem, ierīcei paredzētā doka MAC adrese tiek izmantota, lai pēc noklusējuma identificētu ierīci Ethernet tīklā. Šī politika ļauj administratoram mainīt MAC adreses avotu, kad ierīce ir dokota.
+
+          Ja ir atlasīta politika DeviceDockMacAddress vai politika nav iestatīta, tiek izmantota ierīcei paredzētā doka MAC adrese.
+
+          Ja ir atlasīta politika DeviceNicMacAddress, tiek izmantota ierīces tīkla saskarnes vadāmierīces (NIC — network interface controller) MAC adrese.
+
+          Ja ir atlasīta politika DockNicMacAddress, tiek izmantota doka NIC MAC adrese.
+
+          Šo iestatījumu lietotājs nevar mainīt.</translation>
 <translation id="1507957856411744193">Ja šai politikai ir iestatīta vērtība “True”, <ph name="PRODUCT_NAME" /> izveidos savienojumu ar Cast ierīcēm visās IP adresēs, ne tikai RFC1918/RFC4193 privātajās adresēs.
 
           Ja šai politikai ir iestatīta vērtība “False”, <ph name="PRODUCT_NAME" /> izveidos savienojumu ar Cast ierīcēm tikai RFC1918/RFC4193 privātajās adresēs.
@@ -741,6 +761,17 @@
 <translation id="2303795211377219696">Funkcijas Automātiskā aizpilde iespējošana kredītkaršu informācijas aizpildīšanai</translation>
 <translation id="2309390639296060546">Noklusējuma ģeogrāfiskās atrašanās vietas iestatījums</translation>
 <translation id="2327252517317514801">Definē domēnus, kuri var piekļūt G Suite pakalpojumiem</translation>
+<translation id="2356878440219553005">Norāda akumulatora uzlādes režīma jaudas pārvaldības politiku.
+
+          Dinamiski kontrolē akumulatora uzlādi, lai samazinātu akumulatora nolietošanos tā noslodzes dēļ un pagarinātu akumulatora darbības ilgumu.
+
+          Ja ir atlasīts pielāgotais akumulatora uzlādes režīms, ir jānorāda DeviceBatteryChargeCustomStartCharging un DeviceBatteryChargeCustomStopCharging vērtības.
+
+          Kad šī politika ir iestatīta, tiek piemērots akumulatora uzlādes režīms, ja ierīce to atbalsta.
+
+          Ja šī politika nav iestatīta un ierīce atbalsta šo politiku, tiek piemērots standarta akumulatora uzlādes režīms un lietotājs to nevar mainīt.
+
+          Piezīme. <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> ignorē šo politiku, ja ir norādīta pirmā vērtība.</translation>
 <translation id="237494535617297575">Ļauj iestatīt URL rakstu sarakstu, kurā ir norādītas vietnes, kurām ir atļauts attēlot paziņojumus.
 
           Ja šī politika nav iestatīta, visām vietnēm tiks izmantota globālā noklusējuma vērtība no politikas DefaultNotificationsSetting (ja tā ir iestatīta) vai pretējā gadījumā no lietotāja personīgās konfigurācijas.</translation>
@@ -778,6 +809,7 @@
 
       Ja šai politikai ir iestatīta vērtība “False”, nulles aizkaves automātisko pieteikšanos (ja tā ir konfigurēta) nevar izlaist.</translation>
 <translation id="2454228136871844693">Optimizēt stabilitātei.</translation>
+<translation id="2463034609187171371">Iespējot DHE šifra komplektus standartā TLS</translation>
 <translation id="2463365186486772703">Lietojumprogrammas lokalizācija</translation>
 <translation id="2466131534462628618">Starpniekservera ignorēšana caurlaides lapas autentificēšanā</translation>
 <translation id="2482676533225429905">Vietējā ziņojumapmaiņa</translation>
@@ -959,6 +991,7 @@
 <translation id="2769952903507981510">Attālās piekļuves saimniekdatoru obligātā domēna nosaukuma konfigurēšana</translation>
 <translation id="2787173078141616821">Sniegt informāciju par Android statusu</translation>
 <translation id="2799297758492717491">Atļauja automātiski atskaņot multivides saturu, ja URL paraugs ir iekļauts baltajā sarakstā</translation>
+<translation id="2801155097555584385">Iestatīt pielāgotu akumulatora uzlādes līmeni (procentos), kurā jāsāk uzlāde</translation>
 <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>
@@ -1032,6 +1065,7 @@
       Ja atspējosiet šo iestatījumu vai neiestatīsiet nekādu vērtību, drukas priekšskatījumā kā noklusējuma galamērķis tiks izmantots pēdējais lietotais printeris.
 
       Ja iespējosiet šo iestatījumu, drukas priekšskatījumā kā noklusējuma galamērķis tiks izmantots operētājsistēmas noklusējuma printeris.</translation>
+<translation id="285627849510728211">Iestatīt uzlabotas akumulatora uzlādes režīma dienas konfigurāciju</translation>
 <translation id="2856674246949497058">Veikt atriti un paturēt mērķa versiju, ja operētājsistēmas versija ir jaunāka nekā mērķa versija. Vienlaikus atiestatīt rūpnīcas datus ar funkciju Powerwash.</translation>
 <translation id="2872961005593481000">Beidzēt</translation>
 <translation id="2873651257716068683">Tiek ignorēts noklusējuma drukāšanas lapas izmērs. Ja lapas izmērs nav pieejams, šī politika tiek ignorēta.</translation>
@@ -1166,12 +1200,26 @@
 <translation id="3072045631333522102">Ekrānsaudzētājs, kas jāizmanto mazumtirdzniecības režīma pieteikšanās ekrānā</translation>
 <translation id="3072847235228302527">Ierīces lokālā konta pakalpojumu sniegšanas noteikumu iestatīšana</translation>
 <translation id="3077183141551274418">Ciļņu dzīves ciklu iespējošana vai atspējošana</translation>
+<translation id="3079417254871857650">Norāda darbību, kas jāveic, ja lietotāja sākumdirektorijs tika izveidots ar ecryptfs šifrējumu.
+
+      Ja šai politikai ir iestatīta vērtība “DisallowArc”, Android lietotnes tiks atspējotas lietotājam un netiks veikta migrēšana no ecryptfs uz ext4 šifrējumu. Android lietotņu darbība netiks apturēta, ja sākumdirektorijs jau ir šifrēts ar ext4.
+
+      Ja šai politikai ir iestatīta vērtība “Migrate”, sākumdirektoriji, kas ir šifrēti ar ecryptfs, pierakstīšanās laikā tiks automātiski migrēti uz ext4, neprasot lietotāja piekrišanu.
+
+      Ja šai politikai ir iestatīta vērtība “Wipe”, pierakstīšanās laikā tiks dzēsti sākumdirektoriji, kas šifrēti ar ecryptfs, un tiks izveidoti jauni sākumdirektoriji, kas šifrēti ar ext4. Brīdinājums. Šādi tiek noņemti lietotāja lokālie dati.
+
+      Ja šai politikai ir iestatīta vērtība “MinimalMigrate”, pierakstīšanās laikā tiek dzēsti sākumdirektoriji, kas šifrēti ar ecryptfs, un tiek izveidoti jauni sākumdirektoriji, kas šifrēti ar ext4. Taču tiek mēģināts saglabāt pieteikšanās marķierus, lai lietotājam nav jāpierakstās atkārtoti. Brīdinājums. Šādi tiek noņemti lietotāja lokālie dati.
+
+      Ja iestatīsiet šai politikai opciju, kas vairs netiek atbalstīta (“AskUser” vai “AskForEcryptfsArcUsers”), tā tiks apstrādāta tā, it kā būtu atlasīta opcija “Migrate”.
+
+      Šī politika neattiecas uz kioska lietotājiem. Ja šī politika nav iestatīta, ierīce veic darbības tā, it kā būtu iestatīta vērtība “DisallowArc”.</translation>
 <translation id="3086995894968271156">Konfigurējiet Cast uztvērēju operētājsistēmā <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Ļauj iestatīt URL rakstu sarakstu ar vietnēm, kurām ir atļauts attēlot attēlus.
 
           Ja šī politika nav iestatīta, visām vietnēm tiks izmantota vispārējā noklusējuma vērtība no politikas DefaultImagesSetting (ja tā ir iestatīta) vai no lietotāja personiskās konfigurācijas.
 
           Ņemiet vērā, ka iepriekš šī politika kļūdaini tika iespējota operētājsistēmā Android, taču operētājsistēmā Android šī funkcija netiek pilnīgi atbalstīta.</translation>
+<translation id="3091832372132789233">Uzlādēt akumulatoru ierīcēm, kas galvenokārt ir savienotas ar ārēju strāvas avotu.</translation>
 <translation id="3096595567015595053">Iespējoto spraudņu saraksts</translation>
 <translation id="3101501961102569744">Izvēlas, kā jānorāda starpniekservera iestatījumi</translation>
 <translation id="3101709781009526431">Datums un laiks</translation>
@@ -1197,6 +1245,7 @@
           Ja šis iestatījums būs atspējots, pārlūkā <ph name="PRODUCT_NAME" /> tiks izmantoti tikai sistēmas līmenī instalēti vietējās ziņojumapmaiņas saimniekdatori.
 
           Ja šis iestatījums netiks iestatīts, pārlūkā <ph name="PRODUCT_NAME" /> varēs izmantot lietotāja līmeņa vietējās ziņojumapmaiņas saimniekdatorus.</translation>
+<translation id="3177802893484440532">Pieprasīt tiešsaistes OCSP/CRL pārbaudes lokālajiem uzticamības enkuriem</translation>
 <translation id="3185009703220253572">, sākot no <ph name="SINCE_VERSION" /> versijas</translation>
 <translation id="3187220842205194486">Android lietotnes nevar iegūt piekļuvi korporatīvajām atslēgām. Šī politika neietekmē lietotnes.</translation>
 <translation id="3205825995289802549">Pirmā pārlūka loga maksimizēšana pirmajā palaišanas reizē</translation>
@@ -1210,6 +1259,7 @@
 <translation id="3220624000494482595">Ja kioska lietotne ir Android lietotne, tā nevarēs kontrolēt <ph name="PRODUCT_OS_NAME" /> versiju, pat ja šī politika ir iestatīta kā <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">URL struktūras, no kurām ir atļauts instalēt paplašinājumus, lietotnes un lietotāja skriptus</translation>
 <translation id="3240609035816615922">Printeru konfigurācijas piekļuves politika</translation>
+<translation id="3240655340884151271">Doka iebūvētā NIC MAC adrese</translation>
 <translation id="3243309373265599239">Tiek norādīts laika periods, kurā lietotājam ir jāveic kāda darbība, pretējā gadījumā ekrāns tiek aptumšots, ja ierīce darbojas ar maiņstrāvu.
 
           Ja šai politikai ir iestatīta vērtība, kas ir lielāka par nulli, tā norāda laika periodu, kurā lietotājam ir jāveic kāda darbība, pretējā gadījumā operētājsistēmā <ph name="PRODUCT_OS_NAME" /> tiek aptumšots ekrāns.
@@ -1231,6 +1281,12 @@
       Ja šis iestatījums ir iespējots vai nav konfigurēts, lietotāji var iespējot mākoņdrukas starpniekserveri, autentifikācijai izmantojot savu Google kontu.
 
       Ja šis iestatījums ir atspējots, lietotāji nevarēs iespējot starpniekserveri un ierīce nevarēs koplietot tai pievienotos printerus ar <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Iespējo lapu vietnē chrome://password-change, kas ļauj SAML lietotājiem mainīt viņu SAML paroles sesijas laikā, tādējādi nodrošinot, ka SAML parole un ierīces bloķēšanas ekrāna parole tiek sinhronizētas savā starpā.
+
+      Šī politika arī iespējo paziņojumus, kas brīdina SAML lietotājus, ka to SAML paroļu derīguma termiņš drīz beigsies, lai lietotāji varētu nekavējoties rīkoties, veicot paroles maiņu sesijas laikā.
+      Taču šie paziņojumi tiks parādīti tikai tad, ja SAML identitātes nodrošinātājs SAML pieteikšanās plūsmas laikā uz ierīci nosūtīs informāciju par paroles derīguma termiņu.
+
+      Ja šī politika ir iestatīta, lietotājs nevar to mainīt vai ignorēt.</translation>
 <translation id="3322771899429619102">Ļauj iestatīt URL šablonu sarakstu, kurā ir norādītas vietnes, kam ir atļauts izmantot atslēgu ģenerēšanu. Ja URL šablons ir iestatīts politikā “KeygenBlockedForUrls”, šie izņēmumi tiek ignorēti.
 
           Ja šī politika nav iestatīta, visām vietnēm tiks izmantota globālā noklusējuma vērtība no politikas “DefaultKeygenSetting” (ja tā ir iestatīta) vai pretējā gadījumā no lietotāja personīgās konfigurācijas.</translation>
@@ -1313,6 +1369,7 @@
 
           Ja politika nav iestatīta vai iestatījums ir “False” (aplams), jaudas pārvaldības aizkaves un sesijas ilguma ierobežojuma uzskaite tiek sākta nekavējoties pēc sesijas sākuma.</translation>
 <translation id="3478024346823118645">Notīrīt lietotāja datus izrakstīšanās brīdī</translation>
+<translation id="3480961938508521469">Pilnībā uzlādēt akumulatoru ar standarta ātrumu.</translation>
 <translation id="348495353354674884">Iespējot virtuālo tastatūru</translation>
 <translation id="3487623755010328395">
         Ja šī politika ir iestatīta, <ph name="PRODUCT_NAME" /> mēģinās reģistrēties un lietot saistīto mākoņa politiku visiem profiliem.
@@ -1360,6 +1417,8 @@
 <translation id="3547954654003013442">Starpniekservera iestatījumi</translation>
 <translation id="355118380775352753">Vietnes, kas atveramas citā pārlūkprogrammā</translation>
 <translation id="3554984410014457319">Atļaut Google asistentam noklausīties balss aktivizēšanas frāzi</translation>
+<translation id="356579196325389849">Lietotāji var konfigurēt Chrome OS laidiena versiju</translation>
+<translation id="3575011234198230041">HTTP autentificēšana</translation>
 <translation id="3577251398714997599">Reklāmu iestatījumi vietnēm, kurās tiek rādītas traucējošas reklāmas</translation>
 <translation id="357917253161699596">Ļauj lietotājiem pārvaldīt lietotāja sertifikātus</translation>
 <translation id="3583230441447348508">Norāda iepriekš konfigurētu tīkla failu kopīgošanas sarakstu.
@@ -1390,6 +1449,7 @@
 
         Šo politiku izmanto ierīces tvēruma mākoņa politikas reģistrācijai galddatoros, un to var iestatīt, izmantojot reģistru vai GPO operētājsistēmā Windows, “plist” failu operētājsistēmā Mac un JSON politikas failu operētājsistēmā Linux.</translation>
 <translation id="3660562134618097814">SAML identitātes nodrošinātāja sīkfailu pārsūtīšana pieteikšanās laikā</translation>
+<translation id="3668151900457104753">Atinstalēt melnajā sarakstā iekļautos paplašinājumus</translation>
 <translation id="3701121231485832347">Kontrolē iestatījumus, kas ir raksturīgi <ph name="MS_AD_NAME" /> pārvaldītajām <ph name="PRODUCT_OS_NAME" /> ierīcēm.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Vienas rindas lauks ir novecojis, un to ir plānots noņemt. Lūdzu, sāciet lietot tālāk esošo vairākrindu tekstlodziņu.)</translation>
 <translation id="3709266154059827597">Konfigurē paplašinājumu instalēšanas melno sarakstu</translation>
@@ -1471,6 +1531,16 @@
           Ja šī politika netiek iestatīta, ekrāna tastatūra sākotnēji tiek atspējota, taču lietotājs jebkurā laikā var to iespējot.</translation>
 <translation id="382476126209906314">Sīkrīka TalkGadget prefiksa konfigurēšana attālās piekļuves saimniekdatoriem</translation>
 <translation id="3824972131618513497">Kontrolē iestatījumus, kas saistīti ar enerģijas patēriņa pārvaldību un atkārtotu palaišanu.</translation>
+<translation id="3826475866868158882">Iespējoti Google atrašanās vietu pakalpojumi</translation>
+<translation id="3831054243924627613">Šī politika kontrolē Android dublēšanas un atjaunošanas sākotnējo stāvokli.
+
+      Ja šī politika nav konfigurēta vai tai ir iestatīta vērtība “<ph name="BR_DISABLED" />”, Android dublēšana un atjaunošana sākotnēji ir atspējota.
+
+      Ja šai politikai ir iestatīta vērtība “<ph name="BR_ENABLED" />”, Android dublēšana un atjaunošana sākotnēji ir iespējota.
+
+      Ja šai politikai ir iestatīta vērtība “<ph name="BR_UNDER_USER_CONTROL" />”, lietotājam tiek prasīts, vai lietot Android dublēšanu un atjaunošanu. Ja lietotājs iespējo dublēšanu un atjaunošanu, Android lietotņu dati tiek augšupielādēti Android dublējuma serveros un ar šo serveru starpniecību tiek atjaunoti, kad atkārtoti tiek instalētas saderīgas lietotnes.
+
+      Ņemiet vērā, ka šī politika kontrolē Android dublēšanas un atjaunošanas stāvokli tikai sākotnējās iestatīšanas laikā. Lietotājs pēc tam var atvērt Android iestatījumus un ieslēgt/izslēgt Android dublēšanu un atjaunošanu.</translation>
 <translation id="3831376478177535007">Šim iestatījumam esot iespējotam, pārlūkā <ph name="PRODUCT_NAME" /> ir atļauti sertifikāti, kas izdoti ar Symantec Corporation mantotā PKI darbībām, ja tie ir veiksmīgi apstiprināti un saistīti ar atzītu CA sertifikātu.
 
       Ņemiet vērā, ka šī politika ir atkarīga no tā, vai operētājsistēma joprojām atzīst Symantec mantotās infrastruktūras sertifikātus. Ja operētājsistēmas atjauninājuma dēļ ir mainīta šādu sertifikātu apstrādes kārtība operētājsistēmā, šī politika vairs nav spēkā. Turklāt šī politika ir paredzēta kā pagaidu risinājums, lai uzņēmumiem būtu vairāk laika pāriet no Symantec mantotās infrastruktūras sertifikātiem. Šī politika tiks noņemta 2019. gada 1. janvārī vai ap to laiku.
@@ -1551,6 +1621,15 @@
 
           Ja šis iestatījums nav iestatīts vai ir iestatīta vērtība Nepatiesa, lietotāji varēs pārsūtīt failus uz Google disku.</translation>
 <translation id="3915395663995367577">URL uz starpniekservera .pac failu</translation>
+<translation id="3920892052017026701">Iestatīt pielāgotu akumulatora uzlādes līmeni (procentos), kurā jāsāk uzlāde.
+
+          Akumulators sāk uzlādi, kad tā uzlādes līmenis ir samazinājies līdz pielāgotajai uzlādes vērtībai.
+
+          DeviceBatteryChargeCustomStartCharging vērtībai ir jābūt mazākai nekā DeviceBatteryChargeCustomStopCharging vērtībai.
+
+          Šī politika tiek izmantota tikai tad, ja politikai DeviceBatteryChargeMode ir iestatīta vērtība “custom”.
+
+          Ja šī politika nav konfigurēta vai nav iestatīta, tiek piemērots standarta akumulatora uzlādes režīms.</translation>
 <translation id="3925377537407648234">Iestatīt displeja izšķirtspējas un mērogošanas koeficientu</translation>
 <translation id="3939893074578116847">Pārvaldības serverim tiek nosūtītas tīkla paketes tiešsaistes statusa pārraudzībai, lai
       serverī varētu noteikt, vai ierīce ir bezsaistē.
@@ -1681,6 +1760,7 @@
 <translation id="4150201353443180367">Displejs</translation>
 <translation id="4157003184375321727">Ziņošana par OS un programmaparatūras versiju</translation>
 <translation id="4157594634940419685">Atļauja piekļūt vietējiem CUPS printeriem</translation>
+<translation id="4160962198980004898">Ierīces MAC adreses avots, kad ierīce ir dokota</translation>
 <translation id="4163705126749612234">Konfigurē nepieciešamos klienta domēnu nosaukumus, kas tiks izmantoti attālās piekļuves klientiem, un lietotāji tos nevarēs mainīt.
 
           Ja šis iestatījums ir iespējots, tikai klienti no norādītajiem domēniem var savienoties ar saimniekdatoru.
@@ -1757,6 +1837,7 @@
       Ņemiet vērā: ja politika satur lietotnes ID, tas nenozīmē, ka lietotājs noteikti var iespējot bloķēšanas ekrānā šo lietotni kā piezīmju lietotni. Piemēram, pārlūkā Chrome 61 ir papildu pieejamo lietotņu ierobežojumi.
 
       Ja politika nav iestatīta, attiecībā uz lietotnēm, kuras lietotājs var iespējot bloķēšanas ekrānā, nav nekādu politikā noteiktu ierobežojumu.</translation>
+<translation id="4313767483634435271">Ierīcei paredzētā doka MAC adrese</translation>
 <translation id="4322842393287974810">Atļaut kioska lietotnei, kas tiek automātiski palaista ar nulles aizkavi, kontrolēt <ph name="PRODUCT_OS_NAME" /> versiju</translation>
 <translation id="4325690621216251241">Atteikšanās pogas pievienošana sistēmas teknei</translation>
 <translation id="4332177773549877617">Android lietotņu instalēšanas notikumu reģistrēšana</translation>
@@ -1788,6 +1869,7 @@
 <translation id="4360826270668210664">Ja šī politika ir iestatīta, attālās piekļuves saimniekdatorā klientiem, kas autentificējas, tiek prasīts iegūt autentifikācijas pilnvaru no šī vietrāža URL, lai izveidotu savienojumu. Jāizmanto kopā ar politiku RemoteAccessHostTokenValidationUrl.
 
           Pašlaik šī funkcija ir atspējota servera pusē.</translation>
+<translation id="4363057787588706121">Ļaut apvienot sarakstā esošas politikas, kas ir no dažādiem avotiem</translation>
 <translation id="436581050240847513">Ziņot par ierīču tīkla saskarnēm</translation>
 <translation id="4372704773119750918">Neatļaut korporatīvajam lietotājam piedalīties vairākprofilu sesijā (ne kā primārajam, ne sekundārajam lietotājam)</translation>
 <translation id="4377599627073874279">Atļauj visām vietnēm rādīt visus attēlus</translation>
@@ -1961,6 +2043,7 @@
 <translation id="4826326557828204741">Darbība, kas ir jāveic, kad ir aizritējis laiks līdz dīkstāvei un ir zems akumulatora uzlādes līmenis</translation>
 <translation id="4832852360828533362">Ziņošana par lietotāju un ierīci</translation>
 <translation id="4834526953114077364">Pēdējie izmantotie lietotāji, kuri nav pieteikušies pēdējo 3 mēnešu laikā, tiek noņemti, līdz ir pietiekami daudz brīvas vietas.</translation>
+<translation id="4835622243021053389">Iespējot NTLMv2 autentificēšanu.</translation>
 <translation id="4858735034935305895">Atļaut pilnekrāna režīmu</translation>
 <translation id="4861767323695239729">Konfigurēt lietotāja sesijā atļautās ievades metodes</translation>
 <translation id="487460824085252184">Migrē automātiski, nepieprasa lietotāja piekrišanu.</translation>
@@ -2083,6 +2166,11 @@
 
       Pretēji politikai “<ph name="URL_LIST_POLICY_NAME" />” kārtulas tiek lietotas abos virzienos: ja pārlūkprogrammas Internet Explorer papildinājums ir iespējots, tas pārvalda arī to, vai pārlūkprogrammai <ph name="IE_PRODUCT_NAME" /> attiecīgie vietrāži URL ir jāatver arī pārlūkprogrammā <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Iespējot palaišanu ar maiņstrāvas barošanu</translation>
+<translation id="5131211790949066746">Iespējo paplašinājumu instalēšanas sarakstu politiku <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> un <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> apvienošanu.
+
+      Ja iespējosiet šo iestatījumu, vērtības no ierīces platformas politikas, ierīces mākoņa politikas un lietotāja platformas politikas tiks apvienotas vienā sarakstā un izmantotas kā viena politika (tā vietā, lai izmantotu vērtības no viena avota ar visaugstāko prioritāti).
+
+      Ja atspējosiet šo iestatījumu vai atstāsiet to neiestatītu, tiks izmantoti tikai saraksta ieraksti no avota ar visaugstāko prioritāti un visi pārējie avoti tiks rādīti kā konfliktējoši un tiks ignorēti.</translation>
 <translation id="5141670636904227950">Pieteikšanās ekrānā iespējotā ekrāna lupas noklusējuma veida iestatīšana</translation>
 <translation id="5142301680741828703">Norādītās URL struktūras vienmēr tiek renderētas produktā <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Ļauj noteikt papildu parametrus, kas tiek lietoti, kad spraudnis <ph name="PRODUCT_FRAME_NAME" /> palaiž pārlūkprogrammu <ph name="PRODUCT_NAME" />.
@@ -2206,6 +2294,7 @@
 
       Ja politika nav iestatīta vai tā ir iestatīta uz tukšu virkni vai nederīgu portu diapazonu, saskarnei WebRTC ir atļauts izmantot jebkuru pieejamu lokālo UDP portu.</translation>
 <translation id="5290940294294002042">Norāda spraudņu sarakstu, kurus lietotājs var iespējot vai atspējot</translation>
+<translation id="5306186200045823863">Norādīt, ka Symantec Corporation mantotā PKI infrastruktūra ir uzticama</translation>
 <translation id="5307432759655324440">Inkognito režīma pieejamība</translation>
 <translation id="5318185076587284965">Pārraides serveru iespējošana attālās piekļuves saimniekdatoram</translation>
 <translation id="5323128137188992869">Atļaujiet ierīcē apraidīt saturu, izmantojot <ph name="PRODUCT_NAME" />.
@@ -2309,6 +2398,7 @@
       Ja kārtulas ir pretrunā viena otrai, <ph name="PRODUCT_NAME" /> izmanto visprecīzāko kārtulu.</translation>
 <translation id="5475361623548884387">Iespējo drukāšanu</translation>
 <translation id="547601067149622666">Neatļaut reklāmu rādīšanu vietnēs, kurās tiek rādītas traucējošas reklāmas</translation>
+<translation id="5483065054530244863">Atļaut SHA-1 parakstītus sertifikātus, ko izsnieguši lokāli uzticamības enkuri</translation>
 <translation id="5483777239978559943">Šī politika ir novecojusi. Lūdzu, izmantojiet politiku <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" />, lai kontrolētu Flash spraudņa pieejamību, un politiku <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" />, lai kontrolētu, vai izmantot integrēto PDF skatīšanas programmu PDF failu skatīšanai.
 
       Norāda spraudņu sarakstu, kurus lietotājs var iespējot vai atspējot pārlūkā <ph name="PRODUCT_NAME" />.
@@ -2425,6 +2515,17 @@
           Ja šis iestatījums ir iespējots vai nav konfigurēts, paroles paroļu pārvaldniekā ir redzamas nešifrētā tekstā.</translation>
 <translation id="5620392548325769024">Sveiciena lapas rādīšanas iespējošana pirmajā pārlūka palaišanas reizē pēc operētājsistēmas jaunināšanas</translation>
 <translation id="5630352020869108293">Atjaunot pēdējo sesiju</translation>
+<translation id="5643906875497889108">Kontrolē, kāda veida lietotnes/paplašinājumus var instalēt, un ierobežo izpildlaika piekļuvi.
+
+          Šis iestatījums iekļauj baltajā sarakstā to paplašinājumu/lietotņu veidus, kurus var instalēt šeit: <ph name="PRODUCT_NAME" />, kā arī to, ar kuriem saimniekdatoriem tie var mijiedarboties. Vērtība ir virkņu saraksts; atļautās virknes: “extension”, “theme”, “user_script”, “hosted_app”, “legacy_packaged_app”, “platform_app”. Skatiet <ph name="PRODUCT_NAME" /> paplašinājumu dokumentāciju, lai uzzinātu vairāk par šiem veidiem.
+
+          Ņemiet vērā, ka šī politika ietekmē arī piespiedu kārtā instalētos paplašinājumus un lietotnes, kam tiek piemērota politika ExtensionInstallForcelist.
+
+          Ja šis iestatījums ir konfigurēts, netiks instalēti paplašinājumi/lietotnes, kuru veids nav iekļauts sarakstā.
+
+          Ja šis iestatījums nav konfigurēts, netiek piemēroti ierobežojumi pieņemamajiem paplašinājumu/lietotņu veidiem.
+
+          75. versijā un jaunākās versijās netiek atbalstīti un tiek izlaisti ar komatu atdalīti paplašinājumu ID. Pārējā politika joprojām tiek piemērota.</translation>
 <translation id="5645779841392247734">Atļauj sīkfailus šajās vietnēs</translation>
 <translation id="5689430183304951538">Noklusējuma drukāšanas lapas izmērs</translation>
 <translation id="5693469654327063861">Atļaut datu migrēšanu</translation>
@@ -2464,6 +2565,7 @@
 <translation id="5765780083710877561">Apraksts:</translation>
 <translation id="5770738360657678870">Izstrādātāju versija (var būt nestabila)</translation>
 <translation id="5774856474228476867">Noklusējuma meklētājprogrammas meklēšanas  URL</translation>
+<translation id="5775235485119094648">Uzlādēt akumulatoru, kamēr tas atrodas fiksētā diapazonā.</translation>
 <translation id="5776485039795852974">Vaicāt ikreiz, kad vietne vēlas rādīt paziņojumus darbvirsmā</translation>
 <translation id="5781412041848781654">Norāda, kura GSSAPI bibliotēka jāizmanto HTTP autentifikācijai. Var iestatīt tikai bibliotēkas nosaukumu vai pilnu ceļu.
 
@@ -2531,6 +2633,7 @@
 <translation id="5893553533827140852">Ja šis iestatījums ir iespējots, Gnubby autentifikācijas pieprasījumiem tiks izmantoti starpniekserveri attālā saimniekdatora tīklā.
 
           Ja šis iestatījums ir atspējots vai nav konfigurēts, Gnubby autentifikācijas pieprasījumiem netiks izmantoti starpniekserveri.</translation>
+<translation id="5897913798715600338">Uzlādēt akumulatoru, izmantojot ātrās uzlādes tehnoloģiju.</translation>
 <translation id="5898486742390981550">Ja ir pieteikušies vairāki lietotāji, Android lietotnes var izmantot tikai primārais lietotājs.</translation>
 <translation id="5900196529149231477">
       Šī politika attiecas uz pierakstīšanās ekrānu. Lūdzu, skatiet arī politiku “<ph name="ISOLATE_ORIGINS_POLICY_NAME" />”, kas attiecas uz lietotāja sesiju. Ieteicams abām politikām iestatīt vienādu vērtību. Ja vērtības neatbilst, atverot lietotāja sesiju, var rasties aizkave, kamēr tiek piemērota lietotāja politikas vērtība.
@@ -2539,12 +2642,14 @@
       Ja politika nav konfigurēta, pierakstīšanās ekrānam tiks izmantoti platformas noklusējuma vietnes izolācijas iestatījumi.
       </translation>
 <translation id="5901427587865226597">Tikai divpusēja drukāšana</translation>
+<translation id="5905473632148429217">Iespējot tiešsaistes OCSP/CRL pārbaudes</translation>
 <translation id="5906199912611534122">Paredzēta, lai iespējotu vai atspējotu tīkla ierobežošanu.
       Tā attiecas uz visiem ierīces lietotājiem un saskarnēm. Ja šī politika
       ir iestatīta, ierobežošana ir spēkā, līdz politika tiek atspējota.
 
       Ja ir iestatīta vērtība “True”, netiek lietots neviens ierobežojums.
       Ja ir iestatīta vērtība “False”, tiek ierobežots ātrums (Kb/s) augšupielādei sistēmā un lejupielādei no tās.</translation>
+<translation id="591088232153082363">Adaptīvās uzlādes akumulators, pamatojoties uz akumulatora lietojuma modeli.</translation>
 <translation id="5921713479449475707">Atļaut automātiski atjaunināt lejupielādes, izmantojot HTTP</translation>
 <translation id="5921888683953999946">Iestatiet lielā kursora pieejamības funkcijas noklusējuma stāvokli pieteikšanās ekrānā.
 
@@ -2566,6 +2671,7 @@
 <translation id="5950205771952201658">Ņemot vērā to, ka pastāvīgas atteices atsaukšanas pārbaudes tiešsaistē nenodrošina nevienu efektīvu drošības priekšrocību, tās pēc noklusējuma tiek atspējotas pārlūkā <ph name="PRODUCT_NAME" /> 19 vai jaunākā versijā. Ja šai politikai ir iestatīta vērtība Patiesa, tiek atjaunota iepriekšējā darbība un tiek veiktas OCSP/CRL pārbaudes tiešsaistē.
 
       Ja šī politika nav iestatīta vai tai ir iestatīta vērtība Nepatiesa, pārlūks <ph name="PRODUCT_NAME" /> neveic atsaukšanas pārbaudes tiešsaistē pārlūkā <ph name="PRODUCT_NAME" /> 19 vai jaunākā versijā.</translation>
+<translation id="5961137303188584693">Ierīces iebūvētā NIC MAC adrese</translation>
 <translation id="5966615072639944554">Paplašinājumi, kuriem atļauts izmantot attālinātās apstiprināšanas API.</translation>
 <translation id="5983708779415553259">Noklusējuma darbība vietnēm, kas nav iekļautas nevienā satura pakotnē</translation>
 <translation id="5997543603646547632">Pēc noklusējuma izmantot 24 stundu pulksteni</translation>
@@ -2656,6 +2762,17 @@
 <translation id="6111936128861357925">Dinozauru spēles atļaušana</translation>
 <translation id="6114416803310251055">novecojis</translation>
 <translation id="6133088669883929098">Atļaut izmantot atslēgu ģenerēšanu visās vietnēs</translation>
+<translation id="6136537398661737682">Šī politika kontrolē Google atrašanās vietu pakalpojumu sākotnējo stāvokli.
+
+      Ja šī politika nav konfigurēta vai tai ir iestatīta vērtība “<ph name="GLS_DISABLED" />”, Google atrašanās vietu pakalpojumi sākotnēji ir atspējoti.
+
+      Ja šai politikai ir iestatīta vērtība “<ph name="GLS_ENABLED" />”, Google atrašanās vietu pakalpojumi sākotnēji ir iespējoti.
+
+      Ja šai politikai ir iestatīta vērtība “<ph name="GLS_UNDER_USER_CONTROL" />”, lietotājam tiek vaicāts, vai izmantot Google atrašanās vietu pakalpojumus. Tādējādi Android lietotnes varēs izmantot šos pakalpojumus vaicājumiem par ierīces atrašanās vietu, kā arī tiks iespējota anonīmu atrašanās vietas datu sūtīšana Google serveriem.
+
+      Ņemiet vērā, ka šī politika kontrolē Google atrašanās vietu pakalpojumu stāvokli tikai sākotnējās iestatīšanas laikā. Lietotājs pēc tam var atvērt Android iestatījumus un ieslēgt/izslēgt Android atrašanās vietu pakalpojumus.
+
+      Ņemiet vērā, ka šī politika tiek ignorēta un Google atrašanās vietu pakalpojumi vienmēr ir atspējoti, ja politikai <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> ir iestatīta vērtība “<ph name="BLOCK_GEOLOCATION_SETTING" />”.</translation>
 <translation id="6141402445226505817">Vienmēr izmantot aptuvenu laika joslas noteikšanu</translation>
 <translation id="6145799962557135888">Ļauj iestatīt URL rakstu sarakstu, kurā ir norādītas vietnes, kurām ir atļauts izpildīt JavaScript.
 
@@ -2718,9 +2835,17 @@
       Ja politika ir atspējota, veidlapu automātiskās aizpildes dati netiek importēti.
 
       Ja politika nav iestatīta, iespējams, lietotājam tiks vaicāts, vai veikt importēšanu, vai arī importēšana tiks veikta automātiski.</translation>
+<translation id="6221175752766085998">Atļaut sertifikātus, kurus izsnieguši lokāli uzticamības enkuri un kuriem nav paplašinājuma subjectAlternativeName</translation>
 <translation id="6224304369267200483">Vietrāži URL/domēni automātiski atļāva tiešu drošības atslēgas apstiprināšanu</translation>
 <translation id="6233173491898450179">Iestata lejupielāžu direktoriju</translation>
 <translation id="6244210204546589761">URL, kas jāatver startēšanas brīdī</translation>
+<translation id="6255387031094435995">Ļauj atlasītajām politikām tikt apvienotām, ja tās ir no dažādiem avotiem, bet ar vienādiem tvērumiem un līmeni.
+
+        Ja politika ir sarakstā, gadījumā, kad rodas konflikts starp diviem avotiem, ņemot vērā to, ka politikām ir vienādi tvērumi un līmenis, vērtības tiks apvienotas jaunā politiku sarakstā.
+
+        Ja politika ir sarakstā, gadījumā, kad rodas konflikts starp diviem avotiem un politikām ir dažādi tvērumi un/vai līmenis, tiks piemērota politika, kurai ir augstākā prioritāte.
+
+        Ja politika nav sarakstā, gadījumā, kad rodas konflikts starp diviem avotiem, tvērumiem un/vai līmeni, tiks piemērota politika, kurai ir augstākā prioritāte.</translation>
 <translation id="6258193603492867656">Norāda, vai ģenerētajam Kerberos SPN jāietver nestandarta ports. Ja šis iestatījums ir iespējots un tiek ievadīts nestandarta ports (piem., ports, kas nav 80 vai 443), tas tiks ietverts ģenerētajā Kerberos SPN. Ja šis iestatījums ir atspējots vai nav iestatīts, ģenerētais Kerberos SPN nekādā gadījumā neietvers portu.</translation>
 <translation id="6261643884958898336">Ziņot par iekārtas identifikācijas informāciju</translation>
 <translation id="6281043242780654992">Konfigurējiet vietējās ziņojumapmaiņas politikas. Melnajā sarakstā iekļauto vietējās ziņojumapmaiņas saimniekdatoru darbība netiks atļauta, ja vien tie nebūs iekļauti baltajā sarakstā.</translation>
@@ -2918,6 +3043,7 @@
 <translation id="6757438632136860443">Ļauj iestatīt to vietrāžu URL rakstu sarakstu, kas norāda vietnes, kurām atļauts izpildīt spraudni <ph name="FLASH_PLUGIN_NAME" />.
 
           Ja šī politika nav iestatīta, visām vietnēm tiks izmantota vispārējā noklusējuma vērtība no politikas “DefaultPluginsSetting” (ja tā ir iestatīta) vai lietotāja personiskās konfigurācijas.</translation>
+<translation id="6757613329154374267">Dublēšana un atjaunošana iespējota</translation>
 <translation id="6762235610019366960">Pārlūkā <ph name="PRODUCT_NAME" /> atļauj pārvaldīt reklāmas un/vai mācību satura rādīšanu pa visu cilni.
 
       Ja iestatījums nav konfigurēts vai ir iespējots (iestatīta vērtība “True”), produkta informācijas sniegšanai pārlūkā <ph name="PRODUCT_NAME" /> lietotājiem var tikt rādīts saturs pa visu cilni.
@@ -2940,6 +3066,7 @@
       Virknē var būt mainīgie ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR} un ${MACHINE_NAME}, kas pirms saimniekdatora nosaukuma izmantošanas tiks aizstāti ar vērtībām ierīcē. Aizstāšanas rezultātam ir jābūt derīgam saimniekdatora nosaukumam (atbilstoši RFC 1035 3.1. sadaļai).
 
       Ja šī politika nav iestatīta vai vērtība pēc aizstāšanas nav derīgs saimniekdatora nosaukums, DHCP pieprasījumā netiks iestatīts saimniekdatora nosaukums. </translation>
+<translation id="6833988859168635883">Startēšana, sākumlapa un jaunas cilnes lapa</translation>
 <translation id="6835883744948188639">Periodiski rādīt lietotājam uzvedni par ieteicamu atkārtotu palaišanu</translation>
 <translation id="6837480141980366278">Nosaka, vai pārlūkprogrammā <ph name="PRODUCT_NAME" /> izmantot iebūvētu DNS klientu.
 
@@ -3053,6 +3180,17 @@
 
       Pirms ekrāna aptumšošanas viedās aptumšošanas modelis izvērtē, vai ekrāna aptumšošana ir jāaizkavē. Ja viedās aptumšošanas modelis aizkavē ekrāna aptumšošanu, faktiski tiek paildzināts laiks līdz ekrāna aptumšošanai. Šādā gadījumā ekrāna izslēgšanas, ekrāna bloķēšanas un dīkstāves aizkaves tiek pielāgotas, lai nodrošinātu tādu pašu laiku kopš ekrāna aptumšošanas aizkaves, kā sākotnēji konfigurēts.
       Ja politikai ir iestatīta vērtība “True” vai tā nav iestatīta, viedās aptumšošanas modelis tiek iespējots un var paildzināt laiku līdz ekrāna aptumšošanai. Ja politikai ir iestatīta vērtība “False”, viedās aptumšošanas modelis neietekmē ekrāna aptumšošanu.</translation>
+<translation id="6967394885063085697">Iespējot uzlabotas akumulatora uzlādes režīma enerģijas pārvaldības politiku.
+
+          Uzlabotas akumulatora uzlādes režīms ļauj lietotājam maksimāli uzlabot akumulatora stāvokli. Uzlabotās uzlādes režīmā sistēma izmantos standarta uzlādes algoritmu un citus paņēmienus bezdarbības laikā, lai uzlabotu akumulatora stāvokli. Darba laikā tiek izmantota ātrā uzlāde. Šī ātrā uzlāde ļauj uzlādēt akumulatoru ātrāk; tādēļ akumulators tiek pilnībā uzlādēts daudz īsākā laika posmā. Katru dienu laikam, kad sistēma tiek izmantota visintensīvāk, tiek noteikts sākuma laiks un ilgums.
+
+          Kad šai politikai ir iestatīta vērtība “true” un politika DeviceAdvancedBatteryChargeModeDayConfig ir iestatīta, uzlabotās akumulatora uzlādes režīms vienmēr ir iespējots, ja ierīce to atbalsta.
+
+          Ja šai politikai ir iestatīta vērtība “false”, uzlabotās akumulatora uzlādes režīms vienmēr ir atspējots.
+
+          Ja iestatīsiet šo politiku, lietotāji nevarēs to mainīt vai ignorēt.
+
+          Ja šī politika nav iestatīta, uzlabotās akumulatora uzlādes režīms ir atspējots un lietotājs to nevar iespējot.</translation>
 <translation id="6972540544240464302">Uzdevumu plānotāja konfigurācijas atlasīšana</translation>
 <translation id="6979158407327259162">Google disks</translation>
 <translation id="6994082778848658360">Norāda, kā var izmantot pievienoto drošības elementa aparatūru divfaktoru autentificēšanai, ja tā ir saderīga ar šo funkciju.
@@ -3131,6 +3269,17 @@
       Ja šis iestatījums ir iespējots vai atspējots, lietotāji to nevar mainīt vai ignorēt.
 
       Ja šī politika nav iestatīta, lietotājs var izvēlēties, vai ierīces atbloķēšanai tiek prasīta parole.</translation>
+<translation id="7107148737865880402">Iespējot USB jaudas kopīgošanas pārvaldības politiku.
+
+          Noteiktām ierīcēm ir īpaša USB pieslēgvieta, kas apzīmēta ar zibens vai akumulatora ikonu un ko var izmantot, lai uzlādētu ierīces, piemēram, mobilo tālruni, izmantojot sistēmas akumulatoru. Šī politika ietekmē šīs pieslēgvietas uzlādes darbību, kamēr sistēma atrodas miega un izslēgšanas režīmā. Šī politika neietekmē citas USB pieslēgvietas un uzlādes darbības, kamēr sistēma ir nomodā.
+
+          Kad sistēma ir aktīva, USB pieslēgvieta vienmēr nodrošina jaudu.
+
+          Ja šai politikai ir iestatīta vērtība “true”, miega režīmā jauda USB pieslēgvietai tiks piegādāta, kad ierīce būs savienota ar sienas uzlādes ierīci vai ja akumulatora uzlādes līmenis būs &gt;50 %. Citādi jauda netiek nodrošināta.
+
+          Ja ierīce ir izslēgta un politikai ir iestatīta vērtība “true”, jauda USB pieslēgvietai tiks nodrošināta, kad ierīce būs savienota ar sienas uzlādes ierīci. Citādi jauda netiek nodrošināta.
+
+          Ja šī politika nav iestatīta, tā tiek iespējota un lietotājs to nevar atspējot.</translation>
 <translation id="7115494316187648452">Šī politika tiek izmantota, lai noteiktu, vai <ph name="PRODUCT_NAME" /> process tiek sākts līdz ar pieteikšanos operētājsistēmā un vai tas tiek turpināts, līdz tiek aizvērts pēdējais pārlūka logs, ļaujot fona lietotnēm un pašreizējai pārlūkošanas sesijai un jebkādiem sesijas sīkfailiem palikt aktīviem. Fona process tiek rādīts kā ikona sistēmas teknē, kur to jebkurā brīdī var pārtraukt.
 
       Ja šai politikai ir iestatīta vērtība Patiesa, fona režīms ir iespējots un lietotājs nevar to kontrolēt pārlūka iestatījumos.
@@ -3181,6 +3330,7 @@
           Ja politikai ir iestatīta vērtība “True” vai politika nav iestatīta, ekrāna aktivizēšanas gadījumi tiks veikti barošanas pārvaldībā, ja vien politikas iestatītā vērtība nav “False”.
 
           Ja politikai ir iestatīta vērtība “False”, ekrāna aktivizēšanas gadījumu pieprasīšana tiks pazemināta uz sistēmas aktivizēšanas gadījumu pieprasīšanu.</translation>
+<translation id="7177857088692019405">Ātrā atbloķēšana</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Savienojumu veidi, kuru laikā ir atļauts veikt atjaunināšanu</translation>
 <translation id="7194407337890404814">Noklusējuma meklētājprogrammas nosaukums</translation>
@@ -3245,6 +3395,7 @@
 <translation id="7273823081800296768">Ja šis iestatījums ir iespējots vai nav konfigurēts, lietotāji var izvēlēties savienot klientus un saimniekdatorus pārī savienojuma izveides laikā, tādējādi izvairoties no atkārtotas PIN koda ievadīšanas.
 
           Ja šis iestatījums ir atspējots, šī funkcija nebūs pieejama.</translation>
+<translation id="7274077256421167535">Iespējot USB jaudas kopīgošanu</translation>
 <translation id="7275334191706090484">Pārvaldītās grāmatzīmes</translation>
 <translation id="7291084543582732020">Ja šis iestatījums ir iespējots un ja ir izpildītas funkcijai Smart Lock nepieciešamās prasības, lietotājiem ir atļauts izmantot šo funkciju.
 
@@ -3258,6 +3409,7 @@
 
           Šī politika tiek lietota tikai tad, ja ir iespējota politika DefaultSearchProviderEnabled.</translation>
 <translation id="7302043767260300182">Aizkave līdz ekrāna bloķēšanai, ja ierīce darbojas ar maiņstrāvu</translation>
+<translation id="7305262223970835999">Iespējo lapu SAML lietotāju paroles maiņai sesijas laikā.</translation>
 <translation id="7311458740754205918">Ja šai politikai ir iestatīta vērtība “Patiesa” vai tā nav iestatīta, lapā “Jauna cilne” var tikt rādīti satura ieteikumi, pamatojoties uz lietotāja pārlūkošanas vēsturi, interesēm vai atrašanās vietu.
 
       Ja šai politikai ir iestatīta vērtība “Nepatiesa”, lapā “Jauna cilne” netiek rādīti automātiski veidoti satura ieteikumi.</translation>
@@ -3383,6 +3535,15 @@
       Ja šīs politikas vērtība ir “0”, tiks izmantots noklusējuma kešatmiņas lielums, taču lietotājs to nevarēs mainīt.
 
       Ja šī politika nav iestatīta, tiks izmantots noklusējuma kešatmiņas lielums, kuru lietotājs varēs ignorēt, izmantojot atzīmi “--disk-cache-size”.</translation>
+<translation id="759389052790680884">Iestatiet pielāgotu akumulatora uzlādes līmeni (procentos), kurā jāpārtrauc uzlāde.
+
+          Akumulatora uzlāde tiek pārtraukta, kad tiek sasniegts pielāgotais akumulatora uzlādes līmenis, kurā ir jāpārtrauc uzlāde.
+
+          DeviceBatteryChargeCustomStartCharging vērtībai ir jābūt mazākai nekā DeviceBatteryChargeCustomStopCharging vērtībai.
+
+          Šī politika tiek izmantota tikai tad, ja politikai DeviceBatteryChargeMode ir iestatīta vērtība “custom”.
+
+          Ja šī politika nav konfigurēta vai nav iestatīta, tiek piemērots standarta akumulatora uzlādes režīms.</translation>
 <translation id="759957074386651883">Drošas pārlūkošanas iestatījumi</translation>
 <translation id="7604169113182304895">Android lietotnēs var tikt brīvi izvēlēts izmantot šo sarakstu. Jūs nevarat likt lietotnēm izmantot šo sarakstu.</translation>
 <translation id="7612157962821894603">Visas sistēmas atzīmes, kas jālieto, startējot pārlūku <ph name="PRODUCT_NAME" /></translation>
@@ -3461,6 +3622,15 @@
 <translation id="7712109699186360774">Vaicāt katru reizi, kad vietne vēlas piekļūt kamerai un/vai mikrofonam</translation>
 <translation id="7713608076604149344">Lejupielādes ierobežojumi</translation>
 <translation id="7715711044277116530">Aizkaves līdz ekrāna aptumšošanai norādīšana procentos (prezentācijas režīmā)</translation>
+<translation id="7716781462866245042">Iestatīt uzlabotas akumulatora uzlādes režīma dienas konfigurāciju.
+
+          Šī politika tiek izmantota tikai tad, ja politikai DeviceAdvancedBatteryChargeModeEnabled ir iestatīta vērtība “true”.
+
+          Ja šī politika nav konfigurēta vai tā nav iestatīta, uzlabotas akumulatora uzlādes režīms vienmēr ir atspējots.
+
+          Piezīme. <ph name="CHARGE_START_TIME_FIELD_NAME" /> vērtībai vienmēr ir jābūt mazākai nekā <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Piezīme. Atļautās vērtības laukam <ph name="MINUTE_FIELD_NAME" /> sadaļās <ph name="CHARGE_START_TIME_FIELD_NAME" /> un <ph name="CHARGE_END_TIME_FIELD_NAME" /> ir 0, 15, 30 un 45.</translation>
 <translation id="7717938661004793600">Konfigurējiet <ph name="PRODUCT_OS_NAME" /> pieejamības funkcijas.</translation>
 <translation id="7724994675283793633">Šī politika iespējo protokolu HTTP/0.9 portos, kas nav 80 (HTTP) un 443 (HTTPS).
 
@@ -3534,6 +3704,7 @@
       Nosaka paplašinājuma ID, kas jāizmanto kā ekrānsaudzētājs pierakstīšanās ekrānā. Paplašinājumam ir jābūt daļai no AppPack, kas konfigurēts šim domēnam, izmantojot politiku DeviceAppPack.</translation>
 <translation id="7882857838942884046">Atspējojot Google Sync, Android dublēšana un atjaunošana nedarbosies pareizi.</translation>
 <translation id="7882890448959833986">Brīdinājuma par neatbalstītu OS rādīšanas apturēšana</translation>
+<translation id="7895553628261067384">Attālā piekļuve</translation>
 <translation id="7902255855035461275">Šajā sarakstā pieejamajiem šabloniem tiek meklēta atbilstība pieprasītā URL
       drošības avotam. Ja tiek atrasta atbilstība, piekļuve video
       ierakstīšanas ierīcēm tiek nodrošināta bez uzaicinājuma.
@@ -3547,6 +3718,11 @@
 <translation id="7937491150792971922">Apvienot paplašinājumu instalēšanas sarakstu politikas no vairākiem avotiem</translation>
 <translation id="7937766917976512374">Video tveršanas ļaušana vai noraidīšana</translation>
 <translation id="7941975817681987555">Neprognozēt tīkla darbības nevienā tīkla savienojumā</translation>
+<translation id="7952007677054834789">Konfigurē lapas, kas jāielādē startēšanas laikā, noklusējuma mājas lapu un noklusējuma jauno cilnes lapu pārlūkprogrammā <ph name="PRODUCT_NAME" /> un neļauj lietotājiem to mainīt.
+
+      Lietotāja sākumlapas iestatījumi ir pilnībā bloķēti tikai tad, ja sākumlapa ir iestatīta kā jaunas cilnes lapa vai kā URL un ir norādīts sākumlapas URL. Ja nav norādīts sākumlapas URL, lietotājs var iestatīt sākumlapu kā jaunas cilnes lapu, norādot adresi chrome://newtab.
+
+      Politika “URL, kas jāatver startēšanas brīdī” tiek ignorēta, ja vien sadaļā “Darbība startēšanas brīdī” nav atlasīts iestatījums “Atvērt vietrāžu URL sarakstu”.</translation>
 <translation id="7952958573604504839">Šī politika ir novecojusi versijā M48 (tās vietā tiek izmantota politika <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />) un noņemta no versijas M54.
 
       Pārlūkā <ph name="PRODUCT_NAME" /> tiek iespējota tīkla paredzēšana, un lietotājiem tiek liegta iespēja mainīt šo iestatījumu.
@@ -3690,6 +3866,7 @@
 <translation id="8176035528522326671">Atļaut korporatīvajam lietotājam būt tikai primārajam vairākprofilu lietotājam (noklusējuma rīcība attiecībā uz uzņēmuma pārvaldītiem lietotājiem)</translation>
 <translation id="8214600119442850823">Konfigurē paroļu pārvaldnieku.</translation>
 <translation id="8217516105848565518">Šī politika ir novecojusi. Tās vietā, lūdzu, izmantojiet RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">Iespējot RC4 šifra komplektus standartā TLS</translation>
 <translation id="8244525275280476362">Maksimāla ieneses aizkave pēc politikas atzīšanas par nederīgu</translation>
 <translation id="8256688113167012935">Kontrolējiet konta nosaukumu, kas tiek rādīts <ph name="PRODUCT_OS_NAME" /> pieteikšanās ekrānā attiecīgajam ierīces lokālajam kontam.
 
@@ -3730,6 +3907,7 @@
 <translation id="8312129124898414409">Ļauj iestatīt, vai vietnēs ir atļauts izmantot atslēgu ģenerēšanu. Atslēgu ģenerēšanas izmantošana var tikt atļauta vai noraidīta visām vietnēm.
 
           Ja šī politika nav iestatīta, tiks lietota politika “BlockKeygen” un lietotājs to varēs mainīt.</translation>
+<translation id="8320149248919453401">Akumulatora uzlādes režīms</translation>
 <translation id="8329984337216493753">Šī politika darbojas tikai mazumtirdzniecības režīmā.
 
       Ja politika DeviceIdleLogoutTimeout ir norādīta, tā definē brīdinājuma lodziņa ilgumu ar atpakaļskaitīšanas taimeri, kas tiek rādīts lietotājam pirms atteikšanās izpildes.
@@ -3894,6 +4072,7 @@
       Ja šī politika nav iestatīta, <ph name="PRODUCT_OS_NAME" /> ierīcēs tiek izmantots noklusējuma periods 345 600 000 milisekundes (četras dienas), savukārt pārlūkā <ph name="PRODUCT_NAME" /> — 604 800 000 milisekundes (viena nedēļa).</translation>
 <translation id="8685024486845674965">Paroles aizsardzības brīdinājums ir aktivizēts, atkārtoti izmantojot paroli</translation>
 <translation id="8693243869659262736">Iebūvētā DNS klienta izmantošana</translation>
+<translation id="8698286761337647563">Cik dienas iepriekš paziņot SAML lietotājiem, ka viņu parolei beigsies derīguma termiņš</translation>
 <translation id="8703488928438047864">Ziņot par paneļa statusu</translation>
 <translation id="8703872185032220081">Iestatiet enerģijas maksimuma pārslēgšanas dienas konfigurāciju.
 
@@ -3946,6 +4125,7 @@
       Ja šis iestatījums ir atspējots vai tam nav iestatīta vērtība, paroļu aizsardzības pakalpojums novirza lietotājus uz vietni https://myaccounts.google.com, lai nomainītu paroli.
       Šī politika ir pieejama tikai Windows instancēs, kas ir savienotas ar <ph name="MS_AD_NAME" /> domēnu, vai Windows 10 Pro vai Enterprise instancēs, kas ir reģistrētas ierīču pārvaldībai.</translation>
 <translation id="8798099450830957504">Noklusējums</translation>
+<translation id="8800453707696044281">Iestatīt pielāgotu akumulatora uzlādes līmeni (procentos), kurā ir jāpārtrauc uzlāde</translation>
 <translation id="8801680448782904838">Paziņot lietotājam, ka ir ieteicama vai nepieciešama pārlūka atkārtota palaišana vai ierīces restartēšana</translation>
 <translation id="8818173863808665831">Ziņot par ierīces ģeogrāfisko atrašanās vietu.
 
@@ -4060,6 +4240,11 @@
       Šī politika attiecas tikai uz lietotājiem, kuri tika autentificēti, izmantojot SAML.
 
       Politikas vērtība ir jānorāda sekundēs.</translation>
+<translation id="9018338365267278833">Šādā veidā tiks noņemti paplašinājumi, kas redzami šeit: <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, vai paplašinājumi, kas norādīti politikā <ph name="EXTENSION_SETTINGS_POLICY_NAME" />, kuru instalēšanas režīms ir iestatīts kā bloķēts un ar kuriem tiks notīrīti lietotāja lokālie dati.  Lai saprastu, kas var notikt ar lietotāja datiem, kuri nav saglabāti lokāli, skatiet paplašinājumu konfidencialitātes politiku vai datu uzglabāšanas politiku.
+
+      Ja politika ir iespējota, paplašinājumi, kas ietilpst iepriekš minētajos sarakstos (ja tie jau ir instalēti ierīcē), tiks pilnībā noņemti no šīs ierīces (tostarp lokālie lietotāja dati).
+
+      Ja politika ir atspējota vai nav iestatīta, paplašinājumi, kas ietilpst iepriekš minētajos sarakstos (ja tie jau ir instalēti ierīcē un atrodas melnajā sarakstā <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />), tiks atspējoti ierīcē, bet netiks atinstalēti.</translation>
 <translation id="9027787254195333560">Šī politika ļauj konfigurēt lietotāja iemiesojuma attēlu, kas tiek rādīts pieteikšanās ekrānā. Politika tiek iestatīta, norādot URL, no kura <ph name="PRODUCT_OS_NAME" /> var lejupielādēt iemiesojuma attēlu un šifrēšanas jaukšanu, kas tiek izmantota, lai apstiprinātu lejupielādes integritāti. Attēlam ir jābūt JPEG formātā, un tā lielums nedrīkst pārsniegt 512 KB. URL ir jābūt pieejamam bez autentifikācijas.
 
       Iemiesojuma attēls ir lejupielādēts un saglabāts kešatmiņā. Tas tiks lejupielādēts atkārtoti, kad mainīsies URL vai jaucējkods.
diff --git a/components/policy/resources/policy_templates_mr.xtb b/components/policy/resources/policy_templates_mr.xtb
index 25356ca..0b8fe7a 100644
--- a/components/policy/resources/policy_templates_mr.xtb
+++ b/components/policy/resources/policy_templates_mr.xtb
@@ -277,7 +277,7 @@
 
       धोरण सेट न करता सोडल्यास, डीफॉल्ट मूल्य 'MultiProfileUserBehaviorMustBePrimary' संस्था-व्यवस्थापित वापरकर्त्यांना लागू होते आणि 'MultiProfileUserBehaviorUnrestricted' व्यवस्थापित-न केलेल्या वापरकर्त्यांसाठी वापरले जाईल.</translation>
 <translation id="1465619815762735808">प्ले करण्यासाठी क्लिक करा</translation>
-<translation id="1468307069016535757">लॉगिन स्क्रीनवर उच्च कॉंट्रास्ट मोड अॅक्सेसयोग्यता वैशिष्ट्याची डीफॉल्ट स्थिती सेट करा.
+<translation id="1468307069016535757">लॉगिन स्क्रीनवर उच्च कॉंट्रास्ट मोड ॲक्सेसयोग्यता वैशिष्ट्याची डीफॉल्ट स्थिती सेट करा.
 
           हे धोरण सत्य वर सेट असल्यास, जेव्हा लॉगिन स्क्रीन दाखवली जाते तेव्हा उच्च कॉंट्रास्ट मोड सक्षम होईल.
 
@@ -460,7 +460,7 @@
       हे धोरण सेट न करता सोडून दिल्यास, नेटवर्क पूर्वानुमान सुरू केले जाईल पण वापरकर्ता ते बदलू शकेल.</translation>
 <translation id="1865417998205858223">की परवानग्या</translation>
 <translation id="186719019195685253">AC ऊर्जेवर रन होताना निष्क्रिय विलंब झाल्यानंतर करण्याची कारवाई</translation>
-<translation id="187819629719252111"><ph name="PRODUCT_NAME" /> ला फाइल निवड संवाद प्रदर्शित करण्याची परवानगी देऊन मशीनवरील स्थानिक फायलींना अॅक्सेस करण्याची परवानगी देते. तुम्ही हे सेटिंग सक्षम केल्यास, वापरकर्ते फाइल निवड संवाद सर्वसाधारण पद्धतीने उघडू शकतात. तुम्ही हे सेटिंग अक्षम केल्यास, जेव्हा वापरकर्ता फाइल निवड संवाद ( जसे बुकमार्क इंपोर्ट करणे, फायली अपलोड करणे, लिंक सेव्ह करणे इ.) उत्पन्न करण्याची क्रिया करेल तसा त्याऐवजी संदेश प्रदर्शित केला जातो आणि वापरकर्ता फाइल निवड संवादावर रद्द करा क्लिक केले असल्याचे मानतो. हे सेटिंग सेट नसल्यास, वापरकर्ते फाइल निवड संवाद सर्वसाधारण पद्धतीने उघडू शकतात.</translation>
+<translation id="187819629719252111"><ph name="PRODUCT_NAME" /> ला फाइल निवड संवाद प्रदर्शित करण्याची परवानगी देऊन मशीनवरील स्थानिक फायलींना ॲक्सेस करण्याची परवानगी देते. तुम्ही हे सेटिंग सक्षम केल्यास, वापरकर्ते फाइल निवड संवाद सर्वसाधारण पद्धतीने उघडू शकतात. तुम्ही हे सेटिंग अक्षम केल्यास, जेव्हा वापरकर्ता फाइल निवड संवाद (जसे बुकमार्क इंपोर्ट करणे, फायली अपलोड करणे, लिंक सेव्ह करणे इ.) उत्पन्न करण्याची क्रिया करेल तसा त्याऐवजी संदेश प्रदर्शित केला जातो आणि वापरकर्ता फाइल निवड संवादावर रद्द करा क्लिक केले असल्याचे मानतो. हे सेटिंग सेट नसल्यास, वापरकर्ते फाइल निवड संवाद सर्वसाधारण पद्धतीने उघडू शकतात.</translation>
 <translation id="1885782360784839335">पूर्ण-टॅब जाहिरात आशय दाखवणे सुरू करा</translation>
 <translation id="1888871729456797026">डेस्कटॉपवरील क्लाउड धोरणाच्या नोंदणीचे टोकन</translation>
 <translation id="1897365952389968758">सर्व साइटना JavaScript रन करण्याची परवानगी द्या</translation>
@@ -753,7 +753,7 @@
 
       हे धोरण असत्य वर सेट केले असल्यास, शून्य-विलंब स्वयं-लॉगिन (कॉन्फिगर केले असल्यास) दुसर्‍या मार्गाने करता येऊ शकत नाही.</translation>
 <translation id="2454228136871844693">स्थिरतेसाठी ऑप्टिमाइझ करा.</translation>
-<translation id="2463365186486772703">अॅप्लिकेशन लोकॅल</translation>
+<translation id="2463365186486772703">ॲप्लिकेशन लोकॅल</translation>
 <translation id="2466131534462628618">कॅप्टिव्‍ह पोर्टल प्रमाणीकरण प्रॉक्सीकडे दुर्लक्ष करते</translation>
 <translation id="2482676533225429905">मूळ संदेशन</translation>
 <translation id="2483146640187052324">कोणत्याही नेटवर्क कनेक्शनवर नेटवर्क क्रियांचे पूर्वानुमान करा</translation>
@@ -785,7 +785,7 @@
 
       हे सेटिंग सक्षम केलेले असल्यास किंवा कॉन्फिगर केलेले नसल्यास, वापरकर्ते प्रिंट करू शकतात.
 
-      हे सेटिंग अक्षम केलेले असल्यास, वापरकर्ते <ph name="PRODUCT_NAME" /> वरून प्रिंट करू शकत नाहीत. प्रिंट करणे पाना मेनू, विस्तार, JavaScript अॅप्लिकेशन, इ. मध्ये अक्षम केले आहे. प्रिंट करताना <ph name="PRODUCT_NAME" /> ला बायपास करणार्‍या प्लगिनवरून प्रिंट करणे शक्य आहे. उदाहरणार्थ, विशिष्ट Flash अॅप्लिकेशनांना त्यांच्या संदर्भ मेनूमध्ये प्रिंट पर्याय असतात, जे या धोरणाद्वारे कव्हर केले जात नाही.</translation>
+      हे सेटिंग अक्षम केलेले असल्यास, वापरकर्ते <ph name="PRODUCT_NAME" /> वरून प्रिंट करू शकत नाहीत. प्रिंट करणे पाना मेनू, विस्तार, JavaScript ॲप्लिकेशन, इ. मध्ये अक्षम केले आहे. प्रिंट करताना <ph name="PRODUCT_NAME" /> ला बायपास करणार्‍या प्लगिनवरून प्रिंट करणे शक्य आहे. उदाहरणार्थ, विशिष्ट Flash ॲप्लिकेशनना त्यांच्या संदर्भ मेनूमध्ये प्रिंट पर्याय असतात, जे या धोरणाद्वारे कव्हर केले जात नाही.</translation>
 <translation id="2518231489509538392">ऑडिओ प्ले करण्यास अनुमती द्या</translation>
 <translation id="2521581787935130926">बुकमार्क बार मध्ये अॅप्स शार्टकट दर्शवा</translation>
 <translation id="2529659024053332711">तुम्हाला स्टार्टअपवर वर्तन नमूद करू देते.
@@ -1104,7 +1104,7 @@
 
 
           हे धोरण सेट न केल्यास, 'JavaScript ला अनुमती द्या' वापरण्‍यात येईल आणि वापरकर्ता ते सेट करण्‍यास सक्षम असेल.</translation>
-<translation id="3038323923255997294"><ph name="PRODUCT_NAME" /> बंद असताना पार्श्वभूमी अॅप्लिकेशन चालविणे सुरु ठेवा</translation>
+<translation id="3038323923255997294"><ph name="PRODUCT_NAME" /> बंद असताना पार्श्वभूमी ॲप्लिकेशन चालविणे सुरु ठेवा</translation>
 <translation id="3046192273793919231">ऑनलाइन स्थितीचे परीक्षण करण्‍यासाठी नेटवर्क पॅकेट व्यवस्थापन सर्व्हरकडे पाठवा</translation>
 <translation id="3047732214002457234">Chrome क्लीनअप Google ला डेटाचा अहवाल कसा देते ते नियंत्रित करते</translation>
 <translation id="304775240152542058">हे धोरण पर्यायी ब्राउझर लाँच करण्यासाठी कमांड लाइन पॅरामीटरवर नियंत्रण ठेवते.
@@ -1184,7 +1184,7 @@
 ते सेट केले नसल्यास, वापरकर्त्याला इंपोर्ट करायचे की किंवा ‍नाही, किंवा इंपोर्ट करणे स्वयंचलितपणे होण्याबाबत विचारले जाते.</translation>
 <translation id="3219421230122020860">गुप्त मोड उपलब्ध</translation>
 <translation id="3220624000494482595">हे धोरण <ph name="TRUE" /> वर सेट केले असले तरी देखील, कियोस्क ॲप हा Android ॲप असल्यास, त्याचे <ph name="PRODUCT_OS_NAME" /> आवृत्तीवर नियंत्रण नसेल.</translation>
-<translation id="3236046242843493070">विस्तार, अॅप्लिकेशन आणि यावरील वापरकर्ता स्क्रिप्ट स्थापनांना अनुमती देण्यासाठी URL नमुने</translation>
+<translation id="3236046242843493070">विस्तार, ॲप्लिकेशन आणि यावरील वापरकर्ता स्क्रिप्ट स्थापनांना अनुमती देण्यासाठी URL नमुने</translation>
 <translation id="3240609035816615922">प्रिंटर कॉन्फिगरेशन अॅक्सेस धोरण.</translation>
 <translation id="3243309373265599239">वापरकर्ता इनपुटशिवाय वेळेची लांबी नमूद करते ज्यानंतर AC उर्जेवर चालताना स्क्रीन अंधुक होते.
 
@@ -1608,7 +1608,7 @@
 
 हे धोरण केवळ SAML द्वारे ऑथेंटिकेट होणाऱ्या वापरकर्त्यांवर परिणाम करते.</translation>
 <translation id="4105989332710272578">URL च्या सूचीसाठी सर्टिफिकेट पारदर्शकता अंमलबजावणी अक्षम करा</translation>
-<translation id="4121350739760194865">अॅप्लिकेशन जाहिरातींना नवीन टॅब पेजवर दिसण्यापासून प्रतिबंधित करा</translation>
+<translation id="4121350739760194865">ॲप्लिकेशन जाहिरातींना नवीन टॅब पेजवर दिसण्यापासून प्रतिबंधित करा</translation>
 <translation id="4125606414556046117">हे धोरण तुम्हाला डेस्कटॉपवर दैखवण्यात आलेली वॉलपेपर इमेज आणि वापरकर्त्यासाठी लॉगइन स्क्रीन बॅकग्राउंड कॉन्फिगर करू देते. हे धोरण एक URL नमूद करून सेट करण्यात आले आहे जेथून <ph name="PRODUCT_OS_NAME" /> वॉलपेपर इमेज डाउनलोड करू शकते आणि डाउनलोडच्या अखंडतेची पडताळणी करण्यासाठी एक क्रिप्टोग्राफिक हॅश वापरला जातो. इमेज JPEG स्वरूपात असली पाहिजे, तिचा आकार 16MBपेक्षा मोठा नसावा. URL अॉथेंटिकेशनाशिवाय अॅक्सेस करण्यायोग्य असावी.
 
       वॉलपेेपर इमेज डाउनलोड आणि कॅशे  केली जाते. URL किंवा हॅश बदलतो तेव्हा ती पुन्हा डाउनलोड केली जाईल.
@@ -1907,7 +1907,7 @@
           कमकुवत पिनची काही उदाहरणे: केवळ एक अंक असलेले पिन (1111), असे पिन ज्यामधील अंकांमध्‍ये 1 ने वाढ होत जाते (1234), असे पिन ज्यामधील अंक 1 ने कमी होत जातात (4321) आणि सामान्यपणे वापरले जाणारे पिन.
 
           डीफॉल्टनुसार, पिन कमकुवत असल्याचे वाटल्यास वापरकर्त्यांना एरर ऐवजी, एक चेतावणी मिळेल.</translation>
-<translation id="4723829699367336876">रिमोट अॅक्सेस क्लायंटमधून फायरवॉल ट्रॅव्हर्सल सक्षम करा</translation>
+<translation id="4723829699367336876">रिमोट ॲक्सेस क्लायंटमधून फायरवॉल ट्रॅव्हर्सल सक्षम करा</translation>
 <translation id="4725528134735324213">Android बॅकअप सेवा सक्षम करा</translation>
 <translation id="4725801978265372736">स्थानिक वापरकर्ता आणि रिमोट अॅक्सेस होस्ट मालक यांचे नाव जुळणे आवश्‍यक आहे</translation>
 <translation id="4733471537137819387">समाकलित HTTP प्रमाणीकरणाशी संबंधित धोरणे.</translation>
@@ -2472,7 +2472,7 @@
       URL (जसे की https://example.com/some/path) केवळ U2F appIDs शी जुळेल. डोमेन (जसे की example.com) केवळ webauthn RP ID शी जुळतील. म्हणून, दिलेल्या साइटसाठी U2F आणि webauthn API दोन्ही कव्हर करण्यासाठी, appID URL आणि डोमेन दोन्ही सूचीबद्ध करणे आवश्यक असेल.</translation>
 <translation id="5836064773277134605">दूरस्थ प्रवेश होस्टद्वारे वापरलेली UDP पोर्ट वर्गवारी प्रतिबंधित करा</translation>
 <translation id="5861856285460256766">पालक अ‍ॅक्सेस कोड कॉंफिगरेशन</translation>
-<translation id="5862253018042179045">लॉगिन स्क्रीनवर बोललेला फीडबॅक अॅक्सेसयोग्यता वैशिष्ट्याची डीफॉल्ट स्थिती सेट करा.
+<translation id="5862253018042179045">लॉगिन स्क्रीनवर बोललेला फीडबॅक ॲक्सेसयोग्यता वैशिष्ट्याची डीफॉल्ट स्थिती सेट करा.
 
           हे धोरण सत्य वर सेट असल्यास, जेव्हा लॉगिन स्क्रीन दाखवली असते तेव्हा बोललेला फीडबॅक सक्षम केला जाईल.
 
@@ -2485,14 +2485,14 @@
 <translation id="5879014913445067283"><ph name="NETBIOS_NAME" /> मार्फत नेटवर्क फाइल शेअर शोध नियंत्रित करते</translation>
 <translation id="5882345429632338713">पर्यायी ब्राउझर लाँच करण्यापूर्वी झालेला उशीर (मिलीसेकंद)</translation>
 <translation id="5883015257301027298">डीफॉल्ट कुकीज सेटिंग</translation>
-<translation id="5887414688706570295">TalkGadget प्रत्यय कॉन्फिगर करते जे रिमोट अॅक्सेस होस्टद्वारे वापरले जाते आणि वापरकर्त्यास त्यास वापरण्यापासून प्रतिबंधित करते.
+<translation id="5887414688706570295">TalkGadget प्रत्यय कॉन्फिगर करते जे रिमोट ॲक्सेस होस्टद्वारे वापरले जाते आणि वापरकर्त्यास त्यास वापरण्यापासून प्रतिबंधित करते.
           नमूद केल्यास, हा प्रत्यय TalkGadget करिता एक पूर्ण डोमेन तयार करण्यासाठी आधारभूत TalkGadget नावामध्ये योजला आहे. आधारभूत TalkGadget डोमेन नाव '.talkgadget.google.com' हे आहे.
 
-          ही सेटिंग सक्षम केल्यास, जेव्हा डीफॉल्ट डोमेन नावाऐवजी TalkGadget वर अॅक्सेस करत असल्यास नंतर होस्‍ट कस्टमाइझ डोमेन नाव वापरेल.
+          ही सेटिंग सक्षम केल्यास, जेव्हा डीफॉल्ट डोमेन नावाऐवजी TalkGadget वर ॲक्सेस करत असल्यास नंतर होस्‍ट कस्टमाइझ डोमेन नाव वापरेल.
 
           सेटिंग अक्षम असल्यास किंवा सेट नसल्यास, नंतर डीफॉल्ट TalkGadget डोमेन नाव ('chromoting-host.talkgadget.google.com') सर्व होस्टसाठी वापरले जाईल.
 
-रिमोट अॅक्सेस ग्राहक या धोरण सेटिंग द्वारे प्रभावित नाहीत. ते TalkGadget वर अॅक्सेस करण्‍यासाठी नेहमीच 'chromoting-client.talkgadget.google.com' वापरतील.</translation>
+रिमोट ॲक्सेस ग्राहक या धोरण सेटिंग द्वारे प्रभावित नाहीत. ते TalkGadget वर ॲक्सेस करण्‍यासाठी नेहमीच 'chromoting-client.talkgadget.google.com' वापरतील.</translation>
 <translation id="5893553533827140852">हे सेटिंग सक्षम असल्यास, दूरस्थ होस्ट कनेक्शनवर gnubby प्रमाणीकरण विनंत्या प्रॉक्सी केल्या जातील.
 
           हे सेटिंग अक्षम असल्यास किंवा कॉन्फिगर न केल्यास, gnubby प्रमाणीकरण विनंत्या प्रॉक्सी केल्या जाणार नाहीत.</translation>
@@ -2511,7 +2511,7 @@
       असत्यवर सेट केल्यास, त्यात थ्रॉटलिंग असणार नाही.
       सत्यवर सेट केल्यास, प्रदान केलेले अपलोड आणि डाउनलोड दर (kbits/से मध्ये) प्रदान करण्यासाठी सिस्टम थ्रॉटल होते.</translation>
 <translation id="5921713479449475707">HTTP द्वारे स्वयंअद्यतन डाउनलोडला अनुमती द्या</translation>
-<translation id="5921888683953999946">लॉगिन स्क्रीनवरील मोठा कर्सर अॅक्सेसयोग्यता वैशिष्ट्याची डीफॉल्ट स्थिती सेट करा.
+<translation id="5921888683953999946">लॉगिन स्क्रीनवरील मोठा कर्सर ॲक्सेसयोग्यता वैशिष्ट्याची डीफॉल्ट स्थिती सेट करा.
 
           हे धोरण सत्य वर सेट असल्यास, जेव्हा लॉगिन स्क्रीन दाखवली जाते तेव्हा मोठा कर्सर सक्षम केला जाईल.
 
@@ -3102,11 +3102,11 @@
           <ph name="PRODUCT_NAME" /> ७७ पासून, हे धोरण दुर्लक्षित केले जाईल आणि बंद झाल्याचे गृहीत धरले जाईल</translation>
 <translation id="7126716959063786004">टास्क मॅनेजरवर संपणाऱ्या प्रक्रिया यास सुरू करा</translation>
 <translation id="7127892035367404455">लक्ष्य आवृत्तीवर रोलबॅक करा</translation>
-<translation id="7128918109610518786">अॅप्स आयडेंटिफाय <ph name="PRODUCT_OS_NAME" /> लाँचर बारमध्ये पिन करुन सूची रुपात अॅप्स दर्शवितात.
+<translation id="7128918109610518786">ॲप्स आयडेंटिफाय <ph name="PRODUCT_OS_NAME" /> लाँचर बारमध्ये पिन करुन सूची रुपात ॲप्स दर्शवितात.
 
-      हे धोरण सेट केलेले नसल्यास, अॅप्सचा संच निश्चित केला जातो आणि वापरकर्त्याकडून बदलला जाऊ शकत नाही.
+      हे धोरण सेट केलेले नसल्यास, ॲप्सचा संच निश्चित केला जातो आणि वापरकर्त्याकडून बदलला जाऊ शकत नाही.
 
-      हे धोरण सेट न करता सोडल्यास, वापरकर्ता लाँचरमध्ये पिन केलेल्या अॅप्सची सूची बदलू शकतो.</translation>
+      हे धोरण सेट न करता सोडल्यास, वापरकर्ता लाँचरमध्ये पिन केलेल्या ॲप्सची सूची बदलू शकतो.</translation>
 <translation id="7132877481099023201">सूचनेशिवाय व्हिडिओ कॅप्चर डिव्हाइसेसवर प्रवेश मंजूर करणार असलेल्या URL</translation>
 <translation id="7138678301420049075">इतर</translation>
 <translation id="7140629953254369759">विशिष्ट नावाने ओळखलेले कार्य शेड्युलर कॉन्फिगरेशन वापरण्याची <ph name="PRODUCT_OS_NAME" /> ला सूचना देते.
@@ -3249,7 +3249,7 @@
 <translation id="7336785017449297672">घड्याळ आणि टाइमझोन सेटिंग्ज नियंत्रित करते.</translation>
 <translation id="7336878834592315572">सत्राच्या कालावधीसाठी कुकीज ठेवा</translation>
 <translation id="7339315111520512972">नेटवर्किंग कोडला ब्राउझर प्रक्रियेत सक्तीने रन व्हायला लावा</translation>
-<translation id="7340034977315324840">डिव्हाइस अॅक्टिव्हिटी वेळांची तक्रार करा</translation>
+<translation id="7340034977315324840">डिव्हाइस ॲक्टिव्हिटी वेळांची तक्रार करा</translation>
 <translation id="7343497214039883642">डीव्हाइससाठी एंटरप्राइझ प्रिंटर कॉन्फिगरेशन फाइल</translation>
 <translation id="735902178936442460">हे धोरण मशीनचे नाव आणि नेटवर्क पत्ते यासारखी मशीन ओळखण्यासाठी वापरली जाऊ शकणारी माहिती द्यायची की नाही हे नियंत्रित करते.
 
@@ -3355,7 +3355,7 @@
       जेव्हा हे धोरण सेट केलेले नसते तेव्हा अल्पवयीन वापरकर्त्याच्या डिव्हाइसवर पालक अ‍ॅक्सेस कोडची पडताळणी करणे शक्य होत नाही.</translation>
 <translation id="7625444193696794922">हे डिव्हाइस ज्यात लॉक करायला हवे तो रिलीज चॅनेल निर्दिष्‍ट करते.</translation>
 <translation id="7632724434767231364">GSSAPI लायब्ररी नाव</translation>
-<translation id="7635471475589566552"><ph name="PRODUCT_NAME" /> मध्ये अॅप्स लोकॅल कॉन्फिगर करते आणि वापरकर्त्यांना लोकॅल बदलण्यापासून प्रतिबंधित करते. तुम्ही हे सेटिंग सुरू केल्यास, <ph name="PRODUCT_NAME" /> नमूद केलेले लोकॅल वापरते. कॉन्फिगर केलेले लोकॅल सपोर्ट केलेले नसल्यास, त्याऐवजी 'en-US' वापरले जाते. हे सेटिंग बंद केलेले किंवा कॉन्फिगर केलेले नसल्यास, <ph name="PRODUCT_NAME" /> वापरकर्त्याने नमूद केलेले लोकॅल (कॉन्फिगर असल्यास), सिस्टम लोकॅल किंवा फॉलबॅक लोकॅल 'en-US' पैकी एक वापरेल.</translation>
+<translation id="7635471475589566552"><ph name="PRODUCT_NAME" /> मध्ये ॲप्स लोकॅल कॉन्फिगर करते आणि वापरकर्त्यांना लोकॅल बदलण्यापासून प्रतिबंधित करते. तुम्ही हे सेटिंग सुरू केल्यास, <ph name="PRODUCT_NAME" /> नमूद केलेले लोकॅल वापरते. कॉन्फिगर केलेले लोकॅल सपोर्ट केलेले नसल्यास, त्याऐवजी 'en-US' वापरले जाते. हे सेटिंग बंद केलेले किंवा कॉन्फिगर केलेले नसल्यास, <ph name="PRODUCT_NAME" /> वापरकर्त्याने नमूद केलेले लोकॅल (कॉन्फिगर असल्यास), सिस्टम लोकॅल किंवा फॉलबॅक लोकॅल 'en-US' पैकी एक वापरेल.</translation>
 <translation id="7641363659597330616">वापरकर्त्यांना सुरक्षा निर्णय बदलू न देता, <ph name="PRODUCT_NAME" /> द्वारे पूर्णपणे ब्लॉक केल्या जाणाऱ्या डाउनलोडचे प्रकार कॉन्फिगर करते.
 
       जर तुम्ही हे धोरण सेट केले तर, <ph name="PRODUCT_NAME" /> द्वारे विशिष्ट प्रकारचे डाउनलोड रोखले जातील आणि वापरकर्त्याला सुरक्षा इशारे टाळता येणार नाहीत.
@@ -3798,7 +3798,7 @@
 
       वापरकर्ते हे सेटिंग बदलू शकणार नाही किंवा ओव्‍हरराइड करू शकणार नाही.</translation>
 <translation id="8631434304112909927">आवृत्ती <ph name="UNTIL_VERSION" /> पर्यंत</translation>
-<translation id="8649763579836720255">संरक्षित आशय प्ले करण्यासाठी डिव्हाइस पात्र असल्याचे ठासून सांगणार्‍या Chrome OS CA द्वारे जारी केलेले सर्टिफिकेट मिळण्यासाठी Chrome OS डिव्हाइसेस दूरस्थ अनुप्रमाणन (पडताळलेला अॅक्सेस) वापरू शकतात.  ही प्रक्रिया अनन्यपणे डिव्हाइस ओळखणार्‍या Chrome OS CA कडे हार्डवेअर सपोर्ट माहिती पाठविण्याचा समावेश करते.
+<translation id="8649763579836720255">संरक्षित आशय प्ले करण्यासाठी डिव्हाइस पात्र असल्याचे ठासून सांगणार्‍या Chrome OS CA द्वारे जारी केलेले सर्टिफिकेट मिळण्यासाठी Chrome OS डिव्हाइसेस दूरस्थ अनुप्रमाणन (पडताळलेला ॲक्सेस) वापरू शकतात. ही प्रक्रिया अनन्यपणे डिव्हाइस ओळखणार्‍या Chrome OS CA कडे हार्डवेअर सपोर्ट माहिती पाठविण्याचा समावेश करते.
 
           हे सेटिंग असत्य असल्यास, आशय संरक्षणासाठी डिव्हाइस दूरस्थ अनुप्रमाणन वापरणार नाही आणि संरक्षित आशय प्ले करण्यात डिव्हाइस अक्षम असू शकते.
 
@@ -4120,7 +4120,7 @@
 
       डिव्हाइस वॉलपेपर धोरण सेट न केलेले ठेवल्‍यास, वापरकर्त्याचे वॉलपेपर धोरण सेट केले असल्यास काय दाखवावे ते वापरकर्त्याचे वॉलपेपर धोरण ठरविते.</translation>
 <translation id="9217154963008402249">नेटवर्क पॅकेटच्या परीक्षणाची वारंवारता</translation>
-<translation id="922540222991413931">विस्तार, अॅप्लिकेशन आणि वापरकर्ता स्क्रिप्ट स्थापना स्रोत कॉन्फिगर करा</translation>
+<translation id="922540222991413931">विस्तार, ॲप्लिकेशन आणि वापरकर्ता स्क्रिप्ट स्थापना स्रोत कॉन्फिगर करा</translation>
 <translation id="924557436754151212">प्रथमच रन होताना डीफॉल्ट ब्राउझरमधून सेव्ह केलेले पासवर्ड इंपोर्ट करा</translation>
 <translation id="926146562923985266">हे धोरण Internet Explorer वरून स्विच करताना <ph name="PRODUCT_NAME" /> मध्ये URL उघडण्यासाठी वापरण्याची कमांड नियंत्रित करते.
 
diff --git a/components/policy/resources/policy_templates_pl.xtb b/components/policy/resources/policy_templates_pl.xtb
index 5245624..dbe8a0b 100644
--- a/components/policy/resources/policy_templates_pl.xtb
+++ b/components/policy/resources/policy_templates_pl.xtb
@@ -49,6 +49,13 @@
 <translation id="1046484220783400299">Włącz wycofane funkcje platform internetowych na określony czas</translation>
 <translation id="1047128214168693844">Nie zezwalaj żadnej witrynie na śledzenie fizycznej lokalizacji użytkownika</translation>
 <translation id="1049138910114524876">Umożliwia skonfigurowanie ustawień regionalnych wymuszanych na ekranie logowania systemu <ph name="PRODUCT_OS_NAME" />. Jeśli ta zasada jest skonfigurowana, ekran logowania będzie zawsze wyświetlany z zastosowaniem ustawień regionalnych podanych jako pierwsza wartość tej zasady (aby zapewnić zgodność w przyszłości, zasada jest zdefiniowana jako lista). Jeśli zasada jest nieskonfigurowana lub jej wartością jest pusta lista, ekran logowania będzie wyświetlany z zastosowaniem ustawień regionalnych ostatniej sesji użytkownika. Jeśli zasada będzie mieć wartość, która nie określa prawidłowych ustawień regionalnych, ekran logowania będzie wyświetlany z zastosowaniem zastępczych ustawień regionalnych (obecnie en-US).</translation>
+<translation id="1052499923181221200">Ta zasada jest skuteczna tylko wtedy, gdy zasada SamlInSessionPasswordChangeEnabled ma wartość Prawda.
+      Jeśli ta druga zasada ma wartość Prawda, a ta zasada ma wartość (na przykład) 14, użytkownicy SAML będą powiadamiani z 14-dniowym wyprzedzeniem o zbliżającym się wygaśnięciu hasła.
+      Będą wtedy mogli natychmiast zmienić swoje hasło w trakcie sesji przed jego wygaśnięciem.
+      Powiadomienia te są wyświetlane tylko wtedy, gdy podczas procedury logowania SAML dostawca tożsamości SAML wysłał do urządzenia informację o wygaśnięciu hasła.
+      Ustawienie tej zasady na wartość 0 powoduje, że użytkownicy nie będą powiadamiani z wyprzedzeniem – zostaną powiadomieni dopiero po wygaśnięciu hasła.
+
+      Jeśli ta zasada jest skonfigurowana, użytkownik nie może zmienić ani zastąpić jej ustawienia.</translation>
 <translation id="1062011392452772310">Włącz zaświadczanie zdalne dla urządzenia</translation>
 <translation id="1062407476771304334">Zastąp</translation>
 <translation id="1079801999187584280">Zablokuj używanie narzędzi dla deweloperów</translation>
@@ -210,6 +217,7 @@
       Jeśli zasada jest włączona, Asystent Google ma dostęp do kontekstu ekranu.
       Jeśli zasada jest wyłączona, Asystent Google nie ma dostępu do kontekstu ekranu.
       Jeśli zasada jest nieskonfigurowana, użytkownik może zezwolić lub nie zezwolić Asystentowi Google na dostęp do kontekstu ekranu</translation>
+<translation id="1376119291123231789">Włącz zaawansowany tryb ładowania baterii</translation>
 <translation id="1383493480903114193">Ta zasada wymusza działanie kodu obsługi sieci w procesie przeglądarki.
 
       Ta zasada jest domyślnie wyłączona. Jej włączenie naraża bezpieczeństwo użytkowników po przeniesieniu procesu obsługi sieci do piaskownicy.
@@ -305,6 +313,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Włącz blokadę wstrzykiwania oprogramowania innych firm</translation>
 <translation id="1504431521196476721">Zdalne poświadczanie</translation>
+<translation id="1507382822467487898">
+          Umożliwia wybranie adresu MAC używanego, gdy urządzenie jest podłączone do stacji dokującej.
+
+          Po podłączeniu niektórych modeli urządzeń do stacji dokującej urządzenie jest domyślnie identyfikowane w sieci Ethernet na podstawie wyznaczonego adresu MAC stacji dokującej urządzenia. Ta zasada umożliwia administratorowi zmianę źródła adresu MAC używanego podczas zadokowania.
+
+          Jeśli wybrana jest opcja „DeviceDockMacAddress” lub zasada jest nieskonfigurowana, używany będzie wyznaczony adres MAC stacji dokującej urządzenia.
+
+          Jeśli wybrana jest opcja „DeviceNicMacAddress”, używany będzie adres MAC karty NIC urządzenia.
+
+          Jeśli wybrana jest opcja „DockNicMacAddress”, używany będzie adres MAC karty NIC stacji dokującej.
+
+          Użytkownik nie może zmienić tego ustawienia.</translation>
 <translation id="1507957856411744193">Jeśli ta zasada ma wartość true, <ph name="PRODUCT_NAME" /> będzie łączyć się z urządzeniami przesyłającymi pod wszystkimi adresami IP, a nie tylko pod adresami prywatnymi RFC1918/RFC4193.
 
           Jeśli ta zasada ma wartość false, <ph name="PRODUCT_NAME" /> będzie łączyć się z urządzeniami przesyłającymi tylko pod adresami prywatnymi RFC1918/RFC4193.
@@ -733,6 +753,17 @@
 <translation id="2303795211377219696">Włącz autouzupełnianie kart kredytowych</translation>
 <translation id="2309390639296060546">Domyślne ustawienie geolokalizacji</translation>
 <translation id="2327252517317514801">Zdefiniuj domeny, które będą mogły uzyskiwać dostęp do G Suite</translation>
+<translation id="2356878440219553005">Określa zasadę zarządzania zasilaniem Tryb ładowania baterii.
+
+          Umożliwia dynamiczne sterowanie ładowaniem baterii, by zminimalizować jej zużycie wynikające z obciążenia oraz zwiększyć jej żywotność.
+
+          Jeśli wybrano niestandardowy tryb ładowania baterii, muszą zostać podane wartości DeviceBatteryChargeCustomStartCharging i DeviceBatteryChargeCustomStopCharging.
+
+          Jeśli ta zasada została skonfigurowana, stosowany jest tryb ładowania baterii (o ile jest obsługiwany przez urządzenie).
+
+          Jeśli zasada nie została skonfigurowana, a urządzenie ją obsługuje, stosowany jest standardowy tryb ładowania baterii, a użytkownik nie może go zmienić.
+
+          Uwaga: Jeśli ustawiono zasadę <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" />, zastąpi ona tę zasadę.</translation>
 <translation id="237494535617297575">Umożliwia skonfigurowanie listy wzorców URL-i określających witryny, w których mogą być wyświetlane powiadomienia. Jeśli ta zasada nie zostanie skonfigurowana, dla wszystkich witryn będzie używana globalna wartość domyślna pochodząca z zasady „DefaultNotificationsSetting” (jeśli została skonfigurowana) lub z osobistej konfiguracji użytkownika.</translation>
 <translation id="2386362615870139244">Zezwalaj na blokowanie wybudzania ekranu</translation>
 <translation id="2411817661175306360">Ostrzeżenie dotyczące ochrony hasłem jest wyłączone</translation>
@@ -768,6 +799,7 @@
 
       Jeśli wartość to Fałsz, nie można ominąć zerowego opóźnienia logowania (o ile jest skonfigurowane).</translation>
 <translation id="2454228136871844693">Optymalizacja pod kątem stabilności.</translation>
+<translation id="2463034609187171371">Włącz mechanizmy szyfrowania DHE w TLS</translation>
 <translation id="2463365186486772703">Język aplikacji</translation>
 <translation id="2466131534462628618">Uwierzytelnianie w portalu przechwytującym ignoruje serwer proxy</translation>
 <translation id="2482676533225429905">Wiadomości natywne</translation>
@@ -939,6 +971,7 @@
 <translation id="2769952903507981510">Konfiguracja wymaganej nazwy domeny dla hostów zdalnego dostępu</translation>
 <translation id="2787173078141616821">Przesyłaj informacje o stanie Androida</translation>
 <translation id="2799297758492717491">Zezwalaj na automatyczne odtwarzanie multimediów na podstawie wzorców adresów URL na białej liście</translation>
+<translation id="2801155097555584385">Ustaw niestandardowy poziom rozpoczęcia ładowania baterii w procentach</translation>
 <translation id="2801230735743888564">Daje użytkownikom dostęp do ukrytej gry-żartu z dinozaurem, gdy urządzenie jest offline.
 
       Jeśli ta zasada jest wyłączona, użytkownicy nie mają dostępu do ukrytej gry-żartu z dinozaurem, gdy urządzenie jest offline. Jeśli jest włączona, użytkownicy mogą grać w tę grę. Jeśli zasada nie jest ustawiona, użytkownicy nie mają dostępu do gry na zarejestrowanych urządzeniach z Chrome OS, a w innych przypadkach mogą w nią grać.</translation>
@@ -1012,6 +1045,7 @@
       Jeśli wyłączysz to ustawienie lub pozostawisz je puste, w podglądzie wydruku zostanie wybrana ostatnio użyta drukarka.
 
       Jeśli włączysz to ustawienie, w podglądzie wydruku zostanie wybrana domyślna drukarka systemowa.</translation>
+<translation id="285627849510728211">Ustaw konfigurację dzienną zaawansowanego trybu ładowania baterii</translation>
 <translation id="2856674246949497058">Przywróć i pozostaw docelową wersję systemu operacyjnego, jeśli zainstalowana jest wersja nowsza niż docelowa. W trakcie tego procesu zostanie wykonana procedura Powerwash.</translation>
 <translation id="2872961005593481000">Wyłącz</translation>
 <translation id="2873651257716068683">Zastępuje domyślny rozmiar drukowanej strony. Jeśli dany rozmiar strony jest niedostępny, zasada jest ignorowana.</translation>
@@ -1141,12 +1175,26 @@
 <translation id="3072045631333522102">Wygaszacz ekranu używany na ekranie logowania w trybie sklepu</translation>
 <translation id="3072847235228302527">Określ Warunki korzystania z usługi dla lokalnego konta na urządzeniu</translation>
 <translation id="3077183141551274418">Włącza lub wyłącza cykle życia kart</translation>
+<translation id="3079417254871857650">Umożliwia określenie działania, które ma zostać wykonane, jeśli katalog główny użytkownika został utworzony z zastosowaniem szyfrowania ecryptfs.
+
+      Po wybraniu dla tej zasady ustawienia „DisallowArc” aplikacje na Androida będą wyłączone dla użytkownika i nie nastąpi zmiana szyfrowania z ecryptfs na ext4. Jeśli katalog główny jest już zaszyfrowany za pomocą ext4, uruchamianie aplikacji na Androida nie będzie zablokowane.
+
+      Po wybraniu dla tej zasady ustawienia „Migrate” (Migruj) katalogi główne zaszyfrowane za pomocą ecryptfs będą automatycznie zamienianie na ext4 przy logowaniu się użytkownika bez pytania go o zgodę.
+
+      Po wybraniu dla tej zasady ustawienia „Wipe” (Wyczyść) katalogi główne zaszyfrowane za pomocą ecryptfs będą usuwane przy logowaniu się użytkownika, a na ich miejsce będą tworzone nowe katalogi główne zaszyfrowane za pomocą ext4. Ostrzeżenie: spowoduje to usunięcie lokalnych danych użytkownika.
+
+      Po wybraniu dla tej zasady ustawienia „MinimalMigrate” (Migracja minimalna) katalogi główne zaszyfrowane za pomocą ecryptfs będą usuwane przy logowaniu się użytkownika, a na ich miejsce będą tworzone nowe katalogi główne zaszyfrowane za pomocą ext4. Postaramy się jednak zachować tokeny logowania, by użytkownik nie musiał ponownie się logować. Ostrzeżenie: spowoduje to usunięcie lokalnych danych użytkownika.
+
+      Jeśli ustawisz tę zasadę na opcję, która nie jest już obsługiwana („AskUser” lub „AskForEcryptfsArcUsers”), będzie to traktowane tak, jakby wybrana została opcja „Migrate”.
+
+      Ta zasada nie ma zastosowania do użytkowników trybu kiosku. Jeśli ta zasada pozostanie nieskonfigurowana, urządzenie będzie działać, jak gdyby zostało dla niej wybrane ustawienie „DisallowArc”.</translation>
 <translation id="3086995894968271156">Konfigurowanie odbiornika Cast (<ph name="PRODUCT_NAME" />).</translation>
 <translation id="3088796212846734853">Umożliwia skonfigurowanie listy wzorców adresów URL określających witryny, w których mogą być wyświetlane obrazy.
 
           Jeśli ta zasada nie zostanie skonfigurowana, dla wszystkich witryn będzie używana globalna wartość domyślna pochodząca z zasady „DefaultImagesSettings” (jeśli została skonfigurowana) lub z osobistej konfiguracji użytkownika.
 
           Uwaga: chociaż ta zasada została wcześniej błędnie włączona w Androidzie, funkcja ta nie była nigdy w pełni obsługiwana w tym systemie.</translation>
+<translation id="3091832372132789233">Ładuj baterię urządzeń, które są zasadniczo podłączone do zewnętrznego źródła zasilania.</translation>
 <translation id="3096595567015595053">Lista włączonych wtyczek</translation>
 <translation id="3101501961102569744">Wybierz sposób określenia ustawień serwera proxy</translation>
 <translation id="3101709781009526431">Data i godzina</translation>
@@ -1172,6 +1220,7 @@
           Jeśli ta zasada jest wyłączona, <ph name="PRODUCT_NAME" /> będzie używać tylko hostów Wiadomości natywnych instalowanych na poziomie systemu.
 
           Jeśli ta zasada pozostanie nieskonfigurowana, <ph name="PRODUCT_NAME" /> umożliwia korzystanie z hostów Wiadomości natywnych na poziomie użytkownika.</translation>
+<translation id="3177802893484440532">Wymagaj sprawdzenia OCSP/CRL online dla lokalnych kotwic zaufania</translation>
 <translation id="3185009703220253572">od wersji <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Aplikacje na Androida nie mają dostępu do kluczy firmowych. Ta zasada nie ma na nie żadnego wpływu.</translation>
 <translation id="3205825995289802549">Zmaksymalizuj pierwsze okno wyświetlone przy pierwszym uruchomieniu przeglądarki</translation>
@@ -1185,6 +1234,7 @@
 <translation id="3220624000494482595">Jeśli aplikacja kiosku jest aplikacją na Androida, nie będzie mieć żadnej kontroli nad wersją <ph name="PRODUCT_OS_NAME" />, nawet jeśli ta zasada jest ustawiona na <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Wzorce URL-ów, z których dozwolone jest instalowanie rozszerzeń, aplikacji i skryptów użytkownika</translation>
 <translation id="3240609035816615922">Zasady dostępu do konfiguracji drukarki.</translation>
+<translation id="3240655340884151271">Adres MAC wbudowanej karty NIC stacji dokującej</translation>
 <translation id="3243309373265599239">Określa, po jakim czasie nieaktywności użytkownika przyciemniany jest ekran przy zasilaniu z sieci.
 
           Jeśli ta zasada ma wartość większą niż zero, określa czas, przez który użytkownik musi pozostać bezczynny, zanim <ph name="PRODUCT_OS_NAME" /> przyciemni ekran.
@@ -1206,6 +1256,12 @@
       Jeśli to ustawienie jest włączone lub nieskonfigurowane, użytkownicy mogą włączyć serwer proxy drukowania w chmurze, uwierzytelniając się na swoim koncie Google.
 
       W przypadku wyłączenia ustawienia użytkownicy nie mogą włączyć serwera proxy ani udostępnić w <ph name="CLOUD_PRINT_NAME" /> drukarek podłączonych do komputera.</translation>
+<translation id="3312206664202507568">Włącza stronę chrome://password-change umożliwiającą użytkownikom SAML zmianę hasła SAML w trakcie sesji, co zapewnia synchronizację hasła SAML i hasła blokady ekranu urządzenia.
+
+      Ta zasada włącza też powiadomienia ostrzegające użytkowników SAML o zbliżającym się wygaśnięciu hasła SAML i umożliwiające im natychmiastową zmianę hasła w trakcie sesji.
+      Powiadomienia te są wyświetlane tylko wtedy, gdy podczas procedury logowania SAML dostawca tożsamości SAML wysłał do urządzenia informację o wygaśnięciu hasła.
+
+      Jeśli ta zasada jest skonfigurowana, użytkownik nie może zmienić ani zastąpić jej ustawienia.</translation>
 <translation id="3322771899429619102">Umożliwia skonfigurowanie listy wzorcowych URL-i określających witryny, w których mogą być generowane klucze. Jeśli wzorzec adresu URL znajduje się w zasadzie „KeygenBlockedForUrls”, zastępuje to te wyjątki.
 
           Jeśli ta zasada nie zostanie skonfigurowana, dla wszystkich witryn będzie używana globalna wartość domyślna pochodząca z zasady „DefaultKeygenSetting” (jeśli została skonfigurowana) lub z osobistej konfiguracji użytkownika.</translation>
@@ -1289,6 +1345,7 @@
 
          Jeśli ta zasada będzie wyłączona lub nieustawiona, odliczanie opóźnień związanych z zarządzaniem energią oraz czasu związanego z limitem długości sesji będzie rozpoczynane od razu po rozpoczęciu sesji.</translation>
 <translation id="3478024346823118645">Wyczyść dane użytkownika przy wylogowaniu</translation>
+<translation id="3480961938508521469">Naładuj baterię całkowicie ze standardową szybkością.</translation>
 <translation id="348495353354674884">Włącz wirtualną klawiaturę</translation>
 <translation id="3487623755010328395">
         Jeśli ta zasada jest włączona, usługa <ph name="PRODUCT_NAME" /> podejmie próbę zarejestrowania samej siebie i zastosowania powiązanych zasad dotyczących chmury we wszystkich profilach.
@@ -1332,6 +1389,8 @@
 <translation id="3547954654003013442">Ustawienia serwera proxy</translation>
 <translation id="355118380775352753">Witryny otwierane w alternatywnej przeglądarce</translation>
 <translation id="3554984410014457319">Zezwól Asystentowi Google nasłuchiwać wyrażenia aktywującego obsługę komend głosowych</translation>
+<translation id="356579196325389849">Użytkownicy mogą skonfigurować kanał wersji Chrome OS</translation>
+<translation id="3575011234198230041">Uwierzytelnianie HTTP</translation>
 <translation id="3577251398714997599">Ustawienia reklam dla stron zawierających uciążliwe reklamy</translation>
 <translation id="357917253161699596">Zezwalaj użytkownikom na zarządzanie certyfikatami użytkownika</translation>
 <translation id="3583230441447348508">Określa listę prekonfigurowanych sieciowych udziałów plików.
@@ -1362,6 +1421,7 @@
 
         Ta zasada jest używana przez rejestrację zasad chmurowych obejmującą cały komputer na komputerach osobistych. Można ją skonfigurować przy użyciu Rejestru lub obiektu zasad grupy (GPO) w systemie Windows, plist na Macu i pliku zasad JSON na Linuksie.</translation>
 <translation id="3660562134618097814">Prześlij pliki cookie dostawcy tożsamości SAML podczas logowania</translation>
+<translation id="3668151900457104753">Odinstaluj rozszerzenia z czarnej listy</translation>
 <translation id="3701121231485832347">Kontroluje ustawienia urządzeń z systemem <ph name="PRODUCT_OS_NAME" />, którymi zarządza <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Pole z jednym wierszem jest nieużywane i zostanie usunięte. Zacznij używać wielowierszowego pola tekstowego poniżej).</translation>
 <translation id="3709266154059827597">Konfiguruj czarną listę instalacji rozszerzeń</translation>
@@ -1443,6 +1503,16 @@
           Jeśli nie skonfigurujesz tej zasady, początkowo klawiatura ekranowa będzie wyłączona, ale użytkownik w każdej chwili będzie mógł ją włączyć.</translation>
 <translation id="382476126209906314">Skonfiguruj przedrostek gadżetu TalkGadget dla hostów zdalnego dostępu</translation>
 <translation id="3824972131618513497">Kontroluje ustawienia związane z zarządzaniem energią i restartowaniem.</translation>
+<translation id="3826475866868158882">Usługi lokalizacyjne Google włączone</translation>
+<translation id="3831054243924627613">Ta zasada kontroluje początkowy stan funkcji tworzenia i przywracania kopii zapasowej Androida.
+
+      Jeśli ta zasada jest nieskonfigurowana lub ma ustawienie <ph name="BR_DISABLED" />, funkcja tworzenia i przywracania kopii zapasowej Androida jest początkowo wyłączona.
+
+      Jeśli ta zasada ma ustawienie <ph name="BR_ENABLED" />, funkcja tworzenia i przywracania kopii zapasowej Androida jest początkowo włączona.
+
+      Jeśli ta zasada ma ustawienie <ph name="BR_UNDER_USER_CONTROL" />, użytkownik jest pytany, czy chce używać funkcji tworzenia i przywracania kopii zapasowej Androida. Jeśli użytkownik włączy tworzenie i przywracanie kopii zapasowej, dane aplikacji na Androida są przesyłane na serwery usługi Android Backup i przywracane stamtąd po ponownym zainstalowaniu zgodnych aplikacji.
+
+      Pamiętaj, że ta zasada określa stan funkcji tworzenia i przywracania kopii zapasowych Androida tylko podczas początkowej konfiguracji. Użytkownik może później otworzyć ustawienia Androida i włączyć lub wyłączyć tę funkcję.</translation>
 <translation id="3831376478177535007">Gdy to ustawienie jest włączone, <ph name="PRODUCT_NAME" /> akceptuje certyfikaty ze starszej infrastruktury klucza publicznego Symantec Corporation, jeśli zostanie potwierdzona ich poprawność i zostaną łańcuchowo powiązane z rozpoznawanym certyfikatem CA.
 
       Uwaga: ta zasada zależy od tego, czy system operacyjny wciąż rozpoznaje certyfikaty ze starszej infrastruktury Symantec. Jeśli w systemie operacyjnym wskutek aktualizacji zmieni się sposób obsługi takich certyfikatów, ta zasada przestanie działać. Została ona pomyślana jako rozwiązanie tymczasowe, dzięki któremu firmy mają więcej czasu na rezygnację ze starszych certyfikatów Symantec. Ta zasada zostanie usunięta około 1 stycznia 2019 r.
@@ -1521,6 +1591,15 @@
 
           Jeśli nie ustawisz tej zasady lub wybierzesz wartość fałsz, użytkownicy mogą przesyłać pliki na Dysk Google.</translation>
 <translation id="3915395663995367577">Adres URL pliku PAC serwera proxy</translation>
+<translation id="3920892052017026701">Ustaw niestandardowy poziom rozpoczęcia ładowania baterii w procentach.
+
+          Po spadku poziomu naładowania do tej wartości bateria zacznie się ładować.
+
+          Wartość DeviceBatteryChargeCustomStartCharging musi być mniejsza niż DeviceBatteryChargeCustomStopCharging.
+
+          Ta zasada jest używana tylko wtedy, gdy zasada DeviceBatteryChargeMode ma ustawienie niestandardowe.
+
+          Jeśli ta zasada jest nieskonfigurowana, stosowany będzie standardowy tryb ładowania baterii.</translation>
 <translation id="3925377537407648234">Ustaw rozdzielczość ekranu i współczynnik skalowania</translation>
 <translation id="3939893074578116847">Wysyłaj pakiety sieciowe do serwera zarządzania w celu monitorowania stanu online,
       by serwer mógł sprawdzić, czy urządzenie jest offline.
@@ -1651,6 +1730,7 @@
 <translation id="4150201353443180367">Wyświetlacz</translation>
 <translation id="4157003184375321727">Zgłoś wersje systemu operacyjnego i oprogramowania układowego</translation>
 <translation id="4157594634940419685">Zezwalaj na dostęp do natywnych drukarek CUPS</translation>
+<translation id="4160962198980004898">Źródło adresu MAC urządzenia zadokowanego</translation>
 <translation id="4163705126749612234">Służy do konfigurowania wymaganych nazw domen klientów, które będą stosowane do klientów dostępu zdalnego. Blokuje też użytkownikom możliwość zmiany tych nazw.
 
           Jeśli ta zasada jest włączona, z hostem mogą się łączyć tylko klienty ze wskazanych domen.
@@ -1728,6 +1808,7 @@
       Pamiętaj, że nawet jeśli zasada będzie zawierać identyfikator aplikacji, nie oznacza to, że użytkownik będzie mógł włączyć aplikację do robienia notatek na ekranie blokady – np. w przypadku Chrome 61 lista dostępnych aplikacji jest dodatkowo ograniczona przez samą platformę.
 
       Jeśli ta zasada nie zostanie skonfigurowana, nie będzie ograniczeń dotyczących aplikacji, które użytkownik może włączyć na ekranie blokady.</translation>
+<translation id="4313767483634435271">Wyznaczony adres MAC stacji dokującej urządzenia</translation>
 <translation id="4322842393287974810">Zezwalaj aplikacji kiosku uruchamianej automatycznie z zerowym opóźnieniem na kontrolowanie wersji <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="4325690621216251241">Dodaj przycisk wylogowania do paska zadań</translation>
 <translation id="4332177773549877617">Rejestruj zdarzenia związane z instalacją aplikacji na Androida</translation>
@@ -1759,6 +1840,7 @@
 <translation id="4360826270668210664">Jeśli skonfigurujesz tę zasadę, host dostępu zdalnego będzie wymagał od łączących się klientów uzyskania tokena uwierzytelniania z tego adresu URL. Musisz jej używać w połączeniu z zasadą RemoteAccessHostTokenValidationUrl.
 
           Ta funkcja jest aktualnie wyłączona po stronie serwera.</translation>
+<translation id="4363057787588706121">Zezwól na scalanie list zasad z różnych źródeł</translation>
 <translation id="436581050240847513">Raportuj interfejsy sieciowe urządzeń</translation>
 <translation id="4372704773119750918">Nie zezwalaj użytkownikom firmowym na korzystanie z trybu wieloprofilowego (jako użytkownik główny ani dodatkowy)</translation>
 <translation id="4377599627073874279">Zezwalaj na wyświetlanie wszelkich grafik we wszystkich witrynach</translation>
@@ -1928,6 +2010,7 @@
 <translation id="4826326557828204741">Czynność, jaka ma zostać podjęta po osiągnięciu opóźnienia bezczynności przy pracy na baterii</translation>
 <translation id="4832852360828533362">Raportowanie stanu urządzenia i konta użytkownika</translation>
 <translation id="4834526953114077364">Najdłużej nieaktywni użytkownicy, którzy nie logowali się w ciągu ostatnich 3 miesięcy, są usuwani aż do uzyskania odpowiedniej ilości wolnego miejsca</translation>
+<translation id="4835622243021053389">Włącz uwierzytelnianie NTLMv2.</translation>
 <translation id="4858735034935305895">Zezwalaj na tryb pełnoekranowy</translation>
 <translation id="4861767323695239729">Skonfiguruj metody wprowadzania dozwolone w sesji użytkownika</translation>
 <translation id="487460824085252184">Przenoś automatycznie bez pytania o zgodę użytkownika.</translation>
@@ -2043,6 +2126,11 @@
 
       W przeciwieństwie do zasady <ph name="URL_LIST_POLICY_NAME" /> reguły są stosowane w obu kierunkach, czyli gdy dodatek do Internet Explorera jest zainstalowany i włączony, ta zasada określa też, czy <ph name="IE_PRODUCT_NAME" /> ma otwierać te adresy URL w <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Uruchom po podłączeniu zasilania sieciowego</translation>
+<translation id="5131211790949066746">Umożliwia scalanie zasad <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> i <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> dotyczących list instalowania rozszerzeń.
+
+Jeśli włączysz tę zasadę, wartości z zasad platformy komputera, zasad chmury komputera i zasad platformy użytkownika zostaną scalone w jedną listę i będą używane jako całość. W przeciwnym razie używane będą tylko wartości z jednego źródła o najwyższym priorytecie.
+
+      Jeśli wyłączysz to ustawienie lub go nie skonfigurujesz, uwzględniane będą tylko pozycje z listy pochodzącej ze źródła o najwyższym priorytecie, a pozostałe źródła będą widoczne jako kolidujące, ale ignorowane.</translation>
 <translation id="5141670636904227950">Ustaw domyślny typ lupy włączony na ekranie logowania</translation>
 <translation id="5142301680741828703">Zawsze renderuj strony we wtyczce <ph name="PRODUCT_FRAME_NAME" /> według następujących wzorców adresów URL</translation>
 <translation id="5148753489738115745">Pozwala określić dodatkowe parametry używane, gdy <ph name="PRODUCT_FRAME_NAME" /> uruchamia <ph name="PRODUCT_NAME" />.
@@ -2152,6 +2240,7 @@
 
       Jeśli zasada nie jest ustawiona lub jest ustawiona na pusty ciąg lub nieprawidłowy zakres portów, WebRTC może skorzystać z dowolnego lokalnego portu UDP, jaki jest dostępny.</translation>
 <translation id="5290940294294002042">Określ listę wtyczek, które użytkownik może włączyć lub wyłączyć</translation>
+<translation id="5306186200045823863">Włącz zaufanie do starszej infrastruktury klucza publicznego Symantec Corporation</translation>
 <translation id="5307432759655324440">Dostępność trybu incognito</translation>
 <translation id="5318185076587284965">Zezwalaj hostowi zdalnego dostępu na korzystanie z serwerów przekazujących</translation>
 <translation id="5323128137188992869">Zezwala na przesyłanie treści na urządzenie przy użyciu: <ph name="PRODUCT_NAME" />.
@@ -2243,6 +2332,7 @@
       Jeśli reguły są sprzeczne, <ph name="PRODUCT_NAME" /> użyje najbardziej szczegółowej reguły.</translation>
 <translation id="5475361623548884387">Włącz drukowanie</translation>
 <translation id="547601067149622666">Blokuj reklamy na stronach zawierających uciążliwe reklamy</translation>
+<translation id="5483065054530244863">Zezwól na certyfikaty z podpisem SHA-1 wydane przez lokalne kotwice zaufania</translation>
 <translation id="5483777239978559943">Ta zasada została wycofana. Używaj zasady <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" />, by zarządzać dostępnością wtyczki Flash, oraz zasady <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" />, by określić, czy wbudowana przeglądarka PDF-ów ma służyć do otwierania plików PDF.
 
       Określa listę wtyczek, które użytkownik może włączyć lub wyłączyć w <ph name="PRODUCT_NAME" />.
@@ -2359,6 +2449,17 @@
           Gdy ta zasada jest włączona lub nieskonfigurowana, użytkownicy mogą wyświetlać hasła w menedżerze haseł w postaci zwykłego tekstu.</translation>
 <translation id="5620392548325769024">Włącz wyświetlanie strony powitalnej przy pierwszym uruchomieniu przeglądarki po uaktualnieniu systemu operacyjnego</translation>
 <translation id="5630352020869108293">Przywróć ostatnią sesję</translation>
+<translation id="5643906875497889108">Określa, które typy aplikacji/rozszerzeń można instalować, oraz ogranicza dostęp do środowiska wykonawczego.
+
+          To ustawienie zawiera białą listę dozwolonych typów rozszerzeń/aplikacji, które można instalować w <ph name="PRODUCT_NAME" />, i wskazuje hosty, z którymi te rozszerzenia/aplikacje mogą wchodzić w interakcje. Wartość jest listą ciągów z następującego zbioru: „extension” (rozszerzenie), „theme” (motyw), „user_script” (skrypt użytkownika), „hosted_app” (aplikacja hostowana), „legacy_packaged_app” (starsza aplikacja w pakiecie), „platform_app” (aplikacja platformy). Więcej informacji o tych typach znajdziesz w dokumentacji rozszerzeń <ph name="PRODUCT_NAME" />.
+
+          Pamiętaj, że ta zasada wpływa też na rozszerzenia i aplikacje, których instalacja jest wymuszana przez ExtensionInstallForcelist.
+
+          Jeśli ta zasada jest skonfigurowana, rozszerzenia/aplikacje, których typ nie znajduje się na liście, nie będą instalowane.
+
+          Jeśli ta zasada pozostanie nieskonfigurowana, nie będą stosowane żadne ograniczenia dozwolonych typów rozszerzeń/aplikacji.
+
+          W wersjach wcześniejszych niż 75 nie jest obsługiwane używanie wielu identyfikatorów rozszerzeń rozdzielonych przecinkami – zostaną one pominięte. Pozostałe wartości zasady zostaną zastosowane.</translation>
 <translation id="5645779841392247734">Zezwalaj na pliki cookie w tych witrynach</translation>
 <translation id="5689430183304951538">Domyślny rozmiar drukowanych stron</translation>
 <translation id="5693469654327063861">Zezwól na migrację danych</translation>
@@ -2398,6 +2499,7 @@
 <translation id="5765780083710877561">Opis:</translation>
 <translation id="5770738360657678870">Wersja deweloperska (może być niestabilna)</translation>
 <translation id="5774856474228476867">Adres URL wyszukiwarki od domyślnego dostawcy wyszukiwania</translation>
+<translation id="5775235485119094648">Ładuj baterię, gdy jej poziom mieści w określonym przedziale.</translation>
 <translation id="5776485039795852974">Pytaj za każdym razem, gdy witryna chce pokazywać powiadomienia na pulpicie</translation>
 <translation id="5781412041848781654">Pozwala określić bibliotekę GSSAPI, która ma być używana do uwierzytelniania HTTP. Możesz określić samą nazwę biblioteki lub pełną ścieżkę.
 
@@ -2459,6 +2561,7 @@
 <translation id="5893553533827140852">Jeśli włączysz to ustawienie, żądania uwierzytelniania Gnubby będą przesyłane przez serwer proxy podczas zdalnego połączenia z hostem.
 
           Jeśli wyłączysz to ustawienie lub go nie skonfigurujesz, żądania uwierzytelniania Gnubby nie będą przesyłane przez serwer proxy.</translation>
+<translation id="5897913798715600338">Ładuj baterię przy użyciu technologii szybkiego ładowania.</translation>
 <translation id="5898486742390981550">Gdy zalogowanych jest wielu użytkowników, tylko główny użytkownik może używać aplikacji na Androida.</translation>
 <translation id="5900196529149231477">
       Ta zasada ma wpływ na ekran logowania. Zapoznaj się też z informacjami o zasadzie <ph name="ISOLATE_ORIGINS_POLICY_NAME" />, która ma wpływ na sesję użytkownika. Zaleca się skonfigurowanie obu tych zasad w jednakowy sposób. Jeśli wartości tych zasad są różne, przy uruchamianiu sesji użytkownika może nastąpić opóźnienie, gdy stosowana jest wartość określona przez zasadę dotyczącą użytkowników.
@@ -2467,12 +2570,14 @@
       Jeśli zasada nie jest skonfigurowana, na ekranie logowania będą stosowane domyślne ustawienia platformy dotyczące izolacji witryn.
       </translation>
 <translation id="5901427587865226597">Tylko drukowanie dwustronne</translation>
+<translation id="5905473632148429217">Włącz sprawdzanie OCSP/CRL online</translation>
 <translation id="5906199912611534122">Umożliwia włączenie lub wyłączenie ograniczenia przepustowości sieci.
       Ta zasada wpływa na wszystkich użytkowników i wszystkie interfejsy urządzenia. Po włączeniu tej funkcji
       przepustowość będzie ograniczana do czasu, aż zasada ta nie zostanie zmieniona.
 
       Wyłączenie zasady sprawi, że przepustowość nie będzie ograniczana.
       Włączenie zasady sprawi, że przepustowość wysyłania i pobierania będzie ograniczana do podanych wartości (w kb/s).</translation>
+<translation id="591088232153082363">Ładuj adaptacyjnie baterię na podstawie wzorca jej wykorzystania.</translation>
 <translation id="5921713479449475707">Zezwalaj na pobieranie aktualizacji automatycznych przez HTTP</translation>
 <translation id="5921888683953999946">Ustawia domyślny stan funkcji ułatwień dostępu w postaci dużego kursora na ekranie logowania.
 
@@ -2494,6 +2599,7 @@
 <translation id="5950205771952201658">Ignorowana w razie błędu sieci kontrola online, czy certyfikat nie został unieważniony, w rzeczywistości nie poprawia bezpieczeństwa, dlatego w <ph name="PRODUCT_NAME" /> 19 i nowszych wersjach jest domyślnie wyłączona. Jeśli zasada ma wartość prawda, przywraca poprzedni sposób działania i powoduje wykonywanie kontroli OCSP/CRL online.
 
       Jeśli nie ustawisz tej zasady w <ph name="PRODUCT_NAME" /> lub wybierzesz wartość fałsz, <ph name="PRODUCT_NAME" /> 19 i nowsze wersje nie sprawdzają online, czy certyfikat nie został unieważniony.</translation>
+<translation id="5961137303188584693">Adres MAC wbudowanej karty NIC urządzenia</translation>
 <translation id="5966615072639944554">Rozszerzenia mają pozwolenie na używanie interfejsu API zaświadczania zdalnego</translation>
 <translation id="5983708779415553259">Domyślne zachowanie dla witryn nie jest zawarte w żadnym pakiecie treści</translation>
 <translation id="5997543603646547632">Domyślnie używaj zegara 24-godzinnego</translation>
@@ -2584,6 +2690,17 @@
 <translation id="6111936128861357925">Zezwól na ukrytą grę-żart z dinozaurem</translation>
 <translation id="6114416803310251055">wycofana</translation>
 <translation id="6133088669883929098">Zezwalaj na generowanie kluczy we wszystkich witrynach</translation>
+<translation id="6136537398661737682">Ta zasada kontroluje początkowy stan usług lokalizacyjnych Google.
+
+      Jeśli ta zasada jest nieskonfigurowana lub ma ustawienie <ph name="GLS_DISABLED" />, usługi lokalizacyjne Google są początkowo wyłączone.
+
+      Jeśli ta zasada ma ustawienie <ph name="GLS_ENABLED" />, usługi lokalizacyjne Google są początkowo włączone.
+
+      Jeśli ta zasada ma ustawienie <ph name="GLS_UNDER_USER_CONTROL" />, użytkownik jest pytany, czy chce używać usług lokalizacyjnych Google. Umożliwi to aplikacjom na Androida używanie tych usług do sprawdzania lokalizacji urządzenia oraz spowoduje przesyłanie anonimowych danych o lokalizacji do Google.
+
+      Pamiętaj, że ta zasada określa stan usług lokalizacyjnych Google tylko podczas początkowej konfiguracji. Użytkownik może później otworzyć ustawienia Androida i włączyć lub wyłączyć usługi lokalizacyjne Google.
+
+      Ta zasada jest ignorowana, a usługi lokalizacyjne Google są zawsze wyłączone, gdy zasada <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> ma ustawienie <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">Zawsze używaj przybliżonego wykrywania strefy czasowej</translation>
 <translation id="6145799962557135888">Umożliwia skonfigurowanie listy wzorcowych URL-i określających witryny, w których może być wykonywany kod JavaScript. Jeśli ta zasada nie zostanie skonfigurowana, dla wszystkich witryn będzie używana globalna wartość domyślna pochodząca z zasady „DefaultJavaScriptSetting” (jeśli została skonfigurowana) lub z osobistej konfiguracji użytkownika.</translation>
 <translation id="614662973812186053">Ta zasada kontroluje też zbieranie danych o użytkowaniu i danych diagnostycznych Androida.</translation>
@@ -2657,9 +2774,17 @@
       Jeśli zasada zostanie wyłączona, dane autouzupełniania formularzy nie zostaną zaimportowane.
 
       Jeśli zasada nie jest skonfigurowana, użytkownik może zostać zapytany, czy zaimportować dane, lub operacja ta zostanie wykonana automatycznie.</translation>
+<translation id="6221175752766085998">Zezwól na certyfikaty bez rozszerzenia subjectAlternativeName wydane przez lokalne kotwice zaufania</translation>
 <translation id="6224304369267200483">Adresy URL / domeny automatycznie uprawnione do bezpośredniego poświadczania Kluczy bezpieczeństwa Google</translation>
 <translation id="6233173491898450179">Ustaw katalog pobierania</translation>
 <translation id="6244210204546589761">Adresy URL otwierane po uruchomieniu</translation>
+<translation id="6255387031094435995">Zezwala na scalanie wybranych zasad, które pochodzą z różnych źródeł, a mają te same zakresy i poziom.
+
+        Jeśli zasada znajduje się na liście, to w przypadku konfliktu między dwoma źródłami, które mają te same zakresy i poziom, wartości zostaną scalone w nową listę zasad.
+
+        Jeśli zasada znajduje się na liście, to w przypadku konfliktu między dwoma źródłami, które mają różne zakresy lub poziom, zostanie zastosowana zasada o najwyższym priorytecie.
+
+        Jeśli zasada nie znajduje się na liście, to w przypadku konfliktu między źródłami, zakresami lub poziomem zostanie zastosowana zasada o najwyższym priorytecie.</translation>
 <translation id="6258193603492867656">Pozwala określić, czy generowana nazwa SPN w protokole Kerberos ma zawierać port niestandardowy. Po włączeniu tego ustawienia i wprowadzeniu portu niestandardowego (tzn. innego niż 80 i 443) jest on umieszczany w generowanej nazwie SPN w protokole Kerberos. Jeśli wyłączysz ustawienie, generowana nazwa SPN w protokole Kerberos nie będzie w żadnym przypadku zawierać portu.</translation>
 <translation id="6261643884958898336">Zgłaszaj informacje identyfikujące urządzenie</translation>
 <translation id="6281043242780654992">Konfiguruje zasady wiadomości natywnych. Hosty wiadomości natywnych na czarnej liście nie będą dostępne, dopóki nie znajdą się na białej liście.</translation>
@@ -2857,6 +2982,7 @@
 <translation id="6757438632136860443">Pozwala utworzyć listę wzorców URL-i określających witryny, które mogą uruchamiać wtyczkę <ph name="FLASH_PLUGIN_NAME" />.
 
           Jeśli ta zasada nie zostanie skonfigurowana, będzie używana wartość domyślna pobrana z zasady „DefaultPluginsSetting” (jeśli jest określona) lub z osobistej konfiguracji użytkownika.</translation>
+<translation id="6757613329154374267">Tworzenie i przywracanie kopii zapasowej włączone</translation>
 <translation id="6762235610019366960">Pozwala na kontrolowanie wyświetlania treści promocyjnych lub informacyjnych na całej karcie w <ph name="PRODUCT_NAME" />.
 
       Jeśli zasada jest włączona (ustawienie prawda) lub nie jest skonfigurowana, <ph name="PRODUCT_NAME" /> może wyświetlać użytkownikom informacje o przeglądarce na całej karcie.
@@ -2879,6 +3005,7 @@
       Ciąg może zawierać zmienne ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME}, za które zostaną podstawione wartości z urządzenia przed użyciem ciągu jako nazwy hosta. Utworzony w ten sposób ciąg musi być prawidłową nazwą hosta (zgodnie z sekcją 3.1 specyfikacji RFC 1035).
 
       Jeśli zasada jest nieskonfigurowana lub ciąg powstały po podstawieniu wartości za zmienne nie jest prawidłową nazwą hosta, żądanie DHCP nie będzie zawierać nazwy hosta. </translation>
+<translation id="6833988859168635883">Strony startowe, strona główna i strona nowej karty</translation>
 <translation id="6835883744948188639">Wyświetlaj cyklicznie komunikat o tym, że zalecane jest ponowne uruchomienie</translation>
 <translation id="6837480141980366278">Określa, czy <ph name="PRODUCT_NAME" /> używa wbudowanego klienta DNS.
 
@@ -2980,6 +3107,17 @@
 
       W momencie, gdy ekran powinien zostać przyciemniony, model inteligentnego przyciemniania ocenia, czy należy opóźnić to działanie. Jeśli model inteligentnego przyciemniania opóźni przyciemnienie, to wydłuży czas, po którym ono nastąpi, a także skoryguje czas wyłączenia ekranu, zablokowania ekranu i bezczynności, by te działania nastąpiły w takim samym odstępie czasu od przyciemnienia, jak w oryginalnej konfiguracji.
       Jeśli ta zasada ma wartość Prawda lub jest nieskonfigurowana, model inteligentnego przyciemniania będzie włączony i będzie mógł opóźniać przyciemnienie ekranu. Jeśli zasada ma wartość Fałsz, model inteligentnego przyciemniania nie będzie zmieniać czasu przyciemnienia.</translation>
+<translation id="6967394885063085697">Włącza zasadę zarządzania zasilaniem Zaawansowany tryb ładowania baterii.
+
+          Zaawansowany tryb ładowania baterii pozwala użytkownikowi zadbać o stan baterii. W zaawansowanym trybie ładowania system będzie używać poza godzinami pracy standardowego algorytmu ładowania oraz innych technik, by zapewnić jak najlepszy stan baterii. W godzinach pracy będzie używane ładowanie ekspresowe. Umożliwia ono szybsze naładowanie baterii. Czas najbardziej intensywnego używania systemu w poszczególnych dniach jest określany przez godzinę rozpoczęcia i długość czasu.
+
+          Jeśli ta zasada ma wartość Prawda i ustawiona jest zasada DeviceAdvancedBatteryChargeModeDayConfig, to zaawansowany tryb ładowania baterii będzie zawsze włączony, o ile jest obsługiwany przez urządzenie.
+
+          Jeśli ta zasada ma wartość Fałsz, zaawansowany tryb ładowania baterii będzie zawsze wyłączony.
+
+          Jeśli skonfigurujesz tę zasadę, użytkownicy nie będą mogli jej zmienić ani zastąpić.
+
+          Jeśli ta zasada jest nieskonfigurowana, zaawansowany tryb ładowania baterii jest wyłączony, a użytkownik nie może go włączyć.</translation>
 <translation id="6972540544240464302">Wybieranie konfiguracji szeregowania zadań</translation>
 <translation id="6979158407327259162">Dysk Google</translation>
 <translation id="6994082778848658360">Określa, jak można użyć zainstalowanego sprzętowego elementu zabezpieczeń w celu stosowania uwierzytelniania dwuskładnikowego, jeśli jest on zgodny z tą funkcją. Przycisk zasilania komputera wykrywa fizyczną obecność użytkownika.
@@ -3045,6 +3183,17 @@
       Jeśli ustawienie jest włączone lub wyłączone, użytkownicy nie mogą go zmienić ani zastąpić.
 
       Jeśli zasada nie zostanie skonfigurowana, użytkownik może wybrać, czy chce odblokowywać urządzenie przy użyciu hasła.</translation>
+<translation id="7107148737865880402">Włącz zasadę zarządzania zasilaniem Udostępnianie zasilania przez USB.
+
+          Niektóre urządzenia mają port USB oznaczony ikoną błyskawicy lub baterii, który może służyć do ładowania innych urządzeń, takich jak telefony komórkowe, z baterii systemowej. Ta zasada określa działanie tego portu, gdy system jest uśpiony lub wyłączony. Zasada nie ma wpływu na działanie innych portów USB ani ładowanie, gdy system jest aktywny.
+
+          Gdy system jest aktywny, port USB zawsze dostarcza zasilanie.
+
+          W trybie uśpienia: jeśli ta zasada ma ustawienie Prawda, zasilanie jest dostarczane do portu USB, gdy urządzenie jest podłączone do zasilacza sieciowego lub poziom naładowania baterii jest większy niż 50%. W przeciwnym razie zasilanie nie jest dostarczane.
+
+          Urządzenie wyłączone: jeśli ta zasada ma wartość prawda, zasilanie jest dostarczane do portu USB, gdy urządzenie jest podłączone do zasilacza sieciowego. W przeciwnym razie zasilanie nie jest dostarczane.
+
+          Jeśli ta zasada jest nieskonfigurowana, zasada jest włączona, a użytkownik nie może jej wyłączyć.</translation>
 <translation id="7115494316187648452">Określa, czy proces <ph name="PRODUCT_NAME" /> ma się uruchamiać po zalogowaniu w systemie operacyjnym i działać po zamknięciu ostatniego okna przeglądarki, umożliwiając zachowanie aktywności aplikacji działających w tle oraz bieżącej sesji przeglądania, w tym wszelkich plików cookie sesji. Proces działający w tle reprezentuje ikona na pasku systemowym, gdzie zawsze można go zamknąć.
 
       Jeśli włączysz tę zasadę, tryb działania w tle będzie dostępny, a użytkownik nie będzie mógł zmienić tej opcji w ustawieniach przeglądarki.
@@ -3095,6 +3244,7 @@
           Jeśli ta zasada ma ustawienie Prawda lub nie jest ustawiona, żądania blokady uśpienia ekranu będą respektowane przez mechanizm zarządzania energią, chyba że AllowWakeLocks ma ustawienie Fałsz.
 
           Jeśli zasada ma ustawienie Fałsz, żądania blokady uśpienia będą traktowane jako zwykłe żądania blokady uśpienia.</translation>
+<translation id="7177857088692019405">Szybkie odblokowanie</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Typy połączeń dozwolone dla aktualizacji</translation>
 <translation id="7194407337890404814">Nazwa domyślnego dostawcy wyszukiwania</translation>
@@ -3158,6 +3308,7 @@
 <translation id="7273823081800296768">Jeśli to ustawienie jest włączone lub nie jest skonfigurowane, użytkownicy mogą parować klienty i hosty w czasie połączenia, co wyklucza potrzebę wpisywania kodu PIN za każdym razem.
 
           Jeśli to ustawienie jest wyłączone, ta funkcja nie będzie dostępna.</translation>
+<translation id="7274077256421167535">Włącz udostępnianie zasilania przez USB</translation>
 <translation id="7275334191706090484">Zakładki zarządzane</translation>
 <translation id="7291084543582732020">Jeśli włączysz tę zasadę, użytkownicy będą mogli korzystać z funkcji Smart Lock (o ile są spełnione jej wymagania).
 
@@ -3171,6 +3322,7 @@
 
           Ta zasada jest stosowana tylko wtedy, gdy włączono zasadę „DefaultSearchProviderEnabled”.</translation>
 <translation id="7302043767260300182">Opóźnienie blokady ekranu przy zasilaniu sieciowym</translation>
+<translation id="7305262223970835999">Włącz stronę umożliwiającą zmianę hasła w trakcie sesji dla użytkowników SAML.</translation>
 <translation id="7311458740754205918">Jeśli ta zasada ma wartość prawda lub nie jest skonfigurowana, na stronie Nowa karta mogą pojawiać się polecane treści wybrane na podstawie historii przeglądania, zainteresowań lub lokalizacji użytkownika.
 
       Jeśli ta zasada ma wartość fałsz, automatycznie wybierane polecane treści nie będą wyświetlać się na stronie Nowa karta.</translation>
@@ -3293,6 +3445,15 @@
       Jeśli wartość w tej zasadzie jest ustawiona na 0, zostanie użyty domyślny rozmiar pamięci podręcznej i użytkownik nie będzie mógł go zmienić.
 
       Jeśli zasada nie jest ustawiona, zostanie użyty domyślny rozmiar pamięci, a użytkownik będzie mógł go zastąpić flagą --disk-cache-size.</translation>
+<translation id="759389052790680884">Ustaw niestandardowy poziom zatrzymania ładowania baterii w procentach.
+
+          Po osiągnięciu tej wartości bateria przestanie się ładować.
+
+          Wartość DeviceBatteryChargeCustomStartCharging musi być mniejsza niż DeviceBatteryChargeCustomStopCharging.
+
+          Ta zasada jest używana tylko wtedy, gdy zasada DeviceBatteryChargeMode ma ustawienie niestandardowe.
+
+          Jeśli ta zasada jest nieskonfigurowana, stosowany będzie standardowy tryb ładowania baterii.</translation>
 <translation id="759957074386651883">Ustawienia Bezpiecznego przeglądania</translation>
 <translation id="7604169113182304895">Aplikacje na Androida mogą dobrowolnie uwzględniać tę listę. Nie można tego wymusić.</translation>
 <translation id="7612157962821894603">Flagi systemowe stosowane przy uruchamianiu <ph name="PRODUCT_NAME" /></translation>
@@ -3367,6 +3528,15 @@
 <translation id="7712109699186360774">Zawsze mnie pytaj, gdy strona chce użyć kamery i/lub mikrofonu</translation>
 <translation id="7713608076604149344">Ograniczenia pobierania</translation>
 <translation id="7715711044277116530">Wartość procentowa skalowania opóźnienia przyciemnienia ekranu w trybie prezentacji</translation>
+<translation id="7716781462866245042">Umożliwia ustawienie konfiguracji dziennej zaawansowanego trybu ładowania baterii.
+
+          Ta zasada jest używana tylko wtedy, gdy zasada DeviceAdvancedBatteryChargeModeEnabled ma wartość Prawda.
+
+          Jeśli ta zasada jest nieskonfigurowana, zaawansowany tryb ładowania baterii będzie zawsze wyłączony.
+
+          Uwaga: Wartość <ph name="CHARGE_START_TIME_FIELD_NAME" /> musi być mniejsza niż <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Uwaga: dozwolone wartości w polu <ph name="MINUTE_FIELD_NAME" /> w opcjach <ph name="CHARGE_START_TIME_FIELD_NAME" /> i <ph name="CHARGE_END_TIME_FIELD_NAME" /> to 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">Skonfiguruj ułatwienia dostępu w <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Ta zasada włącza HTTP/0.9 w portach innych niż 80 dla HTTP i 443 dla HTTPS.
 
@@ -3440,6 +3610,7 @@
       Określa identyfikator rozszerzenia używanego jako wygaszacz ekranu na ekranie logowania. Rozszerzenie musi być częścią pakietu aplikacji skonfigurowanego dla tej domeny przez zasadę DeviceAppPack.</translation>
 <translation id="7882857838942884046">Wyłączenie Google Sync spowoduje, że tworzenie i przywracanie kopii zapasowej Androida nie będzie działać prawidłowo.</translation>
 <translation id="7882890448959833986">Ukryj ostrzeżenie o nieobsługiwanym systemie operacyjnym</translation>
+<translation id="7895553628261067384">Dostęp zdalny</translation>
 <translation id="7902255855035461275">Wzorce na tej liście są porównywane ze źródłem zabezpieczeń adresu URL,
       z którego pochodzi żądanie. Jeśli URL będzie pasować do któregoś wzorca,
       dostęp do urządzeń rejestrujących wideo zostanie przyznany bez pytania.
@@ -3453,6 +3624,11 @@
 <translation id="7937491150792971922">Scalanie pochodzących z wielu źródeł zasad dotyczących list instalowania rozszerzeń</translation>
 <translation id="7937766917976512374">Zezwól lub nie na przechwytywanie wideo</translation>
 <translation id="7941975817681987555">Nie przewiduj działań w sieci dla żadnego połączenia sieciowego</translation>
+<translation id="7952007677054834789">Umożliwia skonfigurowanie stron wczytywanych podczas uruchamiania, domyślnej strony głównej i domyślnej strony nowej karty w <ph name="PRODUCT_NAME" /> oraz uniemożliwia użytkownikom ich zmianę.
+
+      Ustawienia strony głównej użytkownika zostaną całkowicie zablokowane tylko wtedy, gdy jako stronę główną ustawisz stronę Nowa karta albo adres URL (wpisany ręcznie). Jeśli adres URL strony głównej nie zostanie określony, użytkownik jako stronę główną będzie mógł ustawić stronę Nowa karta, podając adres „chrome://newtab”.
+
+      Zasada „Adresy URL otwierane po uruchomieniu” jest ignorowana, chyba że wybierzesz opcję „Otwórz adresy URL z listy” w ustawieniu „Działanie po uruchomieniu”.</translation>
 <translation id="7952958573604504839">Ta zasada została zastąpiona w wersji M48 zasadą <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />, a w wersji M54 – wycofana.
 
       Umożliwia włączenie przewidywania działań sieciowych w <ph name="PRODUCT_NAME" /> i blokuje użytkownikom zmianę tego ustawienia.
@@ -3591,6 +3767,7 @@
 <translation id="8176035528522326671">Zezwól, by użytkownik korporacyjny był tylko głównym użytkownikiem korzystającym z wielu profili (domyślne zachowanie w przypadku użytkowników zarządzanych przez przedsiębiorstwo)</translation>
 <translation id="8214600119442850823">Pozwala skonfigurować menedżera haseł.</translation>
 <translation id="8217516105848565518">Ta zasada została wycofana. Zamiast niej użyj zasady RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">Włącz mechanizmy szyfrowania RC4 w TLS</translation>
 <translation id="8244525275280476362">Maksymalne opóźnienie pobrania po unieważnieniu zasady</translation>
 <translation id="8256688113167012935">Określa nazwę konta, którą <ph name="PRODUCT_OS_NAME" /> pokazuje na ekranie logowania dla danego lokalnego konta na urządzeniu.
 
@@ -3631,6 +3808,7 @@
 <translation id="8312129124898414409">Umożliwia określenie, czy w witrynach mogą być generowane klucze. Generowanie kluczy może być dozwolone lub zabronione we wszystkich witrynach.
 
           Jeśli ta zasada nie zostanie skonfigurowana, będzie używane ustawienie „BlockKeygen”, a użytkownik będzie mógł je zmienić.</translation>
+<translation id="8320149248919453401">Tryb ładowania baterii</translation>
 <translation id="8329984337216493753">Ta zasada jest aktywna tylko w trybie sklepu.
 
       W przypadku określenia zasady DeviceIdleLogoutTimeout ta zasada określa czas wyświetlania okna ostrzegawczego z licznikiem czasu, które jest wyświetlane przed wylogowaniem użytkownika.
@@ -3798,6 +3976,7 @@
       Jeśli zasada nie jest skonfigurowana, na urządzeniach z <ph name="PRODUCT_OS_NAME" /> stosowany jest domyślny czas 345 600 000 milisekund (cztery dni), a w <ph name="PRODUCT_NAME" /> – 604 800 000 milisekund (tydzień).</translation>
 <translation id="8685024486845674965">Ostrzeżenie dotyczące ochrony hasłem jest wyzwalane przez użycie tego samego hasła w innym miejscu</translation>
 <translation id="8693243869659262736">Użyj wbudowanego klienta DNS</translation>
+<translation id="8698286761337647563">Ile dni wcześniej powiadamiać użytkowników SAML o zbliżającym się wygaśnięciu hasła</translation>
 <translation id="8703488928438047864">Raportuje stan płyty</translation>
 <translation id="8703872185032220081">Skonfiguruj czas największego zużycia energii w poszczególne dni.
 
@@ -3842,6 +4021,7 @@
       Jeśli to ustawienie jest wyłączone lub nieskonfigurowane, usługa ochrony haseł kieruje użytkowników na stronę https://myaccounts.google.com, by zmienili hasło.
       Ta zasada jest dostępna tylko w wystąpieniach systemu Windows, które należą do domeny <ph name="MS_AD_NAME" />, oraz w wystąpieniach systemu Windows 10 Pro lub Enterprise zarejestrowanych w funkcji zarządzania urządzeniami.</translation>
 <translation id="8798099450830957504">Domyślny</translation>
+<translation id="8800453707696044281">Ustaw niestandardowy poziom zatrzymania ładowania baterii w procentach</translation>
 <translation id="8801680448782904838">Powiadamiaj użytkownika o tym, że zalecane lub wymagane jest ponowne uruchomienie przeglądarki lub urządzenia</translation>
 <translation id="8818173863808665831">Zgłoś lokalizację geograficzną urządzenia.
 
@@ -3968,6 +4148,11 @@
       Ta zasada dotyczy tylko użytkowników, którzy uwierzytelnili się za pomocą SAML.
 
       Wartość zasady należy podać w sekundach.</translation>
+<translation id="9018338365267278833">Spowoduje usunięcie rozszerzeń znajdujących się na liście <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> lub na liście zasady <ph name="EXTENSION_SETTINGS_POLICY_NAME" />, które mają ustawiony tryb blokowania instalacji. Razem z rozszerzeniami zostaną trwale usunięte lokalne dane użytkownika.  Informacje o tym, co może stać się z danymi użytkownika, które nie są przechowywane lokalnie, znajdziesz w polityce prywatności rozszerzenia lub w polityce retencji danych.
+
+      Gdy ta zasada jest włączona, rozszerzenia znajdujące się na powyższych listach (jeśli są już zainstalowane na urządzeniu) zostaną całkowicie usunięte z tego urządzenia (razem z lokalnymi danymi użytkownika).
+
+      Gdy zasada jest wyłączona lub nieskonfigurowana, rozszerzenia znajdujące się na powyższych listach (jeśli są już zainstalowane na urządzeniu i znajdują się na czarnej liście <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />) zostaną wyłączone na urządzeniu, ale nie odinstalowane.</translation>
 <translation id="9027787254195333560">Ta zasada pozwala wskazać obraz awatara, który oznacza użytkownika na ekranie logowania. Aby ją skonfigurować, podaj URL, z którego <ph name="PRODUCT_OS_NAME" /> może pobrać obraz awatara, oraz hash kryptograficzny używany do weryfikacji poprawności pobranego pliku. Obraz musi być w formacie JPEG, a jego rozmiar nie może przekraczać 512 KB. URL musi być dostępny bez uwierzytelniania.
 
       Po pobraniu obraz awatara jest zapisywany w pamięci podręcznej. Zostanie pobrany ponownie po każdej zmianie adresu URL lub hasha.
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index 8b1fd9c..358ffa5 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -51,6 +51,13 @@
 <translation id="1049138910114524876">Configura a localidade que é aplicada na tela de login do <ph name="PRODUCT_OS_NAME" />.
 
       Se esta política for configurada, a tela de login sempre será exibida na localidade estabelecida pelo primeiro valor da política (definida como uma lista de compatibilidade de encaminhamento). Se esta política não for definida ou for definida como uma lista vazia, a tela de login será exibida na localidade da última sessão do usuário. Se esta política for definida para um valor que não seja uma localidade válida, a tela de login será exibida em uma localidade substituta (atualmente en-US).</translation>
+<translation id="1052499923181221200">Esta política só tem efeito se SamlInSessionPasswordChangeEnabled for verdadeira.
+      Se a política mencionada for verdadeira e esta política for definida como, por exemplo, 14, isso significa que os usuários do SAML serão notificados com 14 dias de antecedência sobre o vencimento das senhas em uma determinada data.
+      Os usuários podem tomar providências imediatamente alterando as senhas durante a sessão e atualizando-as antes que expirem.
+      No entanto, essas notificações só serão mostradas se as informações de validade da senha forem enviadas para o dispositivo pelo provedor de identidade do SAML durante o fluxo de login do SAML.
+      Definir esta política como 0 significa que os usuários não serão notificados com antecedência. Eles só serão notificados depois que a senha expirar.
+
+      Se esta política for definida, o usuário não poderá alterá-la ou substitui-la.</translation>
 <translation id="1062011392452772310">Ativar declaração remota para o dispositivo</translation>
 <translation id="1062407476771304334">Substituir</translation>
 <translation id="1079801999187584280">Não permite o uso das Ferramentas para Desenvolvedores</translation>
@@ -207,6 +214,7 @@
       Se a política estiver ativada, o Google Assistente terá permissão para acessar o contexto da tela.
       Se a política estiver desativada, o Google Assistente não terá permissão para acessar o contexto da tela.
       Se ela não for definida, os usuários poderão decidir se o Google Assistente terá permissão para acessar o contexto da tela ou não.</translation>
+<translation id="1376119291123231789">Ativar o modo avançado de carregamento da bateria</translation>
 <translation id="1383493480903114193">Esta política força o código de rede a ser executado no processo do navegador.
 
       A política está desativada por padrão e, se ativada, deixa usuários vulneráveis aos problemas de segurança quando o processo de rede estiver no sandbox.
@@ -302,6 +310,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Ativar bloqueio de injeção de software de terceiros</translation>
 <translation id="1504431521196476721">Declaração remota</translation>
+<translation id="1507382822467487898">
+          Configura qual endereço de controle de acesso de mídia (MAC, na sigla em inglês) será usado quando uma dock estiver conectada ao dispositivo.
+
+          Quando uma dock estiver conectada a alguns modelos de dispositivo, o endereço MAC designado da dock será usado para identificar o dispositivo em Ethernet por padrão. Esta política permite que o administrador altere a fonte do endereço MAC enquanto estiver ancorado.
+
+          Se "DeviceDockMacAddress" for selecionada ou se a política não for definida, o endereço MAC designado da dock para o dispositivo será usado.
+
+          Se "DeviceNicMacAddress" for selecionada, o endereço MAC da placa de rede (NIC, na sigla em inglês) do dispositivo será usado.
+
+          Se "DockNicMacAddress" for selecionada, o endereço MAC da placa de rede da dock será usado.
+
+          Essa configuração não pode ser alterada pelo usuário.</translation>
 <translation id="1507957856411744193">Se esta política estiver definida como verdadeira, o <ph name="PRODUCT_NAME" /> fará a conexão com os dispositivos de transmissão em todos os endereços IP, não apenas nos endereços privados RFC1918/RFC4193.
 
           Se esta política estiver definida como falsa, o <ph name="PRODUCT_NAME" /> fará a conexão com os dispositivos de transmissão somente em endereços privados RFC1918/RFC4193.
@@ -729,6 +749,17 @@
 <translation id="2303795211377219696">Ativar o preenchimento automático para cartões de crédito</translation>
 <translation id="2309390639296060546">Configuração padrão de geolocalização</translation>
 <translation id="2327252517317514801">Definir os domínios autorizados a acessar o G Suite</translation>
+<translation id="2356878440219553005">Especifica a política de gerenciamento de energia para o modo avançado de carregamento de bateria.
+
+          Controle dinamicamente o carregamento da bateria para minimizar o desgaste devido ao estresse e aumentar a vida útil.
+
+          Se o modo personalizado de carregamento da bateria for selecionado, DeviceBatteryChargeCustomStartCharging e DeviceBatteryChargeCustomStopCharging precisam ser especificadas.
+
+          Se esta política for definida, o modo de carregamento da bateria será aplicado, se compatível com o dispositivo.
+
+          Se esta política não for definida e a política for compatível com o dispositivo, o modo padrão de carregamento da bateria será aplicado e não poderá ser alterado pelo usuário.
+
+          Observação: <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> substitui a política se a anterior for especificada.</translation>
 <translation id="237494535617297575">Permite que você defina uma lista de padrões de URL que especificam sites com permissão para exibir notificações. Se esta política for deixada sem definição, o valor padrão global será utilizado para todos os sites a partir da política "DefaultNotificationsSetting", caso esta tenha sido definida, ou a partir das configurações pessoais do usuário, caso não tenha sido definida.</translation>
 <translation id="2386362615870139244">Permitir bloqueios de ativação da tela</translation>
 <translation id="2411817661175306360">O aviso de proteção de senha está desativado</translation>
@@ -764,6 +795,7 @@
 
       Se esta política estiver definida como falsa, o login automático com zero atraso (se configurado) não poderá ser ignorado.</translation>
 <translation id="2454228136871844693">Otimiza a estabilidade.</translation>
+<translation id="2463034609187171371">Ativar pacotes de criptografia DHE em TLS</translation>
 <translation id="2463365186486772703">Localidade do aplicativo</translation>
 <translation id="2466131534462628618">A autenticação de portal cativo ignora o proxy</translation>
 <translation id="2482676533225429905">Mensagens nativas</translation>
@@ -933,6 +965,7 @@
 <translation id="2769952903507981510">Configurar o nome de domínio obrigatório para hosts de acesso remoto</translation>
 <translation id="2787173078141616821">Informações de relatório sobre o status do Android</translation>
 <translation id="2799297758492717491">Permitir reprodução automática de mídia em uma lista de permissões de padrões de URL</translation>
+<translation id="2801155097555584385">Configurar o início do carregamento personalizado da bateria, em porcentagem</translation>
 <translation id="2801230735743888564">Permite que os usuários joguem o easter egg de dinossauro quando o dispositivo estiver off-line.
 
       Se esta política for configurada como "False", não será possível jogar o easter egg de dinossauro quando o dispositivo estiver off-line. Se esta configuração for definida como "True", os usuários estarão autorizados a jogar o easter egg de dinossauro. Se esta política não for configurada, os usuários não terão autorização para jogar o easter egg de dinossauro em Chrome OS registrados, mas poderão jogá-lo em outras circunstâncias.</translation>
@@ -1006,6 +1039,7 @@
       Se você desativar essa configuração ou não inserir um valor, a Visualização de impressão utilizará a impressora usada mais recentemente como a escolha padrão.
 
       Se você ativar essa configuração, a Visualização de impressão utilizará a impressora padrão do sistema operacional como a escolha padrão.</translation>
+<translation id="285627849510728211">Definir a configuração do dia para o modo avançado de carregamento de bateria</translation>
 <translation id="2856674246949497058">Faça a reversão e permaneça na versão de destino se a versão do SO for mais recente que a de destino. Execute um Powerwash durante o processo.</translation>
 <translation id="2872961005593481000">Encerrar</translation>
 <translation id="2873651257716068683">Modifica o tamanho da página de impressão padrão. Se o tamanho da página não estiver disponível, esta política será ignorada.</translation>
@@ -1138,12 +1172,26 @@
 <translation id="3072045631333522102">Protetor de tela a ser utilizado na tela de login no modo de varejo</translation>
 <translation id="3072847235228302527">Definir os Termos de Serviço para uma conta local do dispositivo</translation>
 <translation id="3077183141551274418">Ativa ou desativa os ciclos de vida de guias</translation>
+<translation id="3079417254871857650">Especifica a ação a ser tomada quando o diretório principal do usuário tiver sido criado com criptografia ecryptfs.
+
+      Se esta política for definida como "DisallowArc", os apps Android serão desativados para o usuário, e não será realizada a migração da criptografia ecryptfs para ext4. Os apps Android não serão impedidos de funcionar quando o diretório principal já estiver com criptografia ext4.
+
+      Se esta política for definida como "Migrate", os diretórios principais com criptografia ecryptfs serão automaticamente migrados para a criptografia ext4 durante o login, sem necessidade da permissão do usuário.
+
+      Se esta política for definida como "Wipe", os diretórios principais com criptografia ecryptfs serão excluídos durante o login, e novos diretórios com criptografia ext4 serão criados no lugar. Aviso: isso remove os dados locais do usuário.
+
+      Se esta política for definida como "MinimalMigrate", os diretórios principais com criptografia ecryptfs serão excluídos durante o login, e novos diretórios com criptografia ext4 serão criados no lugar. Porém, haverá a tentativa de preservar os tokens de login para que o usuário não precise fazer login novamente. Aviso: isso remove os dados locais do usuário.
+
+      Se esta política for definida com uma opção sem compatibilidade ("AskUser" ou "AskForEcryptfsArcUsers"), ela será tratada como se "Migrate" tivesse sido selecionada.
+
+      Esta política não se aplica a usuários de quiosque. Se esta política não for definida, o dispositivo agirá como se "DisallowArc" tivesse sido escolhida.</translation>
 <translation id="3086995894968271156">Configura a política Cast Receiver no <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Permite que você defina uma lista de padrões de URL que especificam sites que podem exibir imagens.
 
           Se esta política não for definida, o valor global padrão será usado para todos os sites da política "DefaultImagesSetting", caso ela tenha sido definida, ou a partir das configurações pessoais do usuário, caso não tenha sido definida.
 
           Esta política foi erroneamente ativada no Android no passado, mas esta funcionalidade nunca foi completamente compatível com essa plataforma.</translation>
+<translation id="3091832372132789233">Carregar a bateria de dispositivos que estejam conectados a uma fonte de energia externa.</translation>
 <translation id="3096595567015595053">Lista de plug-ins ativados</translation>
 <translation id="3101501961102569744">Escolher o modo de especificar as configurações do servidor proxy</translation>
 <translation id="3101709781009526431">Data e hora</translation>
@@ -1169,6 +1217,7 @@
           Se esta configuração for desativada, o <ph name="PRODUCT_NAME" /> só usará hosts de mensagens nativas instalados no nível do sistema.
 
           Se esta configuração não for definida, o <ph name="PRODUCT_NAME" /> permitirá o uso de hosts de mensagens nativas no nível do usuário.</translation>
+<translation id="3177802893484440532">Exigir verificações on-line de OCSP/CRL para âncoras de confiança locais</translation>
 <translation id="3185009703220253572">desde a versão <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Os apps Android não podem acessar chaves corporativas. Esta política não tem nenhum efeito sobre eles.</translation>
 <translation id="3205825995289802549">Maximizar a primeira janela do navegador na primeira execução</translation>
@@ -1178,6 +1227,7 @@
 <translation id="3220624000494482595">Se o aplicativo de quiosque for um app Android, ele não terá nenhum controle sobre a versão do <ph name="PRODUCT_OS_NAME" />, mesmo se esta política estiver definida como <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Padrões de URL para permitir instalação de extensões, aplicativos e scripts do usuário a partir de</translation>
 <translation id="3240609035816615922">Política de acesso à configuração de impressoras.</translation>
+<translation id="3240655340884151271">Endereço MAC da placa de rede integrada da dock</translation>
 <translation id="3243309373265599239">Especifica o período de inatividade do usuário após o qual a tela é escurecida no funcionamento com alimentação CA.
 
           Quando esta política está definida para um valor superior a zero, especifica por qual período o usuário deve permanecer inativo antes que o <ph name="PRODUCT_OS_NAME" /> escureça a tela.
@@ -1199,6 +1249,12 @@
      Se essa configuração estiver ativada ou não configurada, os usuários poderão ativar o proxy de impressão em nuvem pela autenticação com sua Conta do Google.
 
       Se essa configuração for desativada, os usuários não poderão ativar o proxy, e a máquina não terá permissão para compartilhar as impressoras com o <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Ativa uma página em chrome://password-change que permite que os usuários alterem as respectivas senhas do SAML durante a sessão. Isso garante que a senha do SAML e a da tela de bloqueio do dispositivo permaneçam sincronizadas.
+
+      Esta política também ativa notificações que avisam os usuários se as senhas do SAML estiverem prestes a expirar, para que eles possam alterá-las imediatamente em uma sessão.
+      No entanto, essas notificações só serão mostradas se as informações de validade da senha forem enviadas para o dispositivo pelo provedor de identidade do SAML durante o fluxo de login do SAML.
+
+      Se esta política for definida, o usuário não poderá alterá-la ou substitui-la.</translation>
 <translation id="3322771899429619102">Permite que você defina uma lista de padrões de URL que especificam sites que têm permissão para usar a geração de chaves. Se um padrão de URL está na política "KeygenBlockedForUrls", essa política substitui essas exceções.
 
           Se esta política não for definida, o valor padrão global será utilizado para todos os sites a partir da política "DefaultKeygenSetting", caso ela tenha sido definida, ou a partir das configurações pessoais do usuário, caso não tenha sido definida.</translation>
@@ -1282,6 +1338,7 @@
 
           Se esta política for definida como "Falsa" ou não for definida, os intervalos de gerenciamento de energia e o limite de duração da sessão começarão a ser contados imediatamente após o início da sessão.</translation>
 <translation id="3478024346823118645">Limpa os dados do usuário ao sair</translation>
+<translation id="3480961938508521469">Carregar totalmente a bateria na velocidade padrão.</translation>
 <translation id="348495353354674884">Ativar teclado virtual</translation>
 <translation id="3487623755010328395">
         Se esta política for configurada, <ph name="PRODUCT_NAME" /> tentará se registrar e aplicar a política de nuvem associada a todos os perfis.
@@ -1325,6 +1382,8 @@
 <translation id="3547954654003013442">Configurações de proxy</translation>
 <translation id="355118380775352753">Sites que serão abertos no navegador alternativo</translation>
 <translation id="3554984410014457319">Permitir que a frase de ativação por voz seja ouvida pelo Google Assistente</translation>
+<translation id="356579196325389849">Os usuários podem configurar o canal de lançamento do Chrome OS</translation>
+<translation id="3575011234198230041">Autenticação HTTP</translation>
 <translation id="3577251398714997599">Configurações de anúncios para sites com anúncios invasivos</translation>
 <translation id="357917253161699596">Permitir que os usuários gerenciem certificados</translation>
 <translation id="3583230441447348508">Especifica uma lista de compartilhamentos de arquivos de rede pré-configurados.
@@ -1355,6 +1414,7 @@
 
         Esta política é usada na inscrição no gerenciamento em nuvem do escopo da máquina no computador desktop e pode ser definida por registro ou GPO no Windows, por plist no Mac e por arquivo de política JSON no Linux.</translation>
 <translation id="3660562134618097814">Transferir cookies do IDP de SAML durante o login</translation>
+<translation id="3668151900457104753">Desinstalar extensões da lista de proibições</translation>
 <translation id="3701121231485832347">Controla configurações específicas de dispositivos <ph name="PRODUCT_OS_NAME" /> gerenciados pelo <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" />: o campo de linha única é obsoleto e será removido no futuro. Comece a usar a caixa de texto de várias linhas abaixo.</translation>
 <translation id="3709266154059827597">Configurar a lista de proibições de instalação da extensão</translation>
@@ -1436,6 +1496,16 @@
           Se essa política não for definida, o teclado na tela ficará inicialmente desativado, mas poderá ser ativado pelo usuário a qualquer momento.</translation>
 <translation id="382476126209906314">Configurar o prefixo TalkGadget para hosts de acesso remoto</translation>
 <translation id="3824972131618513497">Controla as configurações relacionadas ao gerenciamento de energia e à reinicialização.</translation>
+<translation id="3826475866868158882">Serviços de localização do Google ativados</translation>
+<translation id="3831054243924627613">Esta política controla o estado inicial de backup e restauração do Android.
+
+      Quando esta política não estiver configurada ou definida como <ph name="BR_DISABLED" />, o recurso de backup e restauração do Android estará inicialmente desativado.
+
+      Quando esta política for configurada como <ph name="BR_ENABLED" />, o recurso de backup e restauração do Android estará inicialmente ativado.
+
+      Quando esta política estiver configurada como <ph name="BR_UNDER_USER_CONTROL" />, o usuário poderá optar pelo uso do recurso de backup e restauração do Android. Se o usuário ativar o recurso de backup e restauração, os dados de apps Android serão carregados para os servidores de backup do Android e restaurados a partir deles durante a reinstalação de apps compatíveis.
+
+      Observe que esta política controla o estado do recurso de backup e restauração do Android apenas durante a configuração inicial. O usuário pode abrir as configurações do Android posteriormente e ativar ou desativar esse recurso.</translation>
 <translation id="3831376478177535007">Quando esta configuração está ativada, <ph name="PRODUCT_NAME" /> permite que os certificados emitidos pelas operações de PKI herdadas da Symantec Corporation sejam confiáveis, caso sejam validados e vinculados a um certificado de CA (Autoridade de certificação) reconhecido.
 
       Esta política depende de o sistema operacional continuar reconhecendo os certificados da infraestrutura herdada da Symantec. Se uma atualização de SO alterar o manuseio do SO de tais certificados, esta política não terá mais validade. Além disso, esta política visa ser uma alternativa temporária para dar às empresas mais tempo para fazer a transição dos certificados herdados da Symantec. Esta política será removida por volta de 1º de janeiro de 2019.
@@ -1517,6 +1587,15 @@
 
          Se não está definida como "false", os usuários podem transferir arquivos para o Google Drive.</translation>
 <translation id="3915395663995367577">URL de um arquivo proxy .pac</translation>
+<translation id="3920892052017026701">Configurar o início do carregamento personalizado da bateria, em porcentagem.
+
+          A bateria começará a ser carregada quando esgotar o valor do início personalizado de carregamento.
+
+          DeviceBatteryChargeCustomStartCharging precisa ser menor que DeviceBatteryChargeCustomStopCharging.
+
+          Esta política será usada apenas se DeviceBatteryChargeMode estiver definida como personalizada.
+
+          Se esta política não for configurada ou estiver indefinida, o modo de carga padrão da bateria será aplicado.</translation>
 <translation id="3925377537407648234">Define resolução de tela e fator de escala</translation>
 <translation id="3939893074578116847">Enviar pacotes de rede ao servidor de gerenciamento para monitorar o status on-line, a fim de permitir
       que o servidor detecte se o dispositivo está off-line.
@@ -1645,6 +1724,7 @@
 <translation id="4150201353443180367">Exibição</translation>
 <translation id="4157003184375321727">Informar a versão do sistema operacional e do firmware</translation>
 <translation id="4157594634940419685">Permitir acesso a impressoras CUPS nativas</translation>
+<translation id="4160962198980004898">Fonte de endereço MAC do dispositivo quando ancorado</translation>
 <translation id="4163705126749612234">Configura os nomes de domínio de cliente necessários que serão impostos aos clientes de acesso remoto e impede os usuários de alterá-los.
 
           Se esta configuração for ativada, apenas clientes de um dos domínios especificados poderão se conectar ao host.
@@ -1722,6 +1802,7 @@
       Observe que a política que contém um código de app não significa necessariamente que o usuário poderá ativar o app como um app de anotações na tela de bloqueio. Por exemplo, no Chrome 61, o conjunto de apps disponíveis é ainda mais restrito pela plataforma.
 
       Se a política for deixada sem definição, não haverá restrições impostas por ela no conjunto de apps que o usuário pode ativar na tela de bloqueio.</translation>
+<translation id="4313767483634435271">Endereço MAC designado da dock para o dispositivo</translation>
 <translation id="4322842393287974810">Permitir que o aplicativo de quiosque aberto automaticamente com zero de atraso controle a versão do <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="4325690621216251241">Adicionar um botão de logout à bandeja do sistema</translation>
 <translation id="4332177773549877617">Registra eventos de instalações do app Android</translation>
@@ -1753,6 +1834,7 @@
 <translation id="4360826270668210664">Se esta política for definida, o host de acesso remoto exigirá a autenticação de clientes para receber um token de autenticação deste URL e poder se conectar. Ela precisa ser usada em conjunto com RemoteAccessHostTokenValidationUrl.
 
           No momento, esse recurso está desativado para servidores.</translation>
+<translation id="4363057787588706121">Permitir a mescla de políticas de lista de diferentes fontes</translation>
 <translation id="436581050240847513">Relatar interfaces de redes de dispositivos</translation>
 <translation id="4372704773119750918">Não permitir que o usuário corporativo faça parte de diversos perfis (primários ou secundários)</translation>
 <translation id="4377599627073874279">Permitir que todos os sites exibam todas as imagens</translation>
@@ -1918,6 +2000,7 @@
 <translation id="4826326557828204741">Ação a ser executada quando o tempo de inatividade for atingido durante execução com bateria</translation>
 <translation id="4832852360828533362">Relatórios de usuário e do dispositivo</translation>
 <translation id="4834526953114077364">Os usuários menos utilizados ​​recentemente que não se conectaram nos últimos três meses serão removidos até que haja espaço livre suficiente</translation>
+<translation id="4835622243021053389">Ativar autenticação NTLMv2.</translation>
 <translation id="4858735034935305895">Permitir modo de tela cheia</translation>
 <translation id="4861767323695239729">Configurar os métodos de entrada permitidos em uma sessão de usuário</translation>
 <translation id="487460824085252184">Migrar automaticamente, sem autorização do usuário.</translation>
@@ -2033,6 +2116,11 @@
 
       Ao contrário da <ph name="URL_LIST_POLICY_NAME" />, as regras se aplicam nas duas direções. Ou seja, quando o suplemento do Internet Explorer estiver presente e ativado, isso também controlará se o <ph name="IE_PRODUCT_NAME" /> abrirá esses URLs no <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Ativar inicialização em CA (corrente alternada)</translation>
+<translation id="5131211790949066746">Ativa a mesclagem das políticas de lista <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> e <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> para instalação de extensões.
+
+      Se você ativar essa configuração, os valores da política da plataforma de máquina, da política da nuvem de máquina e da política da plataforma de usuário serão mesclados em uma única lista e usados em combinação, em vez de usar apenas os valores da fonte única com maior prioridade.
+
+      Se você desativar ou não definir essa configuração, apenas as entradas da lista da fonte de maior prioridade serão usadas, e todas as outras fontes serão exibidas como conflitos, mas ignoradas.</translation>
 <translation id="5141670636904227950">Definir o tipo de lupa padrão ativada na tela de login</translation>
 <translation id="5142301680741828703">Sempre renderizar os seguintes padrões de URL no <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Permite especificar os parâmetros adicionais que são usados quando o <ph name="PRODUCT_FRAME_NAME" /> inicia o <ph name="PRODUCT_NAME" />. Se essa política não for configurada, será usada a linha de comando padrão.</translation>
@@ -2140,6 +2228,7 @@
 
       Se a política não for configurada ou for definida para a string em branco ou um alcance de porta inválido, o WebRTC terá permissão para usar qualquer porta UDP local disponível.</translation>
 <translation id="5290940294294002042">Especificar uma lista de plug-ins que podem ser ativados ou desativados pelo usuário</translation>
+<translation id="5306186200045823863">Ativar confiança na Infraestrutura PKI de legado da Symantec Corporation</translation>
 <translation id="5307432759655324440">Disponibilidade do modo de navegação anônima</translation>
 <translation id="5318185076587284965">Ativar o uso de servidores relay pelo host de acesso remoto</translation>
 <translation id="5323128137188992869">Permite que o conteúdo seja transmitido usando o <ph name="PRODUCT_NAME" />.
@@ -2229,6 +2318,7 @@
       Se as regras forem contraditórias, o <ph name="PRODUCT_NAME" /> usará a regra mais específica.</translation>
 <translation id="5475361623548884387">Ativar impressão</translation>
 <translation id="547601067149622666">Não permitir anúncios em sites com anúncios invasivos</translation>
+<translation id="5483065054530244863">Permitir certificados SHA-1 assinados emitidos pelas âncoras de confiança locais</translation>
 <translation id="5483777239978559943">O uso desta política foi suspenso. Use a <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> para controlar a disponibilidade do plug-in Flash e <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> para controlar se o visualizador de PDF integrado será usado para abrir arquivos PDF.
 
 Especifica uma lista de plug-ins que o usuário pode ativar ou desativar no <ph name="PRODUCT_NAME" />.
@@ -2345,6 +2435,17 @@
           Se você ativar ou não configurar esta política, os usuários poderão ver as senhas deles em texto não criptografado no gerenciador de senhas.</translation>
 <translation id="5620392548325769024">Ativar a exibição da página de boas-vindas na primeira inicialização do navegador após o upgrade do sistema operacional</translation>
 <translation id="5630352020869108293">Restaurar a última sessão</translation>
+<translation id="5643906875497889108">Controla que tipos de apps/extensões podem ser instalados e limita o acesso no ambiente de execução.
+
+          Esta configuração coloca na lista de permissões os tipos extensões/apps que podem ser instalados no <ph name="PRODUCT_NAME" /> e com quais hosts eles podem interagir. O valor é uma lista de strings, e cada uma delas precisa ser uma das seguintes: "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app". Consulte a documentação de extensões do <ph name="PRODUCT_NAME" /> para ver mais informações sobre esses tipos.
+
+          Observe que esta política também afeta extensões e apps de instalação forçada via ExtensionInstallForcelist.
+
+          Se esta configuração for definida, extensões/apps que forem de um tipo não constante da lista não serão instalados.
+
+          Se esta configuração não for definida, nenhuma restrição quanto aos tipos aceitáveis de extensão/app será aplicada.
+
+          Antes da versão 75, o uso de vários códigos de extensão separados por vírgulas não é compatível e será ignorado. O restante da política continuará em vigor.</translation>
 <translation id="5645779841392247734">Permitir cookies nestes sites</translation>
 <translation id="5689430183304951538">Tamanho da página de impressão padrão</translation>
 <translation id="5693469654327063861">Permitir migração de dados</translation>
@@ -2384,6 +2485,7 @@
 <translation id="5765780083710877561">Descrição:</translation>
 <translation id="5770738360657678870">Canal de desenvolvedores (pode ser instável)</translation>
 <translation id="5774856474228476867">URL de pesquisa do provedor de pesquisa padrão</translation>
+<translation id="5775235485119094648">Carregar a bateria enquanto ela estiver dentro de um intervalo fixo.</translation>
 <translation id="5776485039795852974">Perguntar cada vez que um site quiser exibir notificações da área de trabalho</translation>
 <translation id="5781412041848781654">Especifica qual biblioteca GSSAPI deve ser utilizada para autenticação HTTP. Você pode definir apenas um nome de biblioteca ou um caminho completo.
 
@@ -2445,6 +2547,7 @@
 <translation id="5893553533827140852">Quando essa configuração está ativada, as solicitações de autenticação gnubby são transmitidas por proxy por meio de uma conexão de host remoto.
 
            Se essa configuração não está ativada ou configurada, as solicitações de autenticação gnubby não são transmitidas por proxy.</translation>
+<translation id="5897913798715600338">Carregar a bateria usando tecnologia de carregamento rápido.</translation>
 <translation id="5898486742390981550">Quando vários usuários estão conectados, somente o usuário principal pode usar os apps Android.</translation>
 <translation id="5900196529149231477">
       Esta política se aplica à tela de login. Consulte também a política <ph name="ISOLATE_ORIGINS_POLICY_NAME" />, que se aplica à sessão do usuário. É recomendado definir as duas políticas com o mesmo valor. Se os valores não coincidirem, poderá haver um atraso ao iniciar uma sessão de usuário enquanto o valor especificado pela política do usuário estiver sendo aplicado.
@@ -2453,12 +2556,14 @@
       Se a política não estiver configurada, as configurações padrão de isolamento de sites da plataforma serão usadas para a tela de login.
       </translation>
 <translation id="5901427587865226597">Apenas impressão duplex</translation>
+<translation id="5905473632148429217">Ativar verificações OCSP/CRL on-line</translation>
 <translation id="5906199912611534122">Permite ativar ou desativar a limitação da rede.
       Essa opção se aplica a todos os usuários e todas as interfaces no dispositivo. Depois que a política é definida,
       a limitação permanece ativada até que ela seja alterada para desativá-la.
 
       Se a política é definida como false, não há limitação.
       Se definida como true, o sistema é limitado para atingir as taxas de upload e download (em kbits/s) estabelecidas.</translation>
+<translation id="591088232153082363">Carregamento adaptável com base no padrão de uso da bateria.</translation>
 <translation id="5921713479449475707">Permitir atualização automática de downloads via HTTP</translation>
 <translation id="5921888683953999946">Definir o estado padrão do recurso de acessibilidade do cursor grande na tela de login.
 
@@ -2480,6 +2585,7 @@
 <translation id="5950205771952201658">Considerando que as verificações de revogação on-line de sistemas tolerantes a falhas (soft-fail) não fornecem benefícios de segurança efetivos, elas são desativadas por padrão nas versões 19 e posteriores do <ph name="PRODUCT_NAME" />. Quando essa política é configurada como "true", o comportamento anterior é restaurado, e as verificações on-line de OCSP/CRL são realizadas.
 
       Se a política não é definida ou é definida como "false", o <ph name="PRODUCT_NAME" /> não realiza verificações de revogação on-line no <ph name="PRODUCT_NAME" /> 19 e versões posteriores.</translation>
+<translation id="5961137303188584693">Endereço MAC da placa de rede integrada do dispositivo</translation>
 <translation id="5966615072639944554">Extensões que podem usar a API de declaração remota</translation>
 <translation id="5983708779415553259">Comportamento padrão para sites fora de pacotes de conteúdo</translation>
 <translation id="5997543603646547632">Usar relógido de 24 horas por padrão</translation>
@@ -2570,6 +2676,17 @@
 <translation id="6111936128861357925">Permitir jogo easter egg de dinossauro</translation>
 <translation id="6114416803310251055">obsoleto</translation>
 <translation id="6133088669883929098">Permitir que todos os sites usem a geração de chaves</translation>
+<translation id="6136537398661737682">Esta política controla o estado inicial dos Serviços de localização do Google.
+
+      Quando esta política não estiver configurada ou estiver definida como <ph name="GLS_DISABLED" />, os Serviços de localização do Google estarão inicialmente desativados.
+
+      Quando esta política estiver configurada como <ph name="GLS_ENABLED" />, os Serviços de localização do Google estarão inicialmente ativados.
+
+      Quando esta política estiver configurada como <ph name="GLS_UNDER_USER_CONTROL" />, o usuário poderá optar por usar ou não os Serviços de localização do Google. Isso permitirá que apps Android usem os serviços para consultar a localização do dispositivo e também ativará o envio de dados de local anônimos para o Google.
+
+      Observe que esta política controla o estado dos Serviços de localização do Google apenas durante a configuração inicial. O usuário pode abrir as configurações do Android posteriormente e ativar ou desativar esse recurso.
+
+      Observe que esta política será ignorada e os Serviços de localização do Google estarão sempre desativados quando a política <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> estiver configurada como <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">Sempre usar detecção de fuso horário aproximada</translation>
 <translation id="6145799962557135888">Permite que você defina uma lista de padrões de URL que especificam sites com permissão para executar o JavaScript. Se esta política for deixada sem definição, o valor padrão global será utilizado para todos os sites a partir da política "DefaultJavaScriptSetting", caso esta tenha sido definida, ou a partir das configurações pessoais do usuário, caso não tenha sido definida.</translation>
 <translation id="614662973812186053">Esta política também controla a coleta de dados de uso e diagnóstico do Android.</translation>
@@ -2643,9 +2760,17 @@
       Se desativada, os dados de preenchimento automático não são importados.
 
       Se não estiver configurada, o usuário poderá ter que responder se deseja importar ou permitir a importação automática.</translation>
+<translation id="6221175752766085998">Permitir certificados emitidos pelas âncoras de confiança locais sem a extensão subjectAlternativeName</translation>
 <translation id="6224304369267200483">Os URLs/domínios permitidos automaticamente direcionam a declaração da chave de segurança</translation>
 <translation id="6233173491898450179">Definir diretório de download</translation>
 <translation id="6244210204546589761">URLs que devem ser abertos na inicialização</translation>
+<translation id="6255387031094435995">Permite que as políticas selecionadas sejam mescladas quando vierem de fontes diferentes, com o mesmo escopo e nível.
+
+        Se uma política estiver na lista, caso haja conflito entre duas fontes, considerando que elas tenham o mesmo escopo e nível, os valores serão mesclados em uma nova lista de políticas.
+
+        Se uma política estiver na lista, caso haja conflito entre duas fontes e também entre escopos e/ou níveis diferentes, a política com a maior prioridade será aplicada.
+
+        Se uma política não estiver na lista, caso haja algum conflito entre as fontes, escopos e/ou níveis, a política com a maior prioridade será aplicada.</translation>
 <translation id="6258193603492867656">Especifica se o SPN do Kerberos gerado deve incluir uma porta fora do padrão. Se ativar esta configuração e uma porta fora do padrão (uma porta diferente da 80 ou 443, por exemplo) for inserida, ela será incluída no SPN do Kerberos gerado. De qualquer maneira, se desativar esta configuração ou deixar sem definição, o SPN do Kerberos não incluirá uma porta.</translation>
 <translation id="6261643884958898336">Reportar informações de identificação da máquina</translation>
 <translation id="6281043242780654992">Configura políticas para as mensagens nativas. Os hosts de mensagens nativas presentes na lista de proibições não serão permitidos, a menos que estejam na lista de permissões.</translation>
@@ -2843,6 +2968,7 @@
 <translation id="6757438632136860443">Permite definir uma lista de padrões de URL que especificam sites autorizados a executar o plug-in <ph name="FLASH_PLUGIN_NAME" />.
 
           Se esta política não for definida, o valor padrão global será usado para todos os sites, seja a partir da política "DefaultPluginsSetting", caso esta tenha sido definida, ou da configuração pessoal do usuário, caso não tenha sido definida.</translation>
+<translation id="6757613329154374267">Backup e restauração ativados</translation>
 <translation id="6762235610019366960">Permite que você controle a apresentação de conteúdo promocional e/ou educativo em guia cheia no <ph name="PRODUCT_NAME" />.
 
       Se esta política não for configurada ou ativada (configurada como verdadeira), o <ph name="PRODUCT_NAME" /> poderá exibir conteúdo em guia cheia para os usuários para fornecer informações de produtos.
@@ -2865,6 +2991,7 @@
       A string pode conter as variáveis ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME} que seriam substituídas por valores no dispositivo antes do uso como um nome de host. A substituição resultante precisa ser um nome de host válido (em conformidade com a RFC 1035, seção 3.1).
 
       Se esta política não for definida ou se o valor após a substituição não for um nome de host válido, nenhum nome de host será definido na solicitação de DHCP. </translation>
+<translation id="6833988859168635883">Inicialização, página inicial e página "Nova guia"</translation>
 <translation id="6835883744948188639">Mostrar um prompt recorrente ao usuário indicando que a reinicialização é necessária</translation>
 <translation id="6837480141980366278">Controla se o cliente DNS integrado é usado no <ph name="PRODUCT_NAME" />.
 
@@ -2974,6 +3101,17 @@
 
       Quando a tela está prestes a escurecer, o modelo de escurecimento inteligente avalia se o escurecimento deve ser adiado. Se o modelo de escurecimento inteligente adiar o escurecimento da tela, ela permanecerá ativa por mais tempo. Neste caso, os intervalos de desativação de tela, bloqueio de tela e modo ocioso são ajustados para manter as mesmas distâncias do intervalo de escurecimento de tela originalmente configuradas.
       Se esta política for definida como Verdadeira ou não for definida, o modelo de escurecimento inteligente será ativado e permitirá o aumento do tempo que a tela fica ativa. Se esta política for definida como Falsa, o modelo de escurecimento inteligente não influenciará o escurecimento da tela.</translation>
+<translation id="6967394885063085697">Ativar a política de gerenciamento de energia para o modo avançado de carregamento de bateria.
+
+          O modo avançado de carregamento de bateria permite que o usuário maximize a integridade da bateria. No modo avançado, o sistema usará um algoritmo de carregamento padrão e outras técnicas fora do horário de trabalho para maximizar a integridade da bateria. Durante o horário de trabalho, um carregamento expresso será usado. Esse carregamento permite que a bateria seja carregada mais rapidamente para que atinja a carga completa logo. Para cada dia, o período em que o sistema será mais utilizado é especificado pelo horário de início e a duração.
+
+          Se esta política for definida como verdadeira, e DeviceAdvancedBatteryChargeModeDayConfig estiver definida, o modo avançado de carregamento da bateria sempre ficará ativado se ele for compatível com o dispositivo.
+
+          Se esta política for definida como falsa, o modo avançado de carregamento da bateria ficará sempre desativado.
+
+          Se você definir esta política, os usuários não poderão alterá-la ou substituí-la.
+
+          Se esta política não for definida, o modo avançado de carregamento da bateria será desativado e não poderá ser ativado pelo usuário.</translation>
 <translation id="6972540544240464302">Seleciona a configuração do programador de tarefas</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="6994082778848658360">Especifica como o hardware de elemento seguro integrado pode ser usado para fornecer uma autenticação de segundo fator, se ele for compatível com esse recurso. O botão liga/desliga da máquina é usado para detectar a presença física do usuário.
@@ -3039,6 +3177,17 @@
       Se você ativar ou desativar esta configuração, os usuários não poderão alterá-la ou substituí-la.
 
       Se esta política não for configurada, o usuário poderá escolher se prefere receber ou não uma solicitação de senha para desbloquear o dispositivo.</translation>
+<translation id="7107148737865880402">Ativar a política de gerenciamento de compartilhamento de energia via USB.
+
+          Alguns dispositivos têm uma porta USB específica marcada com um ícone de raio ou de bateria, que pode ser usada para carregar dispositivos como um smartphone usando a bateria do sistema. Esta política afeta o comportamento de carregamento dessa porta enquanto o sistema está no modo de suspensão ou de encerramento. Esta política não afeta outras portas USB e o comportamento do carregamento enquanto o sistema está ativo.
+
+          Quando estiver ativado, a porta USB sempre fornecerá energia.
+
+          Quando em suspensão, se esta política for definida como verdadeira, a energia será fornecida à porta USB quando o dispositivo for conectado ao carregador de tomada ou se o nível da bateria estiver acima de 50%. Caso contrário, não será fornecida nenhuma energia.
+
+          Quando desligado, se esta política for definida como verdadeira, a energia será fornecida à porta USB quando o dispositivo estiver conectado ao carregador de tomada. Caso contrário, não será fornecida nenhuma energia.
+
+          Se não estiver definida, a política será ativada e não poderá ser desativada pelo usuário.</translation>
 <translation id="7115494316187648452">Determina se um processo de <ph name="PRODUCT_NAME" /> é iniciado no login do sistema operacional e continua em execução quando a última janela do navegador é fechada, permitindo que apps de segundo plano e a sessão atual de navegação continuem ativos, incluindo todos os cookies de sessão. O processo de segundo plano exibe um ícone na bandeja do sistema e pode ser sempre fechado a partir desse ícone.
 
       Se esta política é definida como "true", o modo de segundo plano é ativado e não pode ser controlado pelo usuário nas configurações do navegador.
@@ -3089,6 +3238,7 @@
           Se esta política estiver definida como true ou não estiver definida, os wake locks de tela serão respeitados para o gerenciamento de energia, a não ser que AllowWakeLocks esteja definida como false.
 
           Se esta política estiver definida como false, as solicitações de wake lock de tela serão rebaixadas a solicitações de wake lock do sistema.</translation>
+<translation id="7177857088692019405">Desbloqueio rápido</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Tipos de conexão permitidos para atualizações</translation>
 <translation id="7194407337890404814">Nome do provedor de pesquisa padrão</translation>
@@ -3152,6 +3302,7 @@
 <translation id="7273823081800296768">Se esta definição estiver ativada ou não estiver configurada, os usuários podem optar por parear clientes e hosts no momento da conexão, eliminando a necessidade de inserir um PIN todas as vezes.
 
           Se esta definição estiver desativada, esse recurso não fica disponível.</translation>
+<translation id="7274077256421167535">Ativar compartilhamento de energia via USB</translation>
 <translation id="7275334191706090484">Favoritos gerenciados</translation>
 <translation id="7291084543582732020">Se você ativar esta configuração, os usuários terão permissão para usar o Smart Lock caso os requisitos para o recurso sejam satisfeitos.
 
@@ -3165,6 +3316,7 @@
 
           Esta política será respeitada apenas se a política 'DefaultSearchProviderEnabled' estiver ativada.</translation>
 <translation id="7302043767260300182">Intervalo de bloqueio da tela no funcionamento com alimentação CA</translation>
+<translation id="7305262223970835999">Ativa uma página para alteração de senha durante a sessão para usuários do SAML.</translation>
 <translation id="7311458740754205918">Se a política é definida como true ou não é configurada, a página "Nova guia" pode mostrar sugestões de conteúdo com base no histórico de navegação, nos interesses ou no local do usuário.
 
       Se a política for definida como false, as sugestões de conteúdo geradas automaticamente não serão mostradas na página "Nova guia".</translation>
@@ -3287,6 +3439,15 @@
       Se o valor desta política for 0, o tamanho de cache padrão será usado, porém o usuário não poderá alterá-lo.
 
       Se esta política não for definida, o tamanho padrão será usado e o usuário poderá modificá-lo com a sinalização --disk-cache-size.</translation>
+<translation id="759389052790680884">Configurar a parada personalizada do carregamento da bateria, em porcentagem.
+
+          A bateria para de carregar ao atingir o valor de parada de carga personalizada.
+
+          DeviceBatteryChargeCustomStartCharging precisa ser menor que DeviceBatteryChargeCustomStopCharging.
+
+          Esta política será usada apenas se DeviceBatteryChargeMode estiver definida como personalizada.
+
+          Se esta política não for configurada ou estiver indefinida, o modo de carga padrão da bateria será aplicado.</translation>
 <translation id="759957074386651883">Configurações da política Safe Browsing</translation>
 <translation id="7604169113182304895">Os apps Android podem optar voluntariamente por respeitar essa lista. Não é possível forçá-los a respeitá-la.</translation>
 <translation id="7612157962821894603">Sinalizações amplas do sistema que devem ser aplicadas na inicialização do <ph name="PRODUCT_NAME" /></translation>
@@ -3361,6 +3522,15 @@
 <translation id="7712109699186360774">Perguntar toda vez que um site quiser acessar minha câmera e/ou meu microfone</translation>
 <translation id="7713608076604149344">Restrições de downloads</translation>
 <translation id="7715711044277116530">Percentual pelo qual calcular o intervalo de escurecimento da tela no modo de apresentação</translation>
+<translation id="7716781462866245042">Definir a configuração do dia para o modo avançado de carregamento de bateria.
+
+          Esta política será usada apenas se DeviceAdvancedBatteryChargeModeEnabled for definida como verdadeira.
+
+          Se esta política não for configurada ou estiver indefinida, o modo avançado de carregamento de bateria ficará sempre desativado.
+
+          Observação: <ph name="CHARGE_START_TIME_FIELD_NAME" /> precisa ser menor que <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Observação: os valores permitidos para o campo <ph name="MINUTE_FIELD_NAME" /> em <ph name="CHARGE_START_TIME_FIELD_NAME" /> e <ph name="CHARGE_END_TIME_FIELD_NAME" /> são 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">Configurar recursos de acessibilidade do <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Esta política ativa o HTTP/0.9 em portas diferentes de 80 para HTTP e de 443 para HTTPS.
 
@@ -3434,6 +3604,7 @@
       Determina a identificação da extensão a ser usada como protetor de tela na tela de login. A extensão deve ser parte do AppPack configurado para este domínio por meio da política DeviceAppPack.</translation>
 <translation id="7882857838942884046">A desativação do Google Sync fará com que o recurso de backup e restauração do Android não funcione corretamente.</translation>
 <translation id="7882890448959833986">Remover o aviso de SO não compatível</translation>
+<translation id="7895553628261067384">Acesso remoto</translation>
 <translation id="7902255855035461275">Os padrões desta lista serão comparados com a origem de
       segurança do URL solicitante. Se uma correspondência for encontrada, o acesso aos
       dispositivos de captura de vídeo será concedido sem solicitação.
@@ -3447,6 +3618,11 @@
 <translation id="7937491150792971922">Mesclar políticas de lista para instalação de extensões de diversas fontes</translation>
 <translation id="7937766917976512374">Permitir ou negar captura de vídeo</translation>
 <translation id="7941975817681987555">Não prever ações da rede em nenhuma conexão de rede</translation>
+<translation id="7952007677054834789">Configura as páginas a serem carregadas na inicialização, a página inicial padrão e a página "Nova guia" padrão no <ph name="PRODUCT_NAME" /> e impede que elas sejam alteradas pelos usuários.
+
+      As configurações da página inicial do usuário só serão completamente bloqueadas se você selecionar a página inicial como a página "Nova guia" ou se configurá-la para que seja um URL específico. Se você não especificar o URL, o usuário ainda poderá definir a página inicial como a página "Nova guia" especificando "chrome://newtab".
+
+      A política "URLs que devem ser abertos na inicialização" será ignorada, a menos que você selecione "Abrir uma lista de URLs" em "Ação na inicialização".</translation>
 <translation id="7952958573604504839">Esta política foi substituída por <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> no M48 e removida no M54.
 
       Ativa a previsão de rede no <ph name="PRODUCT_NAME" /> e impede os usuários de alterar essa configuração.
@@ -3585,6 +3761,7 @@
 <translation id="8176035528522326671">Permitir que o usuário empresarial seja o usuário principal de diversos perfis (comportamento padrão para usuários gerenciados por empresa)</translation>
 <translation id="8214600119442850823">Configura o gerenciador de senhas.</translation>
 <translation id="8217516105848565518">O uso desta política foi suspenso. Use RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">Ativar pacotes de criptografia RC4 em TLS</translation>
 <translation id="8244525275280476362">Atraso máximo de busca após a invalidação de uma política</translation>
 <translation id="8256688113167012935">Controla o nome da conta que o <ph name="PRODUCT_OS_NAME" /> mostra na tela de login para a conta local de dispositivo correspondente.
 
@@ -3625,6 +3802,7 @@
 <translation id="8312129124898414409">Permite que você defina se os websites estão autorizados a usar a geração de chaves. O uso da geração de chaves pode ser permitido para todos os websites ou negado para todos eles.
 
           Se esta política não for definida, será usada a política "BlockKeygen", mas o usuário poderá modificá-la.</translation>
+<translation id="8320149248919453401">Modo de carregamento da bateria</translation>
 <translation id="8329984337216493753">Esta política é ativa somente no modo de varejo. Quando o DeviceIdleLogoutTimeout for especificado, esta política definirá a duração da caixa de aviso com contagem regressiva que será mostrada ao usuário antes da desconexão. O valor da política deve ser especificado em milésimos de segundos.</translation>
 <translation id="8339420913453596618">Segundo fator desativado</translation>
 <translation id="8344454543174932833">Importar favoritos do navegador padrão na primeira execução</translation>
@@ -3786,6 +3964,7 @@
       Se a política não for definida, o período padrão de 345.600.000 milésimos de segundo (quatro dias) será usado para dispositivos <ph name="PRODUCT_OS_NAME" />, e o de 604.800.000 milésimos de segundo (uma semana) será usado para o <ph name="PRODUCT_NAME" />.</translation>
 <translation id="8685024486845674965">O aviso de proteção de senha é acionado pela reutilização da senha</translation>
 <translation id="8693243869659262736">Usar cliente DNS integrado</translation>
+<translation id="8698286761337647563">Com quantos dias de antecedência os usuários do SAML precisam ser notificados quando as senhas estiverem prestes a expirar</translation>
 <translation id="8703488928438047864">Informa o status da placa</translation>
 <translation id="8703872185032220081">Definir a configuração do dia para a economia de energia no período de pico.
 
@@ -3830,6 +4009,7 @@
       Se essa configuração estiver desativada ou não for definida, o serviço de proteção de senhas encaminhará os usuários para https://myaccounts.google.com para a alteração da senha.
       Esta política está disponível apenas em instâncias do Windows associadas a um domínio <ph name="MS_AD_NAME" /> ou instâncias do Windows 10 Pro ou Enterprise inscritas no gerenciamento de dispositivos.</translation>
 <translation id="8798099450830957504">Padrão</translation>
+<translation id="8800453707696044281">Configurar a parada personalizada do carregamento da bateria, em porcentagem.</translation>
 <translation id="8801680448782904838">Notifica um usuário de que a reinicialização do navegador ou do dispositivo é recomendada ou obrigatória</translation>
 <translation id="8818173863808665831">Informar a localização geográfica do dispositivo. 
 
@@ -3958,6 +4138,11 @@
       Esta política só afeta usuários que fizeram a autenticação com SAML.
 
       O valor da política precisa ser especificado em segundos.</translation>
+<translation id="9018338365267278833">Isso removerá extensões que aparecem na <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> ou <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> que tenham o modo de instalação definido como bloqueado e limpará os dados locais do usuário.  Consulte a política de privacidade ou a política de retenção de dados das extensões para entender o que pode acontecer com os dados do usuário que não são armazenados localmente.
+
+      Quando a política for definida como ativada, as extensões que constam nas listas mencionadas anteriormente, caso já tenham sido instaladas em uma máquina, serão totalmente removidas da máquina, incluindo os dados de usuário locais.
+
+      Quando a política for definida como desativada ou estiver indefinida, as extensões que constam nas listas mencionadas anteriormente, caso já tenham sido instaladas em uma máquina e estiverem na lista de proibições <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, serão desativadas na máquina, e não desinstaladas.</translation>
 <translation id="9027787254195333560">Esta política permite que você configure a imagem de avatar que representa o usuário na tela de login. A política é definida pela especificação do URL do qual o <ph name="PRODUCT_OS_NAME" /> pode fazer o download da imagem de avatar e de uma hash criptográfica usada para verificar a integridade do download. A imagem precisa estar no formato JPEG. O tamanho não pode ser superior a 512 KB. É necessário que o URL possa ser acessado sem qualquer tipo de autenticação.
 
       A imagem de avatar será transferida por download e armazenada em cache. O download será refeito sempre que o URL ou a hash mudarem.
diff --git a/components/policy/resources/policy_templates_pt-PT.xtb b/components/policy/resources/policy_templates_pt-PT.xtb
index f4cc225..6148045 100644
--- a/components/policy/resources/policy_templates_pt-PT.xtb
+++ b/components/policy/resources/policy_templates_pt-PT.xtb
@@ -51,6 +51,13 @@
 <translation id="1049138910114524876">Configura o local que é aplicado no ecrã de início de sessão do <ph name="PRODUCT_OS_NAME" />.
 
       Se esta política estiver definida, o ecrã de início de sessão é sempre apresentado no local que é fornecido pelo primeiro valor desta política (a política está definida como uma lista para a compatibilidade com as versões futuras). Se esta política não estiver definida ou estiver definida como uma lista vazia, o ecrã de início de sessão é apresentado no local da última sessão do utilizador. Se esta política estiver definida como um valor que não é um local válido, o ecrã de início de sessão é apresentado num local alternativo (atualmente, en-US).</translation>
+<translation id="1052499923181221200">Esta política não tem qualquer efeito, a menos que SamlInSessionPasswordChangeEnabled esteja definida como verdadeira.
+      Se essa política estiver definida como verdadeira e esta política estiver definida como (por exemplo) 14, significa que os utilizadores SAML são notificados 14 dias antes da data de validade das respetivas palavras-passe.
+      Assim, estes utilizadores podem atuar imediatamente e alterar a palavra-passe com a sessão iniciada, para a atualizar antes de expirar.
+      No entanto, estas notificações apenas podem ser apresentadas se as informações de validade da palavra-passe forem enviadas para o dispositivo pelo fornecedor de identidade SAML, durante o fluxo de início de sessão SAML.
+      Definir esta política como zero significa que os utilizadores não vão ser notificados com antecedência, mas sim apenas depois de a palavra-passe expirar.
+
+      Se esta política estiver definida, o utilizador não a pode alterar nem substituir.</translation>
 <translation id="1062011392452772310">Ativar a comprovação remota para o dispositivo</translation>
 <translation id="1062407476771304334">Substituir</translation>
 <translation id="1079801999187584280">Não permitir a utilização das Ferramentas para programadores.</translation>
@@ -215,6 +222,7 @@
       Se a política estiver ativada, o Assistente Google terá autorização para aceder ao contexto do ecrã.
       Se a política estiver desativada, o Assistente Google não terá autorização para aceder ao contexto do ecrã.
       Se não estiver definida, os utilizadores podem decidir se pretendem permitir ao Assistente Google aceder ou não ao contexto do ecrã.</translation>
+<translation id="1376119291123231789">Ative o modo de carregamento avançado da bateria</translation>
 <translation id="1383493480903114193">Esta política força a execução do código de rede no processo do navegador.
 
       Esta política está desativada por predefinição e, se for ativada, deixa os utilizadores sujeitos aos problemas de segurança quando o processo de rede tiver isolamento de processos.
@@ -313,6 +321,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Ativar o bloqueio de injeção de software de terceiros</translation>
 <translation id="1504431521196476721">Comprovação Remota</translation>
+<translation id="1507382822467487898">
+          Configura o endereço MAC (media access control) que é utilizado quando o dispositivo está ligado a uma estação de ancoragem.
+
+          Por predefinição, quando uma estação de ancoragem está ligada a alguns modelos de dispositivo, o endereço MAC designado da estação de ancoragem do dispositivo é utilizado para identificar o dispositivo na Ethernet. Esta política permite que o administrador altere a origem do endereço MAC quando o dispositivo está ancorado.
+
+          Se "DeviceDockMacAddress" estiver selecionado ou se a política não for definida, é utilizado o endereço MAC designado da estação de ancoragem do dispositivo.
+
+          Se "DeviceNicMacAddress" estiver selecionado, é utilizado o endereço MAC da placa NIC (controlador de interface de rede) do dispositivo.
+
+          Se "DockNicMacAddress" estiver selecionado, é utilizado o endereço MAC da placa NIC da estação de ancoragem.
+
+          Esta definição não pode ser alterada pelo utilizador.</translation>
 <translation id="1507957856411744193">Se esta política estiver definida como verdadeira, o <ph name="PRODUCT_NAME" /> irá ligar-se a dispositivos de transmissão em todos os endereços IP e não apenas nos endereços privados RFC1918/RFC4193.
 
           Se esta política estiver definida como falsa, o <ph name="PRODUCT_NAME" /> irá ligar-se a dispositivos de transmissão apenas nos endereços privados RFC1918/RFC4193.
@@ -742,6 +762,17 @@
 <translation id="2303795211377219696">Ativar Preenchimento automático para cartões de crédito</translation>
 <translation id="2309390639296060546">Definição de geolocalização predefinida</translation>
 <translation id="2327252517317514801">Definir domínios com permissão para aceder ao G Suite</translation>
+<translation id="2356878440219553005">Especifica a política de gestão de energia do modo de carregamento da bateria.
+
+          Controle dinamicamente o carregamento da bateria para minimizar o desgaste da bateria provocado pelo esforço da bateria e aumente a autonomia da mesma.
+
+          Se estiver selecionado o modo de carregamento personalizado da bateria, então tem de especificar DeviceBatteryChargeCustomStartCharging e DeviceBatteryChargeCustomStopCharging.
+
+          Se esta política estiver definida, então o modo de carregamento da bateria é aplicado, se for suportado no dispositivo.
+
+          Se esta política não for definida e for suportada no dispositivo, o modo de carregamento padrão da bateria é aplicado e não pode ser alterado pelo utilizador.
+
+          Nota: <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> substitui esta política, se a anterior for especificada.</translation>
 <translation id="237494535617297575">Permite definir uma lista de padrões de URL que especificam os Web sites autorizados a apresentar notificações. Se esta política não for definida, será utilizado o valor global predefinido para todos os Web sites, seja a partir da política "DefaultNotificationsSetting", caso esteja definida, ou a partir da configuração pessoal do utilizador.</translation>
 <translation id="2386362615870139244">Permitir bloqueios de ativação do ecrã</translation>
 <translation id="2411817661175306360">O aviso de proteção por palavra-passe está desativado.</translation>
@@ -777,6 +808,7 @@
 
       Se esta política estiver definida como Falsa, o início de sessão automático de atraso zero (se configurado) não pode ser ignorado.</translation>
 <translation id="2454228136871844693">Optimizar a estabilidade.</translation>
+<translation id="2463034609187171371">Ative os conjuntos de cifras DHE no TLS.</translation>
 <translation id="2463365186486772703">Local da aplicação</translation>
 <translation id="2466131534462628618">A autenticação de portal cativo ignora proxy</translation>
 <translation id="2482676533225429905">Mensagens nativas</translation>
@@ -947,6 +979,7 @@
 <translation id="2769952903507981510">Configurar o nome de domínio necessário para anfitriões de acesso remoto</translation>
 <translation id="2787173078141616821">Comunicar informações acerca do estado do Android</translation>
 <translation id="2799297758492717491">Permitir a reprodução automática de multimédia numa lista de autorizações de padrões do URL</translation>
+<translation id="2801155097555584385">Defina o início de carregamento personalizado em percentagem</translation>
 <translation id="2801230735743888564">Permitir aos utilizadores jogar o jogo do ovo da Páscoa do dinossauro quando o dispositivo está offline.
 
       Se esta política estiver definida como falsa, os utilizadores não podem jogar o jogo do ovo da Páscoa do dinossauro quando o dispositivo está offline. Se esta política estiver definida como verdadeira, os utilizadores podem jogar o jogo do dinossauro. Se esta política não estiver definida, os utilizadores não podem jogar o jogo do ovo da Páscoa do dinossauro em dispositivos com o Chrome OS inscritos, mas podem jogá-lo noutras circunstâncias.</translation>
@@ -1020,6 +1053,7 @@
       Se desativar esta definição ou não definir um valor, a Pré-visualização de impressão utiliza a impressora utilizada mais recentemente como a escolha de destino predefinida.
 
       Se ativar esta definição, a Pré-visualização de impressão utiliza a impressora predefinida do SO como a escolha de destino predefinida.</translation>
+<translation id="285627849510728211">Defina o modo de carregamento da bateria avançado na configuração diária</translation>
 <translation id="2856674246949497058">Reverta e continue a utilizar a versão de destino se a versão do SO for mais recente do que a de destino. Efetue um Powerwash durante o processo.</translation>
 <translation id="2872961005593481000">Encerrar</translation>
 <translation id="2873651257716068683">Substitui o tamanho da página de impressão padrão. Se o tamanho da página não estiver disponível, esta política é ignorada.</translation>
@@ -1152,12 +1186,26 @@
 <translation id="3072045631333522102">Proteção de ecrã a utilizar no ecrã de início de sessão no modo de retalho</translation>
 <translation id="3072847235228302527">Definir os Termos de Utilização para uma conta local do dispositivo</translation>
 <translation id="3077183141551274418">Ativa ou desativa os ciclos de vida dos separadores.</translation>
+<translation id="3079417254871857650">Especifica a ação que deve ser efetuada quando o diretório principal do utilizador for criado com a encriptação ecryptfs.
+
+      Se definir esta política como "DisallowArc", as aplicações para Android são desativadas para o utilizador e não é efetuada qualquer migração da encriptação ecryptfs para a ext4. A execução das aplicações para Android não é impedida quando o diretório principal já tiver encriptação ext4.
+
+      Se definir esta política como "Migrate", os diretórios principais com encriptação ecryptfs são migrados automaticamente para a encriptação ext4 ao iniciar sessão sem solicitar a autorização do utilizador.
+
+      Se definir esta política como "Wipe", os diretórios principais com encriptação ecryptfs são eliminados ao iniciar sessão e são criados novos diretórios principais com encriptação ext4. Aviso: esta ação remove os dados locais do utilizador.
+
+      Se definir esta política como "MinimalMigrate", os diretórios principais com encriptação ecryptfs são eliminados ao iniciar sessão e são criados novos diretórios principais com encriptação ext4. No entanto, deve tentar preservar os símbolos de início de sessão para que o utilizador não tenha de iniciar sessão novamente. Aviso: esta ação remove os dados locais do utilizador.
+
+      Se definir esta política como uma opção que deixou de ser suportada ("AskUser" ou "AskForEcryptfsArcUsers"), então esta é processada como se tivesse selecionado "Migrate".
+
+      Esta politica não se aplica aos utilizadores de quiosque. Se esta política não for definida, o dispositivo apresenta um comportamento semelhante a "DisallowArc".</translation>
 <translation id="3086995894968271156">Configura o Recetor do Cast no <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Permite definir uma lista de padrões de URL que especificam os sites autorizados a apresentar imagens.
 
           Se esta política não for definida, é utilizado o valor global predefinido para todos os sites, seja a partir da política "DefaultImagesSetting", caso esteja definida, ou a partir da configuração pessoal do utilizador.
 
           Tenha em atenção que, embora esta política tenha sido ativada por engano anteriormente no Android, a funcionalidade nunca foi totalmente suportada no Android.</translation>
+<translation id="3091832372132789233">Carregue a bateria de dispositivos que são ligados principalmente a uma fonte de alimentação externa.</translation>
 <translation id="3096595567015595053">Lista de plug-ins ativados</translation>
 <translation id="3101501961102569744">Escolher como indicar as definições do servidor proxy</translation>
 <translation id="3101709781009526431">Data e hora</translation>
@@ -1183,6 +1231,7 @@
           Se esta definição estiver desativada, o <ph name="PRODUCT_NAME" /> utilizará apenas os anfitriões de Mensagens nativas instalados no nível do sistema.
 
           Se esta definição for deixada por definir, o <ph name="PRODUCT_NAME" /> permitirá a utilização de anfitriões de Mensagens nativas no nível do utilizador.</translation>
+<translation id="3177802893484440532">Exija verificações de OCSP/CRL online para âncoras fidedignas locais</translation>
 <translation id="3185009703220253572">desde a versão <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">As aplicações para Android não podem obter acesso a chaves empresariais. Esta política não tem qualquer efeito nas mesmas.</translation>
 <translation id="3205825995289802549">Maximizar a primeira janela do navegador na primeira execução</translation>
@@ -1192,6 +1241,7 @@
 <translation id="3220624000494482595">Se a aplicação de quiosque for uma aplicação Android, não terá qualquer controlo sobre a versão do <ph name="PRODUCT_OS_NAME" />, mesmo que esta política esteja definida como <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Padrões de URL para permitir instalações de extensões, aplicações e scripts do utilizador a partir de</translation>
 <translation id="3240609035816615922">Política de acesso à configuração de impressoras.</translation>
+<translation id="3240655340884151271">Endereço MAC da placa NIC incorporada da estação de ancoragem</translation>
 <translation id="3243309373265599239">Especifica o período de tempo sem atividade por parte do utilizador após o qual se escurece o ecrã quando o dispositivo está ligado à eletricidade.
 
           Quando esta política está definida para um valor superior a zero, especifica o período de tempo que o utilizador tem de permanecer inativo antes de o <ph name="PRODUCT_OS_NAME" /> escurecer o ecrã.
@@ -1213,6 +1263,12 @@
 Se esta definição estiver ativada ou por configurar, os utilizadores podem ativar o proxy do "cloud print" através da autenticação junto da respetiva Conta Google.
 
 Se esta definição estiver desativada, os utilizadores não podem ativar o proxy e o computador não poderá partilhar as impressoras nele instaladas com o <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Ativa uma página em chrome://password-change que permite aos utilizadores SAML alterarem as respetivas palavras-passe SAML enquanto têm sessão iniciada, o que garante que a palavra-passe SAML e a palavra-passe do ecrã de bloqueio do dispositivo se mantêm sincronizadas.
+
+      Esta política também ativa notificações que avisam os utilizadores SAML de que as suas palavras-passe SAML estão prestes a expirar, para estes poderem atuar imediatamente e alterarem a palavra-passe com a sessão iniciada.
+      No entanto, estas notificações apenas podem ser apresentadas se as informações de validade da palavra-passe forem enviadas para o dispositivo pelo fornecedor de identidade SAML, durante o fluxo de início de sessão SAML.
+
+      Se esta política estiver definida, o utilizador não a pode alterar nem substituir.</translation>
 <translation id="3322771899429619102">Permite definir uma lista de padrões de URL que especificam os sites autorizados a utilizar a geração de chaves. Se um padrão do URL estiver incluído em "KeygenBlockedForUrls", tal substitui estas exceções.
 
           Se esta política não for definida, é utilizado o valor global predefinido para todos os sites, seja a partir da política "DefaultKeygenSetting", se estiver definida, ou a partir da configuração pessoal do utilizador.</translation>
@@ -1298,6 +1354,7 @@
 
           Se esta política estiver definida como Falsa ou não estiver definida, os atrasos de gestão de energia e o limite de duração da sessão começarão imediatamente após o início da sessão.</translation>
 <translation id="3478024346823118645">Limpar os dados do utilizador ao terminar sessão</translation>
+<translation id="3480961938508521469">Carregue totalmente a bateria a uma velocidade normal.</translation>
 <translation id="348495353354674884">Ativar teclado virtual</translation>
 <translation id="3487623755010328395">
         Se esta política estiver definida, o <ph name="PRODUCT_NAME" /> tentará registar-se e aplicar a política de nuvem associada a todos os perfis.
@@ -1344,6 +1401,8 @@
 <translation id="3547954654003013442">Definições de proxy</translation>
 <translation id="355118380775352753">Websites a abrir num navegador alternativo</translation>
 <translation id="3554984410014457319">Permitir ao Assistente Google ouvir a frase de ativação por voz</translation>
+<translation id="356579196325389849">Os utilizadores podem configurar o canal de lançamento do Chrome OS.</translation>
+<translation id="3575011234198230041">Autenticação HTTP</translation>
 <translation id="3577251398714997599">Definição dos anúncios para sites com anúncios intrusivos</translation>
 <translation id="357917253161699596">Permitir que os utilizadores efetuem a gestão de certificados do utilizador</translation>
 <translation id="3583230441447348508">Especifica uma lista de partilhas de ficheiros de rede pré-configuradas.
@@ -1374,6 +1433,7 @@
 
         Esta política é utilizada pela inscrição de políticas de nuvem num âmbito automático em computadores e pode ser definida pela Base de dados de registo ou GPO no Windows, pelo plist no Mac e pelo ficheiro da política JSON no Linux.</translation>
 <translation id="3660562134618097814">Transferir cookies SAML IdP durante o início de sessão</translation>
+<translation id="3668151900457104753">Desinstale extensões que estão na lista negra</translation>
 <translation id="3701121231485832347">Controla definições específicas para dispositivos <ph name="PRODUCT_OS_NAME" /> geridos por <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (O campo de uma única linha foi descontinuado e será removido no futuro. Comece a utilizar a caixa de texto multilinha abaixo.)</translation>
 <translation id="3709266154059827597">Configurar lista negra de instalação de extensões</translation>
@@ -1455,6 +1515,16 @@
           Se esta política não for definida, o teclado no ecrã está inicialmente desativado, mas o utilizador pode ativá-lo em qualquer altura.</translation>
 <translation id="382476126209906314">Configurar o prefixo TalkGadget para anfitriões de acesso remoto</translation>
 <translation id="3824972131618513497">Controla as definições relacionadas com a gestão de energia e o reinício.</translation>
+<translation id="3826475866868158882">Serviços de localização da Google ativados.</translation>
+<translation id="3831054243924627613">Esta política controla o estado inicial do serviço de cópia de segurança e restauro do Android.
+
+      Quando esta política não está configurada ou está <ph name="BR_DISABLED" />, o serviço de cópia de segurança e restauro do Android está inicialmente desativado.
+
+      Quando esta política está definida como <ph name="BR_ENABLED" />, o serviço de cópia de segurança e restauro do Android está inicialmente ativado.
+
+      Quando esta política está definida como <ph name="BR_UNDER_USER_CONTROL" />, é perguntado ao utilizador se pretende utilizar o serviço de cópia de segurança e restauro do Android. Se o utilizador ativar o serviço de cópia de segurança e restauro, os dados de aplicações para Android são carregados para os servidores de cópia de segurança do Android e restaurados a partir dos mesmos após a reinstalação de aplicações compatíveis.
+
+      Tenha em atenção que esta política controla o estado do serviço de cópia de segurança e restauro do Android apenas durante a configuração inicial. Posteriormente, o utilizador pode aceder às definições do Android e ativar/desativar o serviço de cópia de segurança e restauro do Android.</translation>
 <translation id="3831376478177535007">Quando esta definição está ativada, o <ph name="PRODUCT_NAME" /> considera os certificados emitidos pelas operações da PKI antiga da Symantec Corporation de confiança se forem validados e incluírem com êxito uma cadeia para um certificado da AC (Autoridade de certificação) reconhecido.
 
       Tenha em atenção que esta política depende do reconhecimento do sistema operativo de certificados da infraestrutura antiga da Symantec. Se uma atualização do SO alterar o processamento do SO desses certificados, esta política deixa de ter efeito. Além disso, esta política serve de solução temporária para dar às empresas mais tempo para se desvincularem de certificados antigos da Symantec. Esta política será removida em meados do dia 1 de janeiro de 2019.
@@ -1536,6 +1606,15 @@
 
           Se não estiver definida ou estiver definida como falsa, os utilizadores poderão transferir ficheiros para o Google Drive.</translation>
 <translation id="3915395663995367577">URL para um ficheiro .pac de proxy</translation>
+<translation id="3920892052017026701">Defina o início de carregamento da bateria personalizado em percentagem.
+
+          A bateria começa a carregar quando a carga da bateria atinge o valor do início de carregamento personalizado.
+
+          O valor DeviceBatteryChargeCustomStartCharging tem de ser inferior ao valor DeviceBatteryChargeCustomStopCharging.
+
+          Esta política só é utilizada se DeviceBatteryChargeMode estiver definida como personalizada.
+
+          Se esta política não for configurada ou não for definida, é aplicado o modo de carregamento da bateria padrão.</translation>
 <translation id="3925377537407648234">Definir a resolução do ecrã e o fator de escala</translation>
 <translation id="3939893074578116847">Envie pacotes de rede para o servidor de gestão para monitorizar o estado online, de modo a permitir
       que o servidor detete se o dispositivo está offline.
@@ -1664,6 +1743,7 @@
 <translation id="4150201353443180367">Visualização</translation>
 <translation id="4157003184375321727">Comunicar versão do SO e do firmware</translation>
 <translation id="4157594634940419685">Autorizar o acesso a impressoras CUPS nativas</translation>
+<translation id="4160962198980004898">Origem do endereço MAC do dispositivo quando ancorado</translation>
 <translation id="4163705126749612234">Configura os nomes de domínio do cliente obrigatórios que são impostos aos clientes de acesso remoto e impede os utilizadores de os alterarem.
 
           Se esta definição estiver ativada, apenas os clientes de um dos domínios especificados se pode ligar ao anfitrião.
@@ -1741,6 +1821,7 @@
       Tenha em atenção que o facto de a política incluir um ID de aplicação não significa necessariamente que o utilizador possa ativar a aplicação como uma aplicação para tirar notas no ecrã de bloqueio. Por exemplo, no Chrome 61, aplicam-se restrições adicionais da plataforma ao conjunto de aplicações disponíveis.
 
       Se a política não for definida, não se aplicam as restrições impostas pela política ao conjunto de aplicações que o utilizador pode ativar no ecrã de bloqueio.</translation>
+<translation id="4313767483634435271">Endereço MAC designado da estação de ancoragem do dispositivo</translation>
 <translation id="4322842393287974810">Permitir que a aplicação de quiosque de início automático com atraso zero controle a versão do <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="4325690621216251241">Adicionar um botão para terminar sessão ao tabuleiro do sistema</translation>
 <translation id="4332177773549877617">Registar eventos para instalações de aplicações para Android</translation>
@@ -1772,6 +1853,7 @@
 <translation id="4360826270668210664">Se esta política estiver definida, o anfitrião de acesso remoto exige que os clientes que tentam efetuar a autenticação obtenham um símbolo de autenticação a partir deste URL para estabelecer ligação. Deve utilizá-la em conjunto com a política RemoteAccessHostTokenValidationUrl.
 
           Atualmente, esta funcionalidade encontra-se desativada do lado do servidor.</translation>
+<translation id="4363057787588706121">Permite unir políticas de lista a partir de origens diferentes.</translation>
 <translation id="436581050240847513">Comunicar interfaces de rede do dispositivo</translation>
 <translation id="4372704773119750918">Não permitir que o utilizador empresarial faça parte do multiperfil (principal ou secundário)</translation>
 <translation id="4377599627073874279">Permitir que todos os sites mostrem todas as imagens</translation>
@@ -1937,6 +2019,7 @@
 <translation id="4826326557828204741">Ação a executar quando o atraso de inatividade for atingido e estiver a ser utilizada a energia da bateria</translation>
 <translation id="4832852360828533362">Relatórios de utilizadores e dispositivos</translation>
 <translation id="4834526953114077364">Os utilizadores menos utilizados recentemente que não tenham iniciado sessão nos últimos 3 meses são removidos até existir espaço livre suficiente</translation>
+<translation id="4835622243021053389">Ative a autenticação NTLMv2.</translation>
 <translation id="4858735034935305895">Permitir modo de ecrã inteiro</translation>
 <translation id="4861767323695239729">Configurar os métodos de introdução permitidos numa sessão de utilizador</translation>
 <translation id="487460824085252184">Migrar automaticamente sem solicitar a autorização do utilizador</translation>
@@ -2055,6 +2138,11 @@
 
       Ao contrário da política <ph name="URL_LIST_POLICY_NAME" />, as regras são aplicáveis a ambas as direções. Ou seja, quando o suplemento do Internet Explorer estiver presente e ativado, controla também se o <ph name="IE_PRODUCT_NAME" /> deve abrir estes URLs no <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Ativar arranque com CA (corrente alternada)</translation>
+<translation id="5131211790949066746">Permite unir as políticas de lista de instalação das extensões <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> e <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" />.
+
+      Se ativar esta definição, os valores da política de plataforma de máquinas, da política de nuvem de máquinas e da política de plataforma de utilizadores são unidos numa única lista e utilizados em conjunto em vez de serem utilizados apenas os valores da origem individual com a prioridade mais elevada.
+
+      Se desativar esta definição ou a deixar por definir, apenas são utilizadas as entradas de lista da origem com a prioridade mais elevada e todas as outras origens são apresentadas como conflitos, apesar de serem ignoradas.</translation>
 <translation id="5141670636904227950">Definir o tipo de lupa predefinida ativada no ecrã de início de sessão</translation>
 <translation id="5142301680741828703">Processar sempre os seguintes padrões de URL no <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Permite especificar parâmetros adicionais utilizados quando o <ph name="PRODUCT_FRAME_NAME" /> iniciar o <ph name="PRODUCT_NAME" />.
@@ -2164,6 +2252,7 @@
 
       Se a política não for definida ou se for definida para a string vazia ou um intervalo de portas inválido, o WebRTC está autorizado a utilizar qualquer porta UDP local disponível.</translation>
 <translation id="5290940294294002042">Indique uma lista de plug-ins que o utilizador pode ativar ou desativar</translation>
+<translation id="5306186200045823863">Ative a confiança na Infraestrutura PKI antiga da Symantec Corporation</translation>
 <translation id="5307432759655324440">Disponibilidade do modo de navegação anónima</translation>
 <translation id="5318185076587284965">Ativar a utilização de servidores de retransmissão através do anfitrião de acesso remoto</translation>
 <translation id="5323128137188992869">Permitir a transmissão de conteúdo para o dispositivo através do <ph name="PRODUCT_NAME" />.
@@ -2259,6 +2348,7 @@
       Se houver uma contradição entre as regras, o <ph name="PRODUCT_NAME" /> utiliza a regra mais específica.</translation>
 <translation id="5475361623548884387">Ativar impressão</translation>
 <translation id="547601067149622666">Não permitir anúncios em sites com anúncios intrusivos</translation>
+<translation id="5483065054530244863">Autorize os certificados assinados SHA-1 emitidos por âncoras fidedignas locais</translation>
 <translation id="5483777239978559943">Esta política foi descontinuada. Utilize <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> para controlar a disponibilidade do plug-in Flash e <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> para controlar se o visualizador de PDF integrado deve ser utilizado para abrir ficheiros PDF.
 
       Especifica uma lista de plug-ins que o utilizador pode ativar ou desativar no <ph name="PRODUCT_NAME" />.
@@ -2371,6 +2461,17 @@
           Se ativar ou não definir esta política, os utilizadores podem ver as palavras-passe em texto não codificado no gestor de palavras-passe.</translation>
 <translation id="5620392548325769024">Ativar a apresentação da página de boas-vindas da primeira vez que o navegador for iniciado após uma atualização do SO</translation>
 <translation id="5630352020869108293">Restaurar a última sessão</translation>
+<translation id="5643906875497889108">Controla quais são os tipos de aplicações/extensões que têm autorização para serem instalados e limita o acesso ao tempo de execução.
+
+          Esta definição coloca numa lista de autorizações os tipos de aplicações/extensões que podem ser instalados no <ph name="PRODUCT_NAME" /> e com os quais os anfitriões podem interagir. O valor é uma lista de strings, sendo que cada uma deve corresponder a uma das opções seguintes: "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app". Consulte a documentação sobre extensões do <ph name="PRODUCT_NAME" /> para obter mais informações sobre estes tipos.
+
+          Tenha em atenção que esta política também afeta as extensões e as aplicações cuja instalação é forçada através de ExtensionInstallForcelist.
+
+          Se esta definição estiver configurada, as extensões/aplicações que tenham um tipo não existente na lista não são instaladas.
+
+          Se esta definição ficar por configurar, não são impostas restrições aos tipos de extensões/aplicações aceitáveis.
+
+          Antes da versão 75, a utilização de vários IDs de extensão separados por vírgulas não é suportada e será ignorada. A restante política continua a aplicar-se.</translation>
 <translation id="5645779841392247734">Permitir cookies nestes sites</translation>
 <translation id="5689430183304951538">Tamanho da página de impressão padrão</translation>
 <translation id="5693469654327063861">Permitir a migração de dados</translation>
@@ -2410,6 +2511,7 @@
 <translation id="5765780083710877561">Descrição:</translation>
 <translation id="5770738360657678870">Canal para programadores (pode ser instável)</translation>
 <translation id="5774856474228476867">URL de pesquisa do fornecedor de pesquisas predefinido</translation>
+<translation id="5775235485119094648">Carregue a bateria enquanto está dentro de um intervalo fixo.</translation>
 <translation id="5776485039795852974">Perguntar sempre quando um site pretender mostrar notificações de ambiente de trabalho</translation>
 <translation id="5781412041848781654">Especifica qual a biblioteca GSSAPI a utilizar para a autenticação HTTP. Pode definir apenas o nome de uma biblioteca ou um caminho inteiro.
 
@@ -2471,6 +2573,7 @@
 <translation id="5893553533827140852">Se esta definição estiver ativada, os pedidos de autenticação gnubby serão utilizados com proxy numa ligação de anfitrião remoto.
 
           Se esta definição estiver desativada ou não estiver configurada, os pedidos de autenticação não serão utilizados com proxy.</translation>
+<translation id="5897913798715600338">Carregue a bateria com a tecnologia de Carregamento rápido.</translation>
 <translation id="5898486742390981550">Quando vários utilizadores têm sessão iniciada, apenas o utilizador principal pode utilizar aplicações para Android.</translation>
 <translation id="5900196529149231477">
       Esta política aplica-se ao ecrã de início de sessão. Consulte também a política <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> que se aplica à sessão do utilizador. É recomendável definir ambas as políticas com o mesmo valor. Se os valores não coincidirem, pode ocorrer um atraso ao entrar numa sessão de utilizador enquanto o valor especificado pela Política do Utilizador é aplicado.
@@ -2479,12 +2582,14 @@
       Se a política não estiver configurada, são utilizadas as predefinições de isolamento de site da plataforma para o ecrã de início de sessão.
       </translation>
 <translation id="5901427587865226597">Apenas impressão duplex</translation>
+<translation id="5905473632148429217">Ative as verificações OCSP/CRL online</translation>
 <translation id="5906199912611534122">Permite a ativação ou a desativação do controlo de rede.
       Aplica-se a todos os utilizadores e a todas as interfaces no dispositivo. Depois de definido,
       o controlo mantém-se até a política ser alterada de modo a desativá-lo.
 
       Se for definido como falso, não há controlo.
       Se for definido como verdadeiro, o sistema é controlado para obter as taxas de carregamento e de transferência indicadas (em kbits/s).</translation>
+<translation id="591088232153082363">Carregamento adaptativo da bateria com base no padrão de utilização da bateria.</translation>
 <translation id="5921713479449475707">Permitir transferências de atualização automática por HTTP</translation>
 <translation id="5921888683953999946">Definir o estado predefinido da funcionalidade de acessibilidade do cursor grande no ecrã de início de sessão.
 
@@ -2506,6 +2611,7 @@
 <translation id="5950205771952201658">Na medida em que as verificações de revogação online de falha suave não fornecem uma vantagem de segurança eficaz, estas estão desativadas por predefinição na versão 19 e posterior do <ph name="PRODUCT_NAME" />. Ao definir esta política como verdadeira, o comportamento anterior é restaurado e são efetuadas verificações OCSP/CRL online.
 
       Se a política não for definida ou for definida como falsa, o <ph name="PRODUCT_NAME" /> não efetuará verificações de revogação online no <ph name="PRODUCT_NAME" /> 19 e posterior.</translation>
+<translation id="5961137303188584693">Endereço MAC da NIC incorporada do dispositivo</translation>
 <translation id="5966615072639944554">Extensões que têm permissão para utilizar a API de comprovação remota</translation>
 <translation id="5983708779415553259">Comportamento predefinido para sites que não estejam num pacote de conteúdo</translation>
 <translation id="5997543603646547632">Utilizar o relógio de 24 horas por predefinição</translation>
@@ -2596,6 +2702,17 @@
 <translation id="6111936128861357925">Permitir o jogo do ovo da Páscoa do dinossauro</translation>
 <translation id="6114416803310251055">obsoleta</translation>
 <translation id="6133088669883929098">Permitir que todos os sites utilizem a geração de chaves</translation>
+<translation id="6136537398661737682">Esta política controla o estado inicial dos Serviços de localização da Google.
+
+      Quando esta política não está configurada ou está definida como <ph name="GLS_DISABLED" />, os Serviços de localização da Google estão inicialmente desativados.
+
+      Quando esta política está definida como <ph name="GLS_ENABLED" />, os Serviços de localização da Google estão inicialmente ativados.
+
+      Quando esta política está definida como <ph name="GLS_UNDER_USER_CONTROL" />, é perguntado ao utilizador se pretende utilizar os Serviços de localização da Google. Tal permite que as aplicações para Android utilizem os serviços para consultar a localização do dispositivo e também ativa o envio de dados de localização anónimos para a Google.
+
+      Tenha em atenção que esta política controla o estado dos Serviços de localização da Google apenas durante a configuração inicial. Posteriormente, o utilizador pode aceder às definições do Android e ativar/desativar os Serviços de localização da Google.
+
+      Tenha em atenção que esta política é ignorada e os Serviços de localização da Google estão sempre desativados quando a política <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> está definida como <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">Utilizar sempre a deteção aproximada do fuso horário</translation>
 <translation id="6145799962557135888">Permite definir uma lista de padrões de URL que especificam os Web sites autorizados a executar JavaScript. Se esta política não for definida, será utilizado o valor global predefinido para todos os Web sites, seja a partir da política "DefaultJavaScriptSetting", caso esteja definida, ou a partir da configuração pessoal do utilizador.</translation>
 <translation id="614662973812186053">Esta política também controla a recolha de dados de utilização e de diagnóstico do Android.</translation>
@@ -2669,9 +2786,17 @@
       Se estiver desativada, os dados do formulário de preenchimento automático não são importados.
 
       Se não estiver definida, o utilizador pode ser questionado se pretende importá-los ou a importação pode ocorrer automaticamente.</translation>
+<translation id="6221175752766085998">Autorize os certificados emitidos por âncoras fidedignas locais sem a extensão subjectAlternativeName</translation>
 <translation id="6224304369267200483">URLs/domínios com autorização automática da comprovação direta de Chave de segurança</translation>
 <translation id="6233173491898450179">Definir diretório da transferência</translation>
 <translation id="6244210204546589761">URLs a abrir no arranque</translation>
+<translation id="6255387031094435995">Permite unir as políticas selecionadas quando estas são provenientes de origens diferentes, têm os mesmos âmbitos e o mesmo nível.
+
+        Se uma política estiver na lista e existir um conflito entre duas origens, uma vez que têm os mesmos âmbitos e o mesmo nível, os valores são unidos para criar uma nova lista de políticas.
+
+        Se uma política estiver na lista e existir um conflito entre duas origens e também entre diferentes âmbitos e/ou o nível, é aplicada a política com a prioridade mais elevada.
+
+        Se uma política não estiver na lista e existir qualquer conflito entre as origens, os âmbitos e/ou o nível, é aplicada a política com a prioridade mais elevada.</translation>
 <translation id="6258193603492867656">Especifica se o SPN do Kerberos gerado deverá incluir uma porta não padrão. Se ativar esta definição e for introduzida uma porta não padrão (ou seja, outra porta que não a 80 ou a 443), essa porta será incluída no SPN do Kerberos gerado. Se desativar esta definição ou não a definir, o SPN do Kerberos gerado não incluirá uma porta em circunstância alguma.</translation>
 <translation id="6261643884958898336">Comunicar informações de identificação da máquina</translation>
 <translation id="6281043242780654992">Configura as políticas das Mensagens nativas. Os anfitriões de mensagens nativas na lista negra não terão autorização até passarem para a lista de autorizações.</translation>
@@ -2869,6 +2994,7 @@
 <translation id="6757438632136860443">Permite-lhe definir uma lista de padrões de URL que especificam sites que estão autorizados a executar o plug-in <ph name="FLASH_PLUGIN_NAME" />.
 
           Se esta política não for definida, é utilizado o valor predefinido global para todos os sites da política "DefaultPluginsSetting", se esta estiver definida ou, caso contrário, a configuração pessoal do utilizador.</translation>
+<translation id="6757613329154374267">Cópia de segurança e restauro ativados</translation>
 <translation id="6762235610019366960">Permite-lhe controlar a apresentação de conteúdo promocional e/ou educativo no separador inteiro no <ph name="PRODUCT_NAME" />.
 
       Se não estiver configurada ou ativada (definida como verdadeira), o <ph name="PRODUCT_NAME" /> pode apresentar conteúdo em separador inteiro aos utilizadores para fornecer informações de produto.
@@ -2891,6 +3017,7 @@
       A string pode conter variáveis ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR} e ${MACHINE_NAME} que são substituídas por valores no dispositivo antes de ser utilizada como nome do anfitrião. A substituição resultante deve ser um nome de anfitrião válido (de acordo com o RFC 1035, secção 3.1).
 
       Se esta política não estiver definida ou o valor após a substituição não for um nome de anfitrião válido, não é definido um nome de anfitrião no pedido de DHCP. </translation>
+<translation id="6833988859168635883">Página de arranque, Página inicial e página Novo separador</translation>
 <translation id="6835883744948188639">Apresentar uma mensagem recorrente ao utilizador a indicar que é recomendado reiniciar</translation>
 <translation id="6837480141980366278">Define se o cliente DNS incorporado é utilizado no <ph name="PRODUCT_NAME" />.
 
@@ -3002,6 +3129,17 @@
 
       Quando o ecrã está prestes a ser escurecido, o modelo de escurecimento inteligente determina se essa ação deve ser adiada. Se o modelo de escurecimento inteligente adiar o escurecimento do ecrã, prolonga efetivamente o tempo até essa ação. Neste caso, os atrasos de desativação, de bloqueio do ecrã e de inatividade são ajustados para manter as mesmas distâncias relativamente ao atraso de escurecimento do ecrã, conforme configurado originalmente.
       Se esta política não for definida ou estiver definida como verdadeira, o modelo de escurecimento inteligente será ativado para poder prolongar o tempo que precede o escurecimento do ecrã. Se estiver definida como falsa, o modelo de escurecimento inteligente não irá influenciar o escurecimento do ecrã.</translation>
+<translation id="6967394885063085697">Ative a política de gestão de energia do modo de carregamento da bateria avançado.
+
+          O modo de carregamento da bateria avançado permite que o utilizador maximize o estado da bateria. No modo de carregamento avançado o sistema utiliza um algoritmo de carregamento padrão e outras técnicas durante as horas de inatividade para maximizar o estado da bateria. Durante as horas de atividade, é utilizado o carregamento rápido. Este carregamento rápido permite carregar a bateria mais rapidamente e, consequentemente, esta fica totalmente carregada mais cedo. Em cada dia, o horário durante o qual o sistema é utilizado mais intensamente é especificado pela hora de início e pela duração.
+
+          Se esta política for definida como verdadeira e DeviceAdvancedBatteryChargeModeDayConfig estiver definido, então o modo de carregamento avançado da bateria está sempre ativado, se for suportado pelo dispositivo.
+
+          Se esta política for definida como falsa, o modo de carregamento avançado da bateria está sempre desativado.
+
+          Se definir esta política, os utilizadores não a podem alterar nem substituir.
+
+          Se esta política não for definida, o modo de carregamento avançado da bateria está desativado e não pode ser ativado pelo utilizador.</translation>
 <translation id="6972540544240464302">Selecionar configuração do programador de tarefas</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="6994082778848658360">Especifica de que forma o hardware de elemento seguro integrado pode ser utilizado para fornecer uma autenticação de fator duplo, se for compatível com esta funcionalidade. O botão ligar/desligar do computador é utilizado para detetar a presença física do utilizador.
@@ -3067,6 +3205,17 @@
       Quer ative ou desative esta definição, os utilizadores não a podem alterar ou substituir.
 
       Se a política não for definida, o utilizador pode decidir se pretende ou não que lhe seja solicitada a introdução de uma palavra-passe para desbloquear o dispositivo.</translation>
+<translation id="7107148737865880402">Ative a política de gestão de energia de partilha de energia através de USB.
+
+          Determinados dispositivos têm uma porta USB específica assinalada com um ícone de um raio ou de bateria que pode ser utilizada para carregar dispositivos, como um telemóvel, através da bateria do sistema. Esta política afeta o comportamento de carregamento desta porta enquanto o sistema se encontra nos modos de suspensão ou de encerramento. Esta política não afeta as outras portas USB nem o comportamento de carregamento enquanto o sistema está ativo.
+
+          Quando o sistema está ativo, a porta USB fornece sempre energia.
+
+          Quando o sistema está suspenso, se esta política estiver definida como verdadeira, então é fornecida energia à porta USB quando o dispositivo estiver ligado à tomada ou se o nível de bateria for &gt; 50%. De outro modo, não é fornecida energia.
+
+          Quando o sistema está desligado, se esta política estiver definida como verdadeira, então é fornecida energia à porta USB quando o dispositivo estiver ligado à tomada. De outro modo, não é fornecida energia.
+
+          Se esta política não for definida, então está ativa e não pode ser definida pelo utilizador.</translation>
 <translation id="7115494316187648452">Determina se um processo do <ph name="PRODUCT_NAME" /> é iniciado ao iniciar sessão no SO e continua a ser executado quando a última janela do navegador é fechada, permitindo que as aplicações em segundo plano e a sessão de navegação atual permaneçam ativas, incluindo todos os cookies de sessão. O processo em segundo plano apresenta um ícone no tabuleiro do sistema e pode sempre ser fechado a partir daí.
 
       Se esta política estiver definida como verdadeira, o modo de segundo plano é ativado e não pode ser controlado pelo utilizador nas definições do navegador.
@@ -3113,6 +3262,7 @@
           Se esta política estiver definida como verdadeira ou não estiver definida, os wake locks do ecrã serão cumpridos no que se refere à gestão da alimentação, exceto se AllowWakeLocks estiver definido como falso.
 
           Se esta política estiver definida como falsa, os pedidos de wake lock do ecrã serão ignorados.</translation>
+<translation id="7177857088692019405">Desbloqueio rápido</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Tipos de ligação permitidos para atualizações</translation>
 <translation id="7194407337890404814">Nome do fornecedor de pesquisas predefinido</translation>
@@ -3177,6 +3327,7 @@
 <translation id="7273823081800296768">Se esta definição estiver ativada ou não estiver configurada, os utilizadores podem optar por sincronizar clientes e anfitriões no momento da ligação, eliminando a necessidade permanente de introduzir um PIN.
 
           Se esta definição estiver desativada, esta funcionalidade não estará disponível.</translation>
+<translation id="7274077256421167535">Ative a partilha de energia através de USB</translation>
 <translation id="7275334191706090484">Marcadores Geridos</translation>
 <translation id="7291084543582732020">Se ativar esta definição, os utilizadores têm autorização para utilizar o Smart Lock se os requisitos para a funcionalidade forem respeitados.
 
@@ -3190,6 +3341,7 @@
 
           Esta política só é respeitada se a política "DefaultSearchProviderEnabled" estiver ativada.</translation>
 <translation id="7302043767260300182">Atraso do bloqueio do ecrã quando o dispositivo está ligado à eletricidade</translation>
+<translation id="7305262223970835999">Ativa uma página de alteração da palavra-passe na sessão iniciada para os utilizadores SAML.</translation>
 <translation id="7311458740754205918">Se esta política for definida para verdadeira ou não for definida, a página Novo separador pode mostrar sugestões de conteúdo com base no histórico de navegação, nos interesses ou na localização do utilizador.
 
       Se for definida para falsa, as sugestões de conteúdo geradas automaticamente não são mostradas na página Novo separador.</translation>
@@ -3312,6 +3464,15 @@
       Se o valor desta política for igual a 0, será utilizado o tamanho da cache predefinido, mas o utilizador não poderá alterá-lo.
 
       Se esta política não for definida, será utilizado o tamanho predefinido e o utilizador poderá substituí-lo com a sinalização "--disk-cache-size".</translation>
+<translation id="759389052790680884">Defina a interrupção de carregamento de bateria personalizada em percentagem.
+
+          A bateria deixa de carregar quando atinge o valor de interrupção de carregamento personalizado.
+
+          O valor DeviceBatteryChargeCustomStartCharging tem de ser inferior ao valor DeviceBatteryChargeCustomStopCharging.
+
+          Esta política só é utilizada se DeviceBatteryChargeMode estiver definida como personalizada.
+
+          Se esta política não for configurada ou não for definida, é aplicado o modo de carregamento da bateria padrão.</translation>
 <translation id="759957074386651883">Definições da Navegação segura</translation>
 <translation id="7604169113182304895">As aplicações para Android podem escolher voluntariamente aceitar esta lista. Não as pode forçar a aceitá-la.</translation>
 <translation id="7612157962821894603">Sinalizadores ao nível do sistema a aplicar ao arranque do <ph name="PRODUCT_NAME" /></translation>
@@ -3385,6 +3546,15 @@
 <translation id="7712109699186360774">Perguntar sempre que um site pretender aceder à câmara e/ou microfone</translation>
 <translation id="7713608076604149344">Restrições de transferências</translation>
 <translation id="7715711044277116530">Percentagem que determina a escala do atraso de esbatimento do ecrã no modo de apresentação</translation>
+<translation id="7716781462866245042">Defina o modo de carregamento da bateria avançado na configuração diária.
+
+          Esta política só é utilizada se DeviceAdvancedBatteryChargeModeEnabled estiver definida como verdadeira.
+
+          Se esta política não estiver configurada ou permanecer indefinida, o modo de carregamento avançado está sempre desativado.
+
+          Nota: o valor <ph name="CHARGE_START_TIME_FIELD_NAME" /> tem de ser inferior ao valor <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Nota: os valores permitidos para o campo <ph name="MINUTE_FIELD_NAME" /> em <ph name="CHARGE_START_TIME_FIELD_NAME" /> e <ph name="CHARGE_END_TIME_FIELD_NAME" /> são 0, 15, 30 e 45.</translation>
 <translation id="7717938661004793600">Configura as funcionalidades de acessibilidade de <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Esta política ativa o protocolo HTTP/0.9 em portas que não sejam a porta 80 para HTTP e a porta 443 para HTTPS.
 
@@ -3458,6 +3628,7 @@
       Determina a ID da extensão a utilizar como proteção de ecrã no ecrã de início de sessão. A extensão deve ser parte do AppPack que está configurado para este domínio através da política DeviceAppPack.</translation>
 <translation id="7882857838942884046">Se desativar o Google Sync, fará com que as funções de cópia de segurança e restauro do Android não funcionem corretamente.</translation>
 <translation id="7882890448959833986">Suprimir o aviso de SO não suportado</translation>
+<translation id="7895553628261067384">Acesso remoto</translation>
 <translation id="7902255855035461275">Os padrões nesta lista vão ser comparados com a origem
       de segurança do URL que faz o pedido. Caso seja encontrada uma correspondência,
       o acesso a dispositivos de captura de vídeo é concedido imediatamente.
@@ -3471,6 +3642,11 @@
 <translation id="7937491150792971922">Unir as políticas de lista de instalação de extensões a partir de várias origens</translation>
 <translation id="7937766917976512374">Permitir ou impedir a captura de vídeo</translation>
 <translation id="7941975817681987555">Não prever ações de rede em nenhuma ligação de rede</translation>
+<translation id="7952007677054834789">Configura as páginas a carregar no arranque, a Página inicial predefinida e a página Novo separador predefinida no <ph name="PRODUCT_NAME" /> e impede que os utilizadores as alterem.
+
+      As definições da Página inicial do utilizador só são totalmente bloqueadas se definir que a Página inicial é a página Novo separador ou se a definir para ser um URL e especificar um URL para a página inicial. Se não especificar o URL da Página inicial, então o utilizador continua a poder definir a página inicial como a página Novo separador se especificar "chrome://newtab".
+
+      A política "URLs a abrir no arranque" é ignorada, a não ser que selecione "Abrir uma lista de URLs" em "Ação no arranque".</translation>
 <translation id="7952958573604504839">Esta política foi descontinuada no M48 e substituída pela política <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />, e removida no M54.
 
       Ativa a previsão da rede no <ph name="PRODUCT_NAME" /> e impede que os utilizadores alterem esta definição.
@@ -3609,6 +3785,7 @@
 <translation id="8176035528522326671">Permitir que o utilizador empresarial seja apenas um utilizador principal de vários perfis (comportamento predefinido para utilizadores geridos por empresas)</translation>
 <translation id="8214600119442850823">Configura o gestor de palavras-passe.</translation>
 <translation id="8217516105848565518">Esta política foi descontinuada. Em alternativa, utilize a política RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">Ative os conjuntos de cifras RC4 no TLS</translation>
 <translation id="8244525275280476362">Atraso máximo na obtenção após a invalidação de uma política</translation>
 <translation id="8256688113167012935">Controla o nome da conta mostrado pelo <ph name="PRODUCT_OS_NAME" /> no ecrã de início de sessão para a conta local do dispositivo correspondente.
 
@@ -3648,6 +3825,7 @@
 <translation id="8306117673860983372">Definições de início de sessão</translation>
 <translation id="8312129124898414409">Permite definir se os Sites estão autorizados a utilizar a geração de chaves. É possível permitir a geração de chaves para todos os Sites ou negá-la para todos os Sites.
           Se esta política não for definida, é utilizada a opção "BlockKeygen" e o utilizador pode alterá-la.</translation>
+<translation id="8320149248919453401">Modo de carregamento da bateria</translation>
 <translation id="8329984337216493753">Esta política está ativa apenas no modo de retalho.
 
       Quando a política DeviceIdleLogoutTimeout é especificada, define a duração da caixa de aviso com uma contagem decrescente que é mostrada ao utilizador antes do encerramento da sessão.
@@ -3813,6 +3991,7 @@
       Se não for definida, é utilizado o período predefinido de 345600000 milissegundos (quatro dias) para os dispositivos <ph name="PRODUCT_OS_NAME" /> e de 604800000 milissegundos (uma semana) para <ph name="PRODUCT_NAME" />.</translation>
 <translation id="8685024486845674965">O aviso de proteção por palavra-passe é acionado pela reutilização da palavra-passe.</translation>
 <translation id="8693243869659262736">Utilizar cliente DNS incorporado</translation>
+<translation id="8698286761337647563">O número de dias de antecedência para notificar os utilizadores SAML de que a palavra-passe está prestes a expirar.</translation>
 <translation id="8703488928438047864">Comunicar o estado da placa</translation>
 <translation id="8703872185032220081">Definir configuração do dia de desvio de picos de energia.
 
@@ -3857,6 +4036,7 @@
       Se esta definição estiver desativada ou não estiver configurada, o serviço de proteção por palavra-passe envia os utilizadores para https://myaccounts.google.com para que alterem as respetivas palavras-passe.
       Esta política está apenas disponível em instâncias do Windows associadas a um domínio do <ph name="MS_AD_NAME" /> ou em instâncias do Windows 10 Pro ou Enterprise inscritas para gestão de dispositivos.</translation>
 <translation id="8798099450830957504">Predefinição</translation>
+<translation id="8800453707696044281">Defina a interrupção de carregamento personalizada em percentagem</translation>
 <translation id="8801680448782904838">Notificar um utilizador de que é recomendado ou necessário reiniciar o navegador ou o dispositivo</translation>
 <translation id="8818173863808665831">Comunique a localização geográfica do dispositivo.
 
@@ -3988,6 +4168,11 @@
       Esta política apenas afeta os utilizadores que efetuaram a autenticação através de SAML.
 
       O valor da política deve ser especificado em segundos.</translation>
+<translation id="9018338365267278833">Esta política remove as extensões que são apresentadas na <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> ou na <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> que tiverem o modo de instalação definido como bloqueado e vai remover completamente os dados do utilizador locais através da mesma.  Consulte a política de privacidade ou a política de retenção de dados das extensões para compreender o que pode acontecer com os dados do utilizador que não estiverem armazenados localmente.
+
+      Quando a política está definida como ativada, as extensões que se enquadrarem nas listas mencionadas anteriormente (se já estiverem instaladas numa máquina) são removidas completamente dessa máquina (incluindo os dados do utilizador locais).
+
+      Quando a política está definida como desativada ou não está definida, as extensões que se enquadrarem nas listas mencionadas anteriormente (se já estiverem instaladas numa máquina e existirem na lista negra <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />) são desativadas na máquina e não são instaladas.</translation>
 <translation id="9027787254195333560">Esta política permite-lhe configurar a imagem do avatar que representa o utilizador no ecrã de início de sessão. A política é definida ao especificar o URL a partir do qual o <ph name="PRODUCT_OS_NAME" /> pode transferir a imagem do avatar e um hash criptográfico utilizado para validar a integridade da transferência. A imagem tem de estar no formato JPEG e o tamanho não pode exceder 512 kB. O URL tem de ser acessível sem qualquer autenticação.
 
       A imagem do avatar é transferida e colocada em cache. Será transferida novamente sempre que o URL ou o hash forem alterados.
diff --git a/components/policy/resources/policy_templates_ro.xtb b/components/policy/resources/policy_templates_ro.xtb
index 00303cf2..19e67088 100644
--- a/components/policy/resources/policy_templates_ro.xtb
+++ b/components/policy/resources/policy_templates_ro.xtb
@@ -52,6 +52,13 @@
 <translation id="1049138910114524876">Configurează limba care se aplică în ecranul de conectare din <ph name="PRODUCT_OS_NAME" />.
 
       Dacă această politică este configurată, ecranul de conectare va fi afișat întotdeauna în limba specificată de prima valoare a politicii (politica este definită ca o listă pentru postcompatibilitate). Dacă această politică nu este configurată sau este configurată la o listă necompletată, ecranul de conectare va fi afișat în limba ultimei sesiuni a utilizatorului. Dacă politica este configurată la o valoare care nu este o limbă validă, ecranul de conectare va fi afișat într-o limbă de rezervă (în prezent, en-US).</translation>
+<translation id="1052499923181221200">Politica nu are efect, cu excepția cazurilor în care politica SamlInSessionPasswordChangeEnabled este activată.
+      Dacă politica este activată și este setată cu valoarea 14 (de exemplu), înseamnă că utilizatorii SAML vor primi notificare cu 14 zile înainte că parola va expira la o anumită dată.
+      Apoi ei pot acționa imediat schimbând parola în timpul sesiunii și actualizând parola înainte să expire.
+      Încă aceste notificări vor fi afișate numai dacă informațiile privind expirarea parolei sunt trimise la dispozitiv de Furnizorul de identitate SAML în timpul conectării SAML.
+      Dacă politica este setată la valoarea 0, utilizatorii nu vor primi notificare în avans, ci după ce parola a expirat deja.
+
+      Dacă politica este setată, utilizatorul nu poate să o modifice sau să o anuleze.</translation>
 <translation id="1062011392452772310">Activați atestarea la distanță pentru dispozitiv</translation>
 <translation id="1062407476771304334">Înlocuiți</translation>
 <translation id="1079801999187584280">Nu permite folosirea Instrumentelor pentru dezvoltatori</translation>
@@ -200,6 +207,7 @@
       Dacă politica este activată, Asistentul Google va avea permisiunea de a accesa contextul pe ecran.
       Dacă politica este dezactivată, Asistentul Google nu va avea permisiunea de a accesa contextul pe ecran.
       Dacă nu este setată, utilizatorii pot decide dacă să permită Asistentului Google să acceseze sau nu contextul pe ecran</translation>
+<translation id="1376119291123231789">Activează modul de încărcare avansată a bateriei</translation>
 <translation id="1383493480903114193">Această politică forțează codul de rețea să ruleze în procesul browserului.
 
       Această politică este dezactivată în mod prestabilit, iar dacă este activată, utilizatorii vor fi vulnerabili în fața problemelor de securitate odată ce procesul de rețea este integrat în mediul de testare securizat.
@@ -299,6 +307,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Activează blocarea software-ului de la o terță parte</translation>
 <translation id="1504431521196476721">Atestare la distanță</translation>
+<translation id="1507382822467487898">
+          Stabilește ce adresă MAC (Media Access Control) va fi folosită când este conectat un dispozitiv de andocare.
+
+          Când un dispozitiv de andocare este conectat la unele modele ale dispozitivului, adresa MAC a dispozitivului de andocare desemnat este folosită pentru a identifica în mod prestabilit dispozitivul pe Ethernet. Politica permite administratorului să schimbe sursa adresei MAC în timpul conectării la dispozitivul de andocare.
+
+          Dacă este selectată politica „DeviceDockMacAddress” sau nu este activată, va fi folosită adresa MAC a dispozitivului de andocare desemnat.
+
+          Dacă este selectată politica „DeviceNicMacAddress”, va fi folosită adresa MAC a cardului NIC (Network Interface Controller) al dispozitivului.
+
+          Dacă este selectată politica „DockNicMacAddress”, va fi folosită adresa MAC a cardului NIC a dispozitivului de andocare.
+
+          Setarea nu poate fi modificată de utilizator.</translation>
 <translation id="1507957856411744193">Dacă această politică este activată, <ph name="PRODUCT_NAME" /> se va conecta la dispozitivele Google Cast folosind toate adresele IP, nu numai adresele private RFC1918/RFC4913.
 
           Dacă această politică este dezactivată, <ph name="PRODUCT_NAME" /> se va conecta la dispozitivele Google Cast folosind numai adresele private RFC1918/RFC4913.
@@ -729,6 +749,17 @@
 <translation id="2303795211377219696">Activează completarea automată pentru cardurile de credit</translation>
 <translation id="2309390639296060546">Setare prestabilită pentru localizarea geografică</translation>
 <translation id="2327252517317514801">Definește domeniile care au permisiunea să acceseze G Suite</translation>
+<translation id="2356878440219553005">Indică politica de gestionare a alimentării privind modul de încărcare a bateriei.
+
+          Controlează dinamic încărcarea bateriei ca să minimizezi uzarea bateriei din cauza folosirii intensive și să extinzi autonomia bateriei.
+
+          Dcă este selectat modul de încărcare personalizată a bateriei, trebuie să fie indicate politicile DeviceBatteryChargeCustomStartCharging și DeviceBatteryChargeCustomStopCharging.
+
+          Dacă politica este setată, modul de încărcare a bateriei va fi aplicat dacă este acceptat de dispozitiv.
+
+          Dacă politica nu este setată și este acceptată de dispozitiv, modul de încărcare standard a bateriei va fi aplicat și nu poate fi schimbat de utilizator.
+
+          Notă: <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> anulează această politică dacă este specificată.</translation>
 <translation id="237494535617297575">Vă permite să setați o listă de modele pentru adresele URL ce specifică site-urile care au permisiunea să afișeze notificări. Dacă această politică nu este setată, valoarea prestabilită la nivel global va fi folosită pentru toate site-urile, fie din politica „DefaultNotificationsSetting”, dacă este setată, fie din configurația personală a utilizatorului, în caz contrar.</translation>
 <translation id="2386362615870139244">Permiteți blocarea activării ecranului</translation>
 <translation id="2411817661175306360">Avertismentul privind protecția prin parolă este dezactivat</translation>
@@ -764,6 +795,7 @@
 
       Dacă această politică este dezactivată, conectarea automată fără întârziere (dacă este configurată) nu poate fi ocolită.</translation>
 <translation id="2454228136871844693">Optimizează pentru stabilitate.</translation>
+<translation id="2463034609187171371">Activează suitele de codificare DHE în TLS</translation>
 <translation id="2463365186486772703">Limba aplicației</translation>
 <translation id="2466131534462628618">Autentificarea prin portalul captiv ignoră proxy-ul</translation>
 <translation id="2482676533225429905">Mesagerie nativă</translation>
@@ -935,6 +967,7 @@
 <translation id="2769952903507981510">Configurați numele de domeniu necesar pentru gazdele de acces la distanță</translation>
 <translation id="2787173078141616821">Raportează informații despre starea Android</translation>
 <translation id="2799297758492717491">Permite redarea automată a conținutului media pentru o listă albă cu șabloane de adrese URL</translation>
+<translation id="2801155097555584385">Setează în procente valoarea personalizată la care bateria începe să se încarce</translation>
 <translation id="2801230735743888564">Permite utilizatorilor să joace jocul ascuns cu dinozaurul când dispozitivul este offline.
 
       Dacă această politică este dezactivată, utilizatorii nu vor putea să joace jocul ascuns cu dinozaurul când dispozitivul este offline. Dacă această politică este activată, utilizatorii pot să joace jocul cu dinozaurul. Dacă această politică nu este configurată, utilizatorii nu pot să joace jocul ascuns cu dinozaurul pe un dispozitiv înregistrat, cu sistem de operare Chrome, însă pot să îl joace în alte circumstanțe.</translation>
@@ -1008,6 +1041,7 @@
       Dacă dezactivezi această setare sau nu setezi o valoare, funcția Previzualizare înainte de printare va utiliza imprimanta folosită cel mai recent ca opțiune de destinație prestabilită.
 
       Dacă activezi această setare, funcția Previzualizare înainte de printare va folosi imprimanta prestabilită pentru sistemul de operare ca opțiune de destinație prestabilită.</translation>
+<translation id="285627849510728211">Setează politica de configurare a modului de încărcare avansată a bateriei zilnic</translation>
 <translation id="2856674246949497058">Revino și rămâi la versiunea țintă dacă versiunea SO este mai nouă decât ținta. Efectuează un Powerwash în timpul procesului.</translation>
 <translation id="2872961005593481000">Închide</translation>
 <translation id="2873651257716068683">Modifică dimensiunea prestabilită a paginii de printare. Dacă dimensiunea paginii nu este disponibilă, această politică este ignorată.</translation>
@@ -1140,12 +1174,26 @@
 <translation id="3072045631333522102">Screen saver setat pentru ecranul de conectare în modul Vânzare</translation>
 <translation id="3072847235228302527">Setați Termenii și condițiile pentru un cont local de pe dispozitiv</translation>
 <translation id="3077183141551274418">Activează sau dezactivează ciclurile de viață ale filelor</translation>
+<translation id="3079417254871857650">Indică acțiunea de urmat când directorul principal al utilizatorului a fost creat folosind criptarea ecryptfs.
+
+      Dacă setezi politica la „DisallowArc”, aplicațiile Android vor fi dezactivate pentru utilizator și nu va fi efectuată migrarea de la criptarea ecryptfs la ext4. Aplicațiile Android nu vor fi împiedicate să ruleze când directorul principal folosește deja criptarea ext4.
+
+      Dacă setezi politica la „Migrate”, directoarele principale care folosesc criptarea ecryptfs vor migra automat la criptarea ext4 la conectare, fără a solicita acordul utilizatorului.
+
+      Dacă setezi politica la „Wipe”, directoarele principale care folosesc criptarea ecryptfs vor fi șterse la conectare și vor fi create directoare principale noi care folosesc criptarea ext4. Atenție: se vor elimina datele locale ale utilizatorului.
+
+      Dacă setezi politica la „MinimalMigrate”, directoarele principale care folosesc criptarea ecryptfs vor fi șterse la conectare și vor fi create directoare principale noi care folosesc criptarea ext4. Cu toate acestea, se va încerca să se păstreze indicativele de conectare, astfel încât utilizatorul să nu trebuiască să se conecteze din nou. Atenție: se vor elimina datele locale ale utilizatorului.
+
+      Dacă setezi politica la o valoare care nu mai este acceptată („AskUser” sau „AskForEcryptfsArcUsers”), se va considera că ai selectat „Migrate”.
+
+      Politica nu se aplică utilizatorilor aplicației chioșc. Dacă politica nu este setată, dispozitivul se comportă ca și cum ar fi aleasă opțiunea „DisallowArc”.</translation>
 <translation id="3086995894968271156">Configurează Cast Receiver în <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Îți permite să setezi o listă de șabloane de adrese URL care specifică site-urile care au permisiunea să afișeze imagini.
 
           Dacă această politică nu este setată, valoarea prestabilită la nivel global va fi folosită pentru toate site-urile, fie din politica „DefaultImagesSetting” dacă este setată, fie din configurația personală a utilizatorului, în caz contrar.
 
           Nu uita că, anterior, această politică a fost activată greșit pe Android, dar funcționalitatea nu a fost niciodată acceptată integral pe Android.</translation>
+<translation id="3091832372132789233">Încarcă bateria pentru dispozitive care sunt conectate în principal la o sursă de alimentare externă.</translation>
 <translation id="3096595567015595053">Lista de pluginuri activate</translation>
 <translation id="3101501961102569744">Alege modul de specificare a setărilor serverului proxy</translation>
 <translation id="3101709781009526431">Data și ora</translation>
@@ -1171,6 +1219,7 @@
           Dacă această setare este dezactivată, <ph name="PRODUCT_NAME" /> va folosi numai gazdele de mesagerie nativă instalate la nivel de sistem.
 
           Dacă această setare nu este configurată, <ph name="PRODUCT_NAME" /> va permite folosirea gazdelor de mesagerie nativă la nivel de utilizator.</translation>
+<translation id="3177802893484440532">Necesită verificări OCSP/CRL online pentru ancorele de încredere locale</translation>
 <translation id="3185009703220253572">de la versiunea <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Aplicațiile Android nu pot obține accesul la certificatele companiei. Această politică nu are niciun efect asupra lor.</translation>
 <translation id="3205825995289802549">Maximizează prima fereastră din browser la prima rulare</translation>
@@ -1180,6 +1229,7 @@
 <translation id="3220624000494482595">Dacă aplicația chioșc este o aplicație Android, aceasta nu va avea control asupra versiunii <ph name="PRODUCT_OS_NAME" />, chiar dacă această politică este setată la <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Modele de adrese URL de la care se permite instalarea extensiilor, a aplicațiilor și a scripturilor de utilizator</translation>
 <translation id="3240609035816615922">Politica privind accesul la configurarea imprimantelor.</translation>
+<translation id="3240655340884151271">Adresa MAC a cardului NIC încorporat în dispozitivul de andocare</translation>
 <translation id="3243309373265599239">Indică intervalul de timp fără intervenția utilizatorului după care luminozitatea ecranului este redusă atunci când dispozitivul funcționează pe c.a.
 
           Dacă politica este setată la o valoare mai mare decât zero, specifică intervalul de timp în care utilizatorul trebuie să fie inactiv înainte ca <ph name="PRODUCT_OS_NAME" /> să reducă luminozitatea ecranului.
@@ -1201,6 +1251,12 @@
       Dacă această setare este activată sau nu este configurată, utilizatorii pot activa proxy-ul Cloud Print autentificându-se cu Contul Google.
 
       Dacă această setare este dezactivată, utilizatorii nu pot activa proxy-ul, iar computerul nu va putea să permită accesul <ph name="CLOUD_PRINT_NAME" /> la imprimantele sale.</translation>
+<translation id="3312206664202507568">Activează o pagină la chrome://password-change care permite utilizatorilor SAML să își schimbe parolele SAML în timpul sesiunii, asigurându-se, astfel, că parola SAML și parola pentru ecranul de blocare al dispozitivului sunt sincronizate în continuare.
+
+      Politica activează și notificările care anunță utilizatorii SAML că parolele SAML vor expira în curând, astfel încât să poată acționa imediat, modificând parola în timpul sesiunii.
+      Încă aceste notificări vor fi afișate numai dacă informațiile privind expirarea parolei sunt trimise la dispozitiv de Furnizorul de identitate SAML în timpul conectării SAML.
+
+      Dacă politica este setată, utilizatorul nu poate să o modifice sau să o anuleze.</translation>
 <translation id="3322771899429619102">Îți permite să setezi o listă de șabloane de adrese URL care specifică site-urile ce au permisiunea să folosească generarea cheilor. Dacă în „KeygenBlockedForUrls” este specificat un șablon de adresă URL, această politică va modifica aceste excepții.
 
           Dacă politica nu este configurată, valoarea prestabilită la nivel global va fi folosită pentru toate site-urile, fie din politica „DefaultKeygenSetting”, în cazul în care aceasta este configurată, fie din configurația personală a utilizatorului, în caz contrar.</translation>
@@ -1286,6 +1342,7 @@
 
           Dacă politica este dezactivată sau este lăsată nesetată, întârzierile din managementul alimentării cu energie și limita de durată a sesiunii încep să ruleze imediat după începutul sesiunii.</translation>
 <translation id="3478024346823118645">Ștergeți datele utilizatorului la deconectare</translation>
+<translation id="3480961938508521469">Încarcă bateria complet cu viteza obișnuită.</translation>
 <translation id="348495353354674884">Activați tastatura virtuală</translation>
 <translation id="3487623755010328395">
         Dacă această politică este configurată, <ph name="PRODUCT_NAME" /> va încerca să se înregistreze și să aplice politica privind serviciile cloud asociată pentru toate profilurile.
@@ -1332,6 +1389,8 @@
 <translation id="3547954654003013442">Setări proxy</translation>
 <translation id="355118380775352753">Site-uri care vor fi deschise în browserul secundar</translation>
 <translation id="3554984410014457319">Permite Asistentului Google să asculte expresia de activare vocală</translation>
+<translation id="356579196325389849">Utilizatorii pot configura canalul de lansare Chrome OS</translation>
+<translation id="3575011234198230041">Autentificare HTTP</translation>
 <translation id="3577251398714997599">Setare pentru anunțurile de pe site-urile cu anunțuri deranjante</translation>
 <translation id="357917253161699596">Permite utilizatorilor să gestioneze certificatele de utilizator</translation>
 <translation id="3583230441447348508">Specifică o listă de dispozitive de stocare în rețea preconfigurate.
@@ -1365,6 +1424,7 @@
 
         Această politică este folosită de înregistrarea în politica de cloud a domeniului dispozitivului pe desktop și poate fi setată de fișierul de politică Registry sau GPO în Windows, plist în Mac și JSON în Linux.</translation>
 <translation id="3660562134618097814">Transferă cookie-urile unui furnizor de identitate SAML în timpul conectării</translation>
+<translation id="3668151900457104753">Dezinstalează extensiile din lista neagră</translation>
 <translation id="3701121231485832347">Controlează setările specifice dispozitivelor <ph name="PRODUCT_OS_NAME" /> gestionate de <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Câmpul cu un singur rând este învechit și va fi eliminat în viitor. Începe să folosești caseta text cu mai multe rânduri de mai jos.)</translation>
 <translation id="3709266154059827597">Configurează lista neagră pentru instalarea extensiilor</translation>
@@ -1446,6 +1506,16 @@
           Dacă politica nu este configurată, tastatura pe ecran este dezactivată inițial, dar poate fi activată oricând de utilizator.</translation>
 <translation id="382476126209906314">Configurarea prefixului TalkGadget pentru gazdele de acces la distanță</translation>
 <translation id="3824972131618513497">Controlează setările pentru gestionarea consumului de energie și repornire.</translation>
+<translation id="3826475866868158882">Serviciile de localizare Google sunt activate</translation>
+<translation id="3831054243924627613">Politica stabilește starea inițială a serviciului Backup și restabilire din Android.
+
+      Când politica nu este configurată sau este setată și are valoarea <ph name="BR_DISABLED" />, serviciul Backup și restabilire din Android este dezactivat inițial.
+
+      Când politica este setată și are valoarea <ph name="BR_ENABLED" />, serviciul Backup și restabilire din Android este activat inițial.
+
+      Când politica este setată și are valoarea <ph name="BR_UNDER_USER_CONTROL" />, utilizatorului i se solicită să aleagă dacă dorește să folosească sau nu serviciul Backup și restabilire din Android. Dacă utilizatorul activează serviciul Backup și restabilire, datele din aplicațiile Android sunt încărcate pe serverele de backup Android și restabilite de acolo la reinstalarea aplicațiilor compatibile.
+
+      Reține că această politică stabilește starea serviciului Backup și restabilire din Android numai în timpul configurării inițiale. Utilizatorul poate să deschidă setările Android și să activeze sau să dezactiveze serviciul Backup și restabilire din Android.</translation>
 <translation id="3831376478177535007">Când această setare este activată, <ph name="PRODUCT_NAME" /> permite acordarea de încredere certificatelor emise prin operațiuni PKI vechi ale Symantec Corporation, cu condiția ca acestea să valideze și să se asocieze unui certificat CA recunoscut.
 
       Reține că această politică depinde de recunoașterea certificatelor din infrastructura veche Symantec de către sistemul de operare. Dacă o actualizare a sistemului de operare modifică modul în care sistemul de operare gestionează aceste certificate, această politică nu se mai aplică. Mai mult, această politică are rolul de soluție temporară, pentru a le oferi companiilor mai mult timp să renunțe la certificatele Symantec vechi. Această politică va fi eliminată în data de 1 ianuarie 2019 sau în jurul acestei date.
@@ -1527,6 +1597,15 @@
 
           Dacă nu este configurată sau este dezactivată, utilizatorii vor putea să transfere fișiere pe Google Drive.</translation>
 <translation id="3915395663995367577">Adresa URL a unui fișier .pac pentru proxy</translation>
+<translation id="3920892052017026701">Setează în procente valoarea personalizată la care bateria începe să se încarce.
+
+          Bateria începe să se încarce când valoarea pentru începerea personalizată a încărcării bateriei se epuizează.
+
+          Valoarea DeviceBatteryChargeCustomStartCharging trebuie să fie mai mică decât valoarea DeviceBatteryChargeCustomStopCharging.
+
+          Politica este folosită numai dacă valoarea DeviceBatteryChargeMode este personalizată.
+
+          Dacă această politică nu este configurată sau este activată, se va aplica modul standard de încărcare a bateriei.</translation>
 <translation id="3925377537407648234">Setează rezoluția ecranului și factorul de scalare</translation>
 <translation id="3939893074578116847">Trimite pachete din rețea serverului de gestionare, pentru a monitoriza starea
        online, permițând astfel serverului să detecteze dacă dispozitivul este offline.
@@ -1655,6 +1734,7 @@
 <translation id="4150201353443180367">Ecran</translation>
 <translation id="4157003184375321727">Raportați versiunea sistemului de operare și versiunea firmware</translation>
 <translation id="4157594634940419685">Permite accesul la imprimantele CUPS native</translation>
+<translation id="4160962198980004898">Sursa adresei MAC a dispozitivului când este andocat</translation>
 <translation id="4163705126749612234">Configurează numele de domenii client care vor fi impuse clienților de acces la distanță și nu le permite utilizatorilor să le modifice.
 
           Dacă setarea este activată, numai clienții dintr-unul dintre domeniile specificate se pot conecta la gazdă.
@@ -1732,6 +1812,7 @@
       Reține că dacă politica conține un ID de aplicație nu înseamnă neapărat că utilizatorul va putea activa aplicația ca aplicație pentru creat note pe ecranul de blocare. De exemplu, în Chrome 61, setul de aplicații disponibile este restricționat suplimentar de platformă.
 
       Dacă politica nu este configurată, nu vor exista restricții impuse de politică privind setul de aplicații pe care utilizatorul le poate activa pe ecranul de blocare.</translation>
+<translation id="4313767483634435271">Adresa MAC a dispozitivului de andocare desemnat</translation>
 <translation id="4322842393287974810">Permite aplicației chioșc lansate automat fără nicio întârziere să controleze versiunea <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="4325690621216251241">Adăugați un buton de deconectare în bara de sistem</translation>
 <translation id="4332177773549877617">Înregistrează evenimente pentru instalările aplicației pentru Android</translation>
@@ -1763,6 +1844,7 @@
 <translation id="4360826270668210664">Dacă această politică este setată, gazda de acces de la distanță va solicita clienților care se autentifică să obțină un indicativ de autentificare de la această adresă URL, pentru a se conecta. Trebuie să fie folosită împreună cu RemoteAccessHostTokenValidationUrl.
 
           Momentan, această funcție este dezactivată pe partea de server.</translation>
+<translation id="4363057787588706121">Permite îmbinarea politicilor din listă din surse diferite</translation>
 <translation id="436581050240847513">Raportează interfețele de rețea pentru dispozitiv</translation>
 <translation id="4372704773119750918">Nu permite ca utilizatorul întreprindere să facă parte din profilul multiplu (principal sau secundar)</translation>
 <translation id="4377599627073874279">Permite tuturor site-urilor să afișeze toate imaginile</translation>
@@ -1928,6 +2010,7 @@
 <translation id="4826326557828204741">Acțiunea de urmat după trecerea intervalului de inactivitate dacă se utilizează energia bateriei</translation>
 <translation id="4832852360828533362">Raportare utilizator și dispozitiv</translation>
 <translation id="4834526953114077364">Utilizatorii care nu s-au conectat în ultimele 3 luni sunt eliminați până când există suficient spațiu liber</translation>
+<translation id="4835622243021053389">Activează autentificarea NTLMv2.</translation>
 <translation id="4858735034935305895">Activează modul ecran complet</translation>
 <translation id="4861767323695239729">Configurează metodele de introducere a textului permise într-o sesiune a utilizatorului</translation>
 <translation id="487460824085252184">Migrează automat, nu cere consimțământul utilizatorului.</translation>
@@ -2046,6 +2129,11 @@
 
       Spre deosebire de politica <ph name="URL_LIST_POLICY_NAME" />, regulile se aplică în ambele direcții: când suplimentul Internet Explorer este prezent și este activat, stabilește și dacă <ph name="IE_PRODUCT_NAME" /> trebuie să deschidă aceste adrese URL în <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Activează pornirea pe c.a. (curent alternativ)</translation>
+<translation id="5131211790949066746">Activează îmbinarea politicilor privind lista extensiilor instalate: <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> și <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" />.
+
+      Dacă activezi această setare, valorile pentru politica platformei, politica în cloud a dispozitivului și politica platformei utilizatorului sunt îmbinate într-o listă unică și folosite ca întreg, fără a mai folosi numai valorile dintr-o singură sursă cu cea mai mare prioritate.
+
+      Dacă dezactivezi această setare sau nu o configurezi, sunt luate numai intrările în listă din sursa cu cea mai mare prioritate, iar toate celelalte surse sunt afișate drept conflicte, dar sunt ignorate.</translation>
 <translation id="5141670636904227950">Setați tipul prestabilit al lupei pentru ecran activate pe ecranul de conectare</translation>
 <translation id="5142301680741828703">Redă întotdeauna următoarele șabloane de adrese URL în <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Vă permite să specificați parametri suplimentari, care vor fi utilizați atunci când <ph name="PRODUCT_FRAME_NAME" /> lansează <ph name="PRODUCT_NAME" />.
@@ -2159,6 +2247,7 @@
 
       Dacă politica nu este configurată sau dacă este setată la un șir gol ori la un interval de porturi nevalid, WebRTC poate să folosească orice port UDP local disponibil.</translation>
 <translation id="5290940294294002042">Specifică o listă de pluginuri pe care utilizatorul le poate activa sau dezactiva</translation>
+<translation id="5306186200045823863">Acordă încrederea infrastructurii PKI vechi de la Symantec Corporation</translation>
 <translation id="5307432759655324440">Disponibilitatea modului incognito</translation>
 <translation id="5318185076587284965">Activați folosirea serverelor de transmisie de către gazdele de acces la distanță</translation>
 <translation id="5323128137188992869">Permite proiectarea conținutului pe dispozitiv folosind <ph name="PRODUCT_NAME" />.
@@ -2254,6 +2343,7 @@
       Dacă regulile se contrazic, <ph name="PRODUCT_NAME" /> folosește regula cea mai specifică.</translation>
 <translation id="5475361623548884387">Activează printarea</translation>
 <translation id="547601067149622666">Nu permite anunțurile pe site-urile cu anunțuri deranjante</translation>
+<translation id="5483065054530244863">Permite certificatelor semnate SHA-1 emise de ancore de încredere locale</translation>
 <translation id="5483777239978559943">Această politică este învechită. Folosește <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> ca să controlezi disponibilitatea pluginului Flash și <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> ca să controlezi dacă vizualizatorul PDF integrat trebuie folosit pentru deschiderea fișierelor PDF.
 
       Specifică o listă de pluginuri pe care utilizatorul poate să le activeze sau să le dezactiveze în <ph name="PRODUCT_NAME" />.
@@ -2370,6 +2460,17 @@
           Dacă activezi sau nu configurezi această politică, utilizatorii pot vedea parolele în text clar în managerul de parole.</translation>
 <translation id="5620392548325769024">Activează afișarea paginii de întâmpinare la prima lansare a browserului după upgrade-ul sistemului de operare</translation>
 <translation id="5630352020869108293">Restabiliți ultima sesiune</translation>
+<translation id="5643906875497889108">Stabilește ce tipuri de aplicație/extensie au permisiunea de a fi instalate și limitează accesul la execuție.
+
+          Setarea trece pe lista albă tipurile permise de extensii/aplicații care pot fi instalate în <ph name="PRODUCT_NAME" /> și cu care gazdele pot interacționa. Valoarea este o listă de șiruri și fiecare dintre acestea ar trebui să fie una dintre următoarele: „extensie”, „temă”, „user_script”, „hosted_app”, „legacy_packaged_app”, „platform_app”. Consultă documentația privind extensiile pentru <ph name="PRODUCT_NAME" /> pentru mai multe informații despre aceste tipuri.
+
+          Reține că această politică afectează și extensiile și aplicațiile care vor fi instalate forțat prin ExtensionInstallForcelist.
+
+          Dacă setarea este configurată, extensiile/aplicațiile care au un tip ce nu se află pe listă nu vor fi instalate.
+
+          Dacă setarea nu este configurată, nu este aplicată nicio restricție pentru tipurile acceptabile de extensii/aplicații.
+
+          Înaintea versiunii 75, folosirea ID-urilor de extensii multiple separate de virgule nu este acceptată și va fi omisă. Restul politicii se va aplica în continuare.</translation>
 <translation id="5645779841392247734">Permite cookie-uri de pe aceste site-uri</translation>
 <translation id="5689430183304951538">Dimensiunea prestabilită a paginii de printare</translation>
 <translation id="5693469654327063861">Permite migrarea datelor</translation>
@@ -2409,6 +2510,7 @@
 <translation id="5765780083710877561">Descriere:</translation>
 <translation id="5770738360657678870">Canalul pentru dezvoltatori (poate fi instabil)</translation>
 <translation id="5774856474228476867">Adresa URL de căutare a furnizorului prestabilit de căutare</translation>
+<translation id="5775235485119094648">Încarcă bateria cât timp se află într-o zonă fixă.</translation>
 <translation id="5776485039795852974">Notifică-mă dacă un site vrea să afișeze notificări pe desktop</translation>
 <translation id="5781412041848781654">Specifică biblioteca GSSAPI de utilizat pentru autentificarea HTTP. Poți seta fie numai un nume de bibliotecă, fie o cale completă.
 
@@ -2470,6 +2572,7 @@
 <translation id="5893553533827140852">Dacă această setare este activată, solicitările de autentificare gnubby vor fi trimise printr-un proxy folosindu-se o conexiune a gazdei la distanță.
 
           Dacă această setare este dezactivată sau nu este configurată, solicitările de autentificare gnubby nu vor fi trimise printr-un proxy.</translation>
+<translation id="5897913798715600338">Încarcă bateria folosind tehnologia de încărcare rapidă.</translation>
 <translation id="5898486742390981550">Când sunt conectați mai mulți utilizatori, numai utilizatorul principal poate folosi aplicațiile Android.</translation>
 <translation id="5900196529149231477">
       Această politică se aplică ecranului de conectare. Consultă și politica <ph name="ISOLATE_ORIGINS_POLICY_NAME" />, care se aplică pentru sesiunea utilizatorului. Se recomandă setarea ambelor politici la aceeași valoare. Dacă valorile nu corespund, poate apărea o întârziere la intrarea în sesiunea utilizatorului până ce se aplică valoarea specificată în politica privind utilizatorii.
@@ -2478,12 +2581,14 @@
       Dacă politica nu este configurată, pentru ecranul de conectare vor fi folosite setările de izolare a site-ului prestabilite pentru platforma respectivă.
       </translation>
 <translation id="5901427587865226597">Numai printare duplex</translation>
+<translation id="5905473632148429217">Activează verificările OCSP/CRL online</translation>
 <translation id="5906199912611534122">Permite activarea sau dezactivarea limitării rețelei.
       Se aplică tuturor utilizatorilor și tuturor interfețelor de pe acest dispozitiv. După ce este configurată,
       limitarea se aplică până când politica este modificată pentru a o dezactiva.
 
       Dacă este dezactivată, nu există limitare.
       Dacă este activată, sistemul este limitat la cotele de încărcare și de descărcare specificate (în kilobiți/s).</translation>
+<translation id="591088232153082363">Baterie cu încărcare adaptivă pe baza modelului de utilizare a bateriei.</translation>
 <translation id="5921713479449475707">Permite descărcarea actualizărilor automate prin HTTP</translation>
 <translation id="5921888683953999946">Setați funcția de accesibilitate pentru cursorul mare ca stare prestabilită pe ecranul de conectare.
 
@@ -2505,6 +2610,7 @@
 <translation id="5950205771952201658">Deoarece verificările de revocare online care tolerează erorile temporare nu oferă avantaje de securitate clare, acestea sunt dezactivate în mod prestabilit în <ph name="PRODUCT_NAME" /> versiunea 19 și în versiunile ulterioare. Prin activarea acestei politici, comportamentul anterior este restabilit și sunt efectuate verificări OCSP/CRL online.
 
       Dacă politica nu este configurată sau este dezactivată, <ph name="PRODUCT_NAME" /> nu va efectua verificări de revocare online în <ph name="PRODUCT_NAME" /> versiunea 19 și în versiunile ulterioare.</translation>
+<translation id="5961137303188584693">Adresa MAC a cardului NIC încorporat al dispozitivului</translation>
 <translation id="5966615072639944554">Extensii cărora li se permite să utilizeze API-ul de atestare la distanță</translation>
 <translation id="5983708779415553259">Comportamentul prestabilit pentru site-urile care nu sunt incluse în niciun pachet de conținut</translation>
 <translation id="5997543603646547632">Utilizați în mod prestabilit formatul de 24 de ore</translation>
@@ -2595,6 +2701,17 @@
 <translation id="6111936128861357925">Permite jocul ascuns cu dinozaurul</translation>
 <translation id="6114416803310251055">învechit</translation>
 <translation id="6133088669883929098">Permite tuturor site-urilor să folosească generarea cheilor</translation>
+<translation id="6136537398661737682">Această politică stabilește starea inițială a Serviciilor de localizare Google.
+
+      Când politica nu este configurată sau este setată și are valoarea <ph name="GLS_DISABLED" />, Serviciile de localizare Google sunt dezactivate inițial.
+
+      Când politica este setată și are valoarea <ph name="GLS_ENABLED" />, Serviciile de localizare Google sunt activate inițial.
+
+      Când politica este setată și are valoarea <ph name="GLS_UNDER_USER_CONTROL" />, utilizatorului i se solicită să aleagă dacă folosește sau nu Serviciile de localizare Google. Astfel, aplicațiile Android vor putea folosi serviciile pentru a interoga locația dispozitivului și vor activa trimiterea datelor anonime privind locația la Google.
+
+      Reține că această politică stabilește starea Serviciilor de localizare Google doar în timpul configurării inițiale. Utilizatorul poate să deschidă setările Android și să activeze sau să dezactiveze Serviciile de localizare Google.
+
+      Reține că această politică este ignorată și că Serviciile de localizare Google sunt întotdeauna dezactivate când politica <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> este setată și are valoarea <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">Folosește întotdeauna detectarea aproximativă a fusului orar.</translation>
 <translation id="6145799962557135888">Vă permite să setați o listă de modele pentru adresele URL ce specifică site-urile care au permisiunea de a rula JavaScript. Dacă această politică este lăsată nesetată, va fi utilizată valoarea prestabilită la nivel global pentru toate site-urile, fie din politica „DefaultJavaScriptSetting”, dacă aceasta este setată, fie din configurația personală a utilizatorului, în caz contrar.</translation>
 <translation id="614662973812186053">Această politică controlează și culegerea datelor Android privind utilizarea și diagnosticarea.</translation>
@@ -2668,9 +2785,17 @@
       Dacă este dezactivată, datele salvate pentru completarea automată a formularelor nu sunt importate.
 
       Dacă nu este configurată, utilizatorul poate fi întrebat dacă importă datele sau este posibil ca acestea să fie importate automat.</translation>
+<translation id="6221175752766085998">Permite certificatele emise de ancorele de încredere locale fără extensia subjectAlternativeName</translation>
 <translation id="6224304369267200483">Adresele URL/domeniile pentru care se permite automat atestarea directă a Cheilor de securitate</translation>
 <translation id="6233173491898450179">Setează directorul de descărcare</translation>
 <translation id="6244210204546589761">Adrese URL care se deschid la pornire</translation>
+<translation id="6255387031094435995">Permite politicilor selectate să fie îmbinate când provin din surse diferite, cu aceleași domenii și niveluri.
+
+        Dacă o politică se află în listă, în cazul în care există un conflict între cele două surse, dat fiind că au aceleași domenii și niveluri, valorile vor fi îmbinate într-o listă nouă de politici.
+
+        Dacă o politică se află în listă, în cazul în care există un conflict între cele două surse, dar și între domenii și/sau niveluri diferite, se va aplica politica cu prioritatea cea mai mare.
+
+        Dacă o politică nu se află în listă, în cazul în care există un conflict între surse, domenii și/sau nivel, se va aplica politica cu prioritatea cea mai mare.</translation>
 <translation id="6258193603492867656">Specifică dacă în protocolul Kerberos numele SPN generate ar trebui să includă un port non-standard. Dacă activați această setare și este introdus un port non-standard (de exemplu, un alt port decât 80 sau 443), acesta va fi inclus în numele SPN generate în protocolul Kerberos. Dacă dezactivați această setare sau o lăsați nesetată, codurile SPN generate în Kerberos nu vor include un port.</translation>
 <translation id="6261643884958898336">Raportează informațiile de identificare a dispozitivului</translation>
 <translation id="6281043242780654992">Configurează politicile pentru Mesageria nativă. Gazdele de mesagerie nativă trecute în lista neagră vor fi permise doar dacă sunt trecute în lista albă.</translation>
@@ -2868,6 +2993,7 @@
 <translation id="6757438632136860443">Îți permite să setezi o listă de șabloane de adrese URL care specifică site-urile care au permisiunea să ruleze pluginul <ph name="FLASH_PLUGIN_NAME" />.
 
           Dacă această politică nu este configurată, va fi folosită valoarea prestabilită la nivel global pentru toate site-urile, fie din politica „DefaultCookiesSetting”, în cazul în care aceasta este configurată, fie din configurația personală a utilizatorului, în caz contrar.</translation>
+<translation id="6757613329154374267">Serviciul Backup și restabilire a fost activat</translation>
 <translation id="6762235610019366960">Îți permite să gestionezi afișarea conținutului promoțional și/sau educațional în toată fila în <ph name="PRODUCT_NAME" />.
 
       Dacă această politică nu este configurată sau activată (setată la True), <ph name="PRODUCT_NAME" /> poate afișa utilizatorilor conținut în toată fila pentru a oferi informații despre produs.
@@ -2890,6 +3016,7 @@
       Șirul poate să conțină variabilele ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME} care vor fi înlocuite cu valori pe dispozitiv, înainte ca acesta să fie folosit ca nume de gazdă. Înlocuirea rezultată trebuie să fie un nume de gazdă valid (conform RFC 1035, secțiunea 3.1).
 
       Dacă această politică nu este setată sau dacă valoarea după înlocuire nu este un nume de gazdă valid, nu va fi setat niciun nume de gazdă în solicitarea DHCP. </translation>
+<translation id="6833988859168635883">Pornire, Pagina principală și pagina Filă nouă</translation>
 <translation id="6835883744948188639">Afișează utilizatorului o solicitare recurentă prin care se indică faptul că relansarea este recomandată</translation>
 <translation id="6837480141980366278">Stabilește dacă clientul DNS integrat este folosit în <ph name="PRODUCT_NAME" />.
 
@@ -3001,6 +3128,17 @@
 
 Atunci când ecranul este pe cale să se întunece, modelul inteligent de reducere a luminozității evaluează dacă reducerea luminozității trebuie amânată. Dacă modelul inteligent de reducere a luminozității amână acest eveniment, el extinde practic timpul până când ecranul se întunecă. În acest caz, duratele până la închiderea ecranului, blocarea acestuia și dezactivare se ajustează pentru a păstra același distanțe față de configurația inițială de întunecare a ecranului.
 Dacă politica este setată la True sau nu este setată, modelul inteligent de reducere a luminozității va fi activat și va putea extinde timpul până la întunecarea ecranului. Dacă politica este setată la False, modelul inteligent de reducere a luminozității nu va influența întunecarea ecranului.</translation>
+<translation id="6967394885063085697">Activează politica de gestionare a alimentării privind modul de încărcare avansată a bateriei.
+
+          Folosind modul de încărcare avansată a bateriei, utilizatorul poate să maximizeze durata de viață a bateriei. În modul de încărcare avansată a bateriei, sistemul va folosi algoritmul de încărcare standard și alte tehnici în timpul orelor nelucrătoare pentru a maximiza durata de viață a bateriei. În timpul orelor de lucru se folosește încărcarea expres. Cu încărcarea expres, bateria poate fi încărcată mai rapid și, astfel, bateria este încărcată complet mai repede. Pentru fiecare zi, orele la care sistemul va fi folosit cel mai intens sunt indicate de ora de începere și de durată.
+
+          Dacă politica este activată și DeviceAdvancedBatteryChargeModeDayConfig este setată, modul de încărcare avansată a bateriei va fi activat întotdeauna dacă este acceptat de dispozitiv.
+
+          Dacă politica este dezactivată, modul de încărcare avansată a bateriei va fi dezactivat întotdeauna.
+
+          Dacă setezi această politică, utilizatorii nu pot să o modifice sau să o anuleze.
+
+          Dacă politica nu este setată, modul de încărcare avansată a bateriei este dezactivat și nu poate fi activat de utilizator.</translation>
 <translation id="6972540544240464302">Selectează configurația planificatorului de activități</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="6994082778848658360">Specifică modul în care poate fi folosit hardware-ul elementului de securitate încorporat pentru a oferi o autentificare cu doi factori, dacă se acceptă de această funcție. Butonul de pornire al dispozitivului este folosit ca să detecteze prezența fizică a utilizatorului.
@@ -3065,6 +3203,17 @@
       Dacă activezi sau dezactivezi această setare, utilizatorii nu o pot modifica sau ignora.
 
       Dacă politica nu este configurată, utilizatorul poate alege dacă vrea să i se solicite parola pentru a debloca dispozitivul.</translation>
+<translation id="7107148737865880402">Activați politica de gestionare a alimentării privind distribuirea alimentării prin USB.
+
+          Anumite dispozitive au un port USB special, marcat cu un fulger sau cu o pictogramă baterie, care poate fi folosit pentru încărcarea dispozitivelor precum telefoanele mobile folosind bateria sistemului. Politica afectează comportamentul de încărcare al acestui port în timp ce sistemul se află în modul inactiv sau este oprit. Politica nu afectează celelalte porturi USB și comportamentul de încărcare cât timp sistemul este activ.
+
+          Când este activ, portul USB va alimenta întotdeauna.
+
+          Când este inactiv, dacă politica este activată, se va alimenta portul USB când dispozitivul este conectat la încărcătorul de perete sau dacă nivelul bateriei este mai mare de 50%. În caz contrar, nu se va alimenta.
+
+          Când este oprit, dacă politica este activată, se va alimenta portul USB când dispozitivul este conectat la încărcătorul de perete. În caz contrar, nu se va alimenta.
+
+          Dacă nu este setată, politica este activată și nu poate fi dezactivată de utilizator.</translation>
 <translation id="7115494316187648452">Stabilește dacă un proces <ph name="PRODUCT_NAME" /> este pornit la conectarea la sistemul de operare și continuă să funcționeze și după ce ultima fereastră a browserului este închisă, permițând aplicațiilor din fundal și sesiunii actuale de navigare să rămână active, inclusiv cookie-urile de sesiune. Procesul din fundal afișează o pictogramă în bara de sistem și poate fi întotdeauna închis de acolo.
 
       Dacă această politică este activată, modul fundal este activat și nu poate fi stabilit de utilizator din setările browserului.
@@ -3116,6 +3265,7 @@
           Dacă această politică este activată sau nu este setată, se vor permite stările de activare a ecranului pentru gestionarea consumului de energie, cu excepția cazului în care politica AllowWakeLocks este dezactivată.
 
           Dacă această politică este dezactivată, solicitările de stări de activare a ecranului vor fi retrogradate la solicitări de stări de activare ale sistemului.</translation>
+<translation id="7177857088692019405">Deblocare rapidă</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Tipuri de conexiune permise pentru actualizări</translation>
 <translation id="7194407337890404814">Numele furnizorului de căutare prestabilit</translation>
@@ -3180,6 +3330,7 @@
 <translation id="7273823081800296768">Dacă această setare este activată sau nu este configurată, utilizatorii pot alege să împerecheze clienții și gazdele în momentul conectării, eliminând necesitatea de a introduce un PIN de fiecare dată.
 
           Dacă setarea este dezactivată, această funcție nu va fi disponibilă.</translation>
+<translation id="7274077256421167535">Activează distribuirea alimentării prin USB</translation>
 <translation id="7275334191706090484">Marcaje gestionate</translation>
 <translation id="7291084543582732020">Dacă activezi această setare, utilizatorii vor avea permisiunea să folosească Smart Lock, atunci când sunt îndeplinite cerințele pentru această funcție.
 
@@ -3193,6 +3344,7 @@
 
           Această politică este respectată numai dacă este activată politica „DefaultSearchProviderEnabled”.</translation>
 <translation id="7302043767260300182">Interval până la blocarea ecranului la funcționarea pe c.a.</translation>
+<translation id="7305262223970835999">Permite modificarea parolei în timpul sesiunii pentru utilizatorii SAML.</translation>
 <translation id="7311458740754205918">Dacă politica este activată sau nu este configurată, este posibil ca pagina Filă nouă să afișeze sugestii privind conținutul pe baza istoricului de navigare, a intereselor și a locației utilizatorului.
 
       Dacă politica este dezactivată, sugestiile generate automat privind conținutul nu sunt afișate pe pagina Filă nouă.</translation>
@@ -3315,6 +3467,15 @@
       Dacă valoarea pentru această politică este 0, se va utiliza dimensiunea prestabilită a memoriei cache, dar utilizatorul nu o va putea modifica.
 
       Dacă această politică nu este setată, se va utiliza dimensiunea prestabilită, iar utilizatorul o va putea modifica folosind parametrul --disk-cache-size.</translation>
+<translation id="759389052790680884">Setează în procente valoarea personalizată la care bateria se oprește din încărcare.
+
+          Bateria se oprește din încărcare când ajunge la valoarea personalizată stabilită.
+
+          Valoarea DeviceBatteryChargeCustomStartCharging trebuie să fie mai mică decât valoarea DeviceBatteryChargeCustomStopCharging.
+
+          Politica este folosită numai dacă valoarea DeviceBatteryChargeMode este personalizată.
+
+          Dacă această politică nu este configurată sau este activată, se va aplica modul standard de încărcare a bateriei.</translation>
 <translation id="759957074386651883">Setări de Navigare sigură</translation>
 <translation id="7604169113182304895">Aplicațiile Android pot alege în mod voluntar să respecte această listă. Nu le poți forța să o respecte.</translation>
 <translation id="7612157962821894603">Marcaje la nivel de sistem de aplicat când pornește <ph name="PRODUCT_NAME" /></translation>
@@ -3388,6 +3549,15 @@
 <translation id="7712109699186360774">Doresc să fiu întrebat(ă) de fiecare dată când un site încearcă să acceseze camera și/sau microfonul</translation>
 <translation id="7713608076604149344">Restricții privind descărcarea</translation>
 <translation id="7715711044277116530">Procentajul cu care se ajustează intervalul până la reducerea luminozității ecranului în modul de prezentare</translation>
+<translation id="7716781462866245042">Setează politica de configurare a modului de încărcare avansată a bateriei zilnic.
+
+          Această politică este folosită numai dacă politica DeviceAdvancedBatteryChargeModeEnabled este activată.
+
+          Dacă politica nu este configurată sau nu este activată, modul de încărcare avansată a bateriei va fi dezactivat întotdeauna.
+
+          Notă: <ph name="CHARGE_START_TIME_FIELD_NAME" /> trebuie să fie înainte de <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Notă: valorile permise pentru câmpul <ph name="MINUTE_FIELD_NAME" /> în <ph name="CHARGE_START_TIME_FIELD_NAME" /> și <ph name="CHARGE_END_TIME_FIELD_NAME" /> sunt: 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">Configurați funcțiile de accesibilitate pentru <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Această politică activează compatibilitatea cu HTTP/0.9 pentru HTTP pentru alte porturi decât 80 și pentru HTTPS pentru alte porturi decât 443.
 
@@ -3461,6 +3631,7 @@
       Politica stabilește codul extensiei de utilizat ca screen saver pentru ecranul de conectare. Extensia trebuie să facă parte din pachetul de aplicații care este configurat pentru acest domeniu prin intermediul politicii DeviceAppPack.</translation>
 <translation id="7882857838942884046">Dacă dezactivezi Google Sync, funcția Android „Backup și restabilire” nu va funcționa corespunzător.</translation>
 <translation id="7882890448959833986">Elimină avertismentul privind sistemul de operare neacceptat</translation>
+<translation id="7895553628261067384">Acces la distanță</translation>
 <translation id="7902255855035461275">Șabloanele din această listă vor fi comparate cu originea
       de securitate a adresei URL solicitante. Dacă este identificată o potrivire,
       accesul la dispozitivele de capturare a conținutului video va fi acordat automat.
@@ -3474,6 +3645,11 @@
 <translation id="7937491150792971922">Îmbină politicile privind lista extensiilor instalate din mai multe surse</translation>
 <translation id="7937766917976512374">Permiteți sau refuzați preluarea conținutului video</translation>
 <translation id="7941975817681987555">Nu anticipa acțiunile în rețea pentru nicio conexiune la rețea</translation>
+<translation id="7952007677054834789">Configurează paginile care se vor încărca la pornire, pagina de pornire prestabilită și pagina Filă nouă prestabilită în <ph name="PRODUCT_NAME" /> și împiedică utilizatorii să le modifice.
+
+      Dacă selectezi ca pagina de pornire să fie pagina Filă nouă sau o adresă URL (și indici o adresă URL pentru aceasta), setările pentru pagina de pornire a utilizatorului sunt în întregime blocate. Dacă nu specifici adresa URL a paginii de pornire, utilizatorul poate seta ca pagină de pornire pagina Filă nouă specificând „chrome://newtab”.
+
+      Politica „Adrese URL care se deschid la pornire” este ignorată, cu excepția cazului în care selectezi „Deschide o listă cu adrese URL” în „Acțiune la pornire”.</translation>
 <translation id="7952958573604504839">Această politică este învechită în M48 în favoarea politicii <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> și este eliminată în M54.
 
       Activează predicția rețelei în <ph name="PRODUCT_NAME" /> și împiedică modificarea acestei setări de utilizatori.
@@ -3612,6 +3788,7 @@
 <translation id="8176035528522326671">Permiteți ca utilizatorul din companie să fie doar utilizatorul principal într-o sesiune cu mai multe profiluri (comportamentul prestabilit pentru utilizatorii gestionați de companie)</translation>
 <translation id="8214600119442850823">Configurează managerul de parole.</translation>
 <translation id="8217516105848565518">Această politică este învechită. Folosește RemoteAccessHostDomainList în schimb.</translation>
+<translation id="8244171102276095471">Activează suitele de codificare RC4 în TLS</translation>
 <translation id="8244525275280476362">Întârzierea maximă la preluare după invalidarea unei politici</translation>
 <translation id="8256688113167012935">Controlează numele de cont afișat de <ph name="PRODUCT_OS_NAME" /> pe ecranul de pornire pentru contul local corespondent de pe gadget.
 
@@ -3652,6 +3829,7 @@
 <translation id="8312129124898414409">Îți permite să setezi dacă site-urile au permisiunea de a folosi generarea cheilor. Folosirea generării cheilor poate fi permisă sau refuzată în bloc pentru toate site-urile.
 
           Dacă această politică nu este configurată, va fi folosită opțiunea „BlockKeygen”, iar utilizatorul o va putea modifica.</translation>
+<translation id="8320149248919453401">Modul de încărcare a bateriei</translation>
 <translation id="8329984337216493753">Această politică este activă numai în modul Vânzare.
 
       Când politica DeviceIdleLogoutTimeout este specificată, aceasta definește durata casetei de avertizare cu un temporizator cu numărătoare inversă, care este afișat utilizatorului înainte de a se executa deconectarea.
@@ -3815,6 +3993,7 @@
       Dacă nu este configurată, se aplică o perioadă prestabilită de 345.600.000 de milisecunde (patru zile) pentru dispozitivele <ph name="PRODUCT_OS_NAME" /> și 604.800.000 de milisecunde (o săptămână) pentru <ph name="PRODUCT_NAME" />.</translation>
 <translation id="8685024486845674965">Avertismentul privind protecția prin parolă este declanșat de refolosirea parolei</translation>
 <translation id="8693243869659262736">Utilizați clientul DNS integrat</translation>
+<translation id="8698286761337647563">Cu câte zile în avans se notifică utilizatorii SAML când parola urmează să expire</translation>
 <translation id="8703488928438047864">Raportează starea plăcii</translation>
 <translation id="8703872185032220081">Setează politica de configurare a modului de alimentare Peak shift (Comutare perioadă de vârf) zilnic.
 
@@ -3859,6 +4038,7 @@
       Dacă această setare este dezactivată sau nu este configurată, serviciul de protecție a parolei va direcționa utilizatorii la https://myaccounts.google.com pentru a-și schimba parola.
       Această politică este disponibilă doar în instanțe Windows asociate unui domeniu <ph name="MS_AD_NAME" />, instanțele Windows 10 Pro sau instanțele Enterprise care au fost înscrise pentru gestionarea dispozitivului.</translation>
 <translation id="8798099450830957504">Prestabilit</translation>
+<translation id="8800453707696044281">Setează în procente valoarea personalizată la care bateria se oprește din încărcare</translation>
 <translation id="8801680448782904838">Notifică utilizatorul că relansarea browserului sau repornirea dispozitivului este recomandată sau necesară</translation>
 <translation id="8818173863808665831">Raportează locația geografică a dispozitivului.
 
@@ -3972,6 +4152,11 @@
       Politica afectează numai utilizatorii care s-au autentificat folosind SAML.
 
       Valoarea politicii trebuie specificată în milisecunde.</translation>
+<translation id="9018338365267278833">Astfel, se vor elimina extensiile care apar în <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> sau extensiile care apar în <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> care au modul de instalare setat la „blocat” și va șterge definitiv datele locale ale utilizatorului.  Consultă politica de confidențialitate privind extensiile sau politica de păstrare a datelor pentru a înțelege ce se poate întâmpla cu datele utilizatorului care nu sunt stocate local.
+
+      Când politica este activată, extensiile din listele menționate anterior (dacă sunt deja instalate pe un dispozitiv) vor fi eliminate în întregime de pe acel dispozitiv (inclusiv datele locale ale utilizatorului).
+
+      Când politica este dezactivată sau nu este configurată, extensiile din listele menționate anterior (dacă sunt instalate deja pe un dispozitiv și există în lista neagră <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />) vor fi dezactivate de pe dispozitiv și nu vor fi dezinstalate.</translation>
 <translation id="9027787254195333560">Cu această politică poți configura imaginea avatar a utilizatorului pe ecranul de conectare. Politica este setată prin specificarea adresei URL de la care <ph name="PRODUCT_OS_NAME" /> poate descărca imaginea avatar și a unui cod hash criptografic utilizat pentru a verifica integritatea descărcării. Imaginea trebuie să fie în format JPEG, iar mărimea sa nu trebuie să depășească 512 KB. Adresa URL trebuie să poată fi accesată fără autentificare.
 
       Imaginea avatar este descărcată și salvată în memoria cache. Aceasta va fi descărcată din nou ori de câte ori adresa URL sau codul hash se modifică.
diff --git a/components/policy/resources/policy_templates_sk.xtb b/components/policy/resources/policy_templates_sk.xtb
index 2837ae6b..affa0695 100644
--- a/components/policy/resources/policy_templates_sk.xtb
+++ b/components/policy/resources/policy_templates_sk.xtb
@@ -50,6 +50,13 @@
 <translation id="1049138910114524876">Konfiguruje jazyk, ktorý je vynútene nastavený na prihlasovacej obrazovke systému <ph name="PRODUCT_OS_NAME" />.
 
       Ak je toto pravidlo nastavené, prihlasovacia obrazovka sa vždy zobrazí v jazyku, ktorý je určený prvou hodnotou tohto pravidla (z dôvodu kompatibility s nasledujúcimi verziami je pravidlo definované ako zoznam). Ak toto pravidlo nie je nastavené alebo je nastavené na prázdny zoznam, prihlasovacia obrazovka sa zobrazí v jazyku poslednej relácie používateľa. Ak je pravidlo nastavené na hodnotu, ktorá nie je platným jazykom, prihlasovacia obrazovka sa zobrazí v záložnom jazyku (aktuálne americká angličtina).</translation>
+<translation id="1052499923181221200">Toto pravidlo nemá žiadny vplyv, pokiaľ je pravidlo SamlInSessionPasswordChangeEnabled nastavené na hodnotu true.
+      Ak je dané pravidlo nastavené na hodnotu true a toto pravidlo je nastavené (napríklad) na hodnotu 14, znamená to, že používatelia SAML budú na vypršanie platnosti hesla v určitom dátume upozornení 14 dní vopred.
+      Môžu to vyriešiť okamžite zmenou hesla v rámci relácie a jeho aktualizovaním pred vypršaním platnosti.
+      Tieto upozornenia sa však zobrazia iba vtedy, keď informácie o vypršaní platnosti hesla odošle do zariadenia poskytovateľ identity SAML počas prihlasovacieho postupu SAML.
+      Ak toto pravidlo nastavíte na nulu, používatelia nebudú upozornení vopred. Upozornenie sa im zobrazí až po vypršaní platnosti hesla.
+
+      Keď je toto pravidlo nastavené, používateľ ho nemôže zmeniť ani prepísať.</translation>
 <translation id="1062011392452772310">Povoliť pre zariadenie vzdialené overenie</translation>
 <translation id="1062407476771304334">Nahradiť</translation>
 <translation id="1079801999187584280">Zakázať použitie nástrojov pre vývojárov</translation>
@@ -199,6 +206,7 @@
       Ak toto pravidlo povolíte, Asistent Google bude mať prístup ku kontextu obrazovky.
       Ak toto pravidlo zakážete, Asistent Google nebude mať prístup ku kontextu obrazovky.
       Ak pravidlo nenastavíte, používatelia si budú môcť vybrať, či Asistent Google bude mať prístup ku kontextu obrazovky.</translation>
+<translation id="1376119291123231789">Povoliť rozšírený režim nabíjania batérie</translation>
 <translation id="1383493480903114193">Toto pravidlo vynúti spustenie kódu siete v procese prehliadača.
 
       Predvolene je zakázané. Ak ho povolíte, po presunutí procesu siete do karantény nebudú používatelia chránení proti bezpečnostným problémom.
@@ -296,6 +304,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Povoliť blokovanie vkladania softvérom tretej strany</translation>
 <translation id="1504431521196476721">Diaľkové overenie</translation>
+<translation id="1507382822467487898">
+          Konfiguruje, ktorá adresa MAC (media access control – ovládanie prístupu k médiám) sa použije, keď bude k zariadeniu pripojený dok.
+
+          Keď je k niektorým modelom zariadení pripojený dok, na identifikáciu zariadenia v ethernete sa predvolene použije určená adresa MAC doku zariadenia. Toto pravidlo umožňuje správcom zmeniť zdroj adresy MAC, keď je zariadenie pripojené k doku.
+
+          Ak vyberiete hodnotu DeviceDockMacAddress alebo pravidlo nenastavíte, použije sa určená adresa MAC doku zariadenia.
+
+          Ak vyberiete hodnotu DeviceNicMacAddress, použije sa adresa MAC zariadenia typu NIC (network interface controller – ovládač rozhrania siete).
+
+          Ak vyberiete hodnotu DockNicMacAddress, použije sa adresa MAC doku typu NIC.
+
+          Používateľ nemôže toto nastavenie zmeniť.</translation>
 <translation id="1507957856411744193">Ak toto pravidlo nastavíte na hodnotu true, <ph name="PRODUCT_NAME" /> sa pripojí k zariadeniam Cast na všetkých adresách IP, nie iba na súkromných adresách RFC1918/RFC4193.
 
           Ak toto pravidlo nastavíte na hodnotu false, <ph name="PRODUCT_NAME" /> sa pripojí k zariadeniam Cast iba na súkromných adresách RFC1918/RFC4193.
@@ -722,6 +742,17 @@
 <translation id="2303795211377219696">Aktivovať Automatické dopĺňanie pre kreditné karty</translation>
 <translation id="2309390639296060546">Predvolené nastavenie geolokácie</translation>
 <translation id="2327252517317514801">Definovať domény s povoleným prístupom do služby G Suite</translation>
+<translation id="2356878440219553005">Špecifikuje pravidlo na správu režimu nabíjania batérie.
+
+          Dynamicky ovládajte nabíjanie batérie, čím znížite jej opotrebenie v dôsledku záťaže a predĺžite životnosť.
+
+          Ak vyberiete vlastný režim nabíjania batérie, musíte špecifikovať pravidlá DeviceBatteryChargeCustomStartCharging a DeviceBatteryChargeCustomStopCharging.
+
+          Ak toto pravidlo nastavíte, použije sa režim nabíjania batérie (ak ho zariadenie podporuje).
+
+          Ak ho nenastavíte a zariadenie ho podporuje, použije sa štandardný režim nabíjania batérie a používateľ ho nebude môcť zmeniť.
+
+          Poznámka: Ak špecifikujete predchádzajúce pravidlo, toto pravidlo sa prepíše pravidlom <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" />.</translation>
 <translation id="237494535617297575">Umožňuje nastaviť zoznam vzorov webových adries určujúcich webové stránky, na ktorých sa môžu zobrazovať upozornenia.
 
           Ak toto pravidlo ponecháte nenastavené, použije sa v prípade všetkých webových stránok globálna predvolená hodnota buď z pravidla „DefaultNotificationsSetting“ (ak je nastavené), alebo z osobnej konfigurácie používateľa.</translation>
@@ -763,6 +794,7 @@
 
       Ak je toto pravidlo nastavené na hodnotu False, automatické prihlásenie s nulovým oneskorením (ak je nakonfigurované) sa nedá obísť.</translation>
 <translation id="2454228136871844693">Optimalizovať s dôrazom na stabilitu.</translation>
+<translation id="2463034609187171371">Povoliť šifrovacie súpravy DHE v protokole TLS</translation>
 <translation id="2463365186486772703">Miestne nastavenie aplikácie</translation>
 <translation id="2466131534462628618">Overenie totožnosti pomocou prihlasovacieho portálu ignoruje proxy server</translation>
 <translation id="2482676533225429905">Odosielanie natívnych správ</translation>
@@ -944,6 +976,7 @@
 <translation id="2769952903507981510">Konfigurácia povinného názvu domény pre hostiteľov vzdialeného prístupu</translation>
 <translation id="2787173078141616821">Nahlasovať informácie o stave Androidu</translation>
 <translation id="2799297758492717491">Povoliť automatické prehrávanie médií z bielej listiny vzorov webových adries</translation>
+<translation id="2801155097555584385">Nastaviť vlastnú hodnotu začatia nabíjania batérie v percentách</translation>
 <translation id="2801230735743888564">Povoľte používateľom hrať veľkonočnú hru s dinosaurom, keď je zariadenie offline.
 
       Ak je toto pravidlo nastavené na hodnotu False, používatelia nebudú môcť hrať veľkonočnú hru s dinosaurom, keď je zariadenie offline. Ak je toto pravidlo nastavené na hodnotu True, používatelia môžu hrať hru s dinosaurom. Ak toto pravidlo nie je nastavené, v zaregistrovanom systéme Chrome OS používatelia veľkonočnú hru s dinosaurom hrať nemôžu, ale za všetkých iných okolností ju hrať môžu.</translation>
@@ -1017,6 +1050,7 @@
       Ak toto nastavenie zakážete alebo nenastavíte žiadnu hodnotu, Ukážka tlače bude používať poslednú použitú tlačiareň ako predvolenú cieľovú možnosť.
 
       Ak povolíte toto zariadenie, Ukážka tlače bude používať predvolenú tlačiareň operačného systému OS ako predvolenú cieľovú možnosť.</translation>
+<translation id="285627849510728211">Nastaviť dennú konfiguráciu rozšíreného režimu nabíjania batérie</translation>
 <translation id="2856674246949497058">Ak je verzia operačného systému novšia ako cieľová, prejdite na cieľovú verziu. Počas tohto procesu vykonajte kompletné obnovenie Powerwash.</translation>
 <translation id="2872961005593481000">Vypnúť</translation>
 <translation id="2873651257716068683">Prepíše predvolenú veľkosť tlačenej strany. Ak nie je k dispozícii veľkosť strany, toto pravidlo je ignorované.</translation>
@@ -1151,12 +1185,26 @@
 <translation id="3072045631333522102">Šetrič obrazovky, ktorý sa má použiť na prihlasovacej obrazovke v režime určenom pre predaj</translation>
 <translation id="3072847235228302527">Nastaviť Zmluvné podmienky pre miestny účet v zariadení</translation>
 <translation id="3077183141551274418">Povolí alebo zakáže životné cykly kariet</translation>
+<translation id="3079417254871857650">Určuje akciu, ktorá sa má vykonať, keď bol domovský adresár používateľa vytvorený so šifrovaním ecryptfs.
+
+      Ak toto pravidlo nastavíte na hodnotu DisallowArc, používateľ nebude môcť používať aplikácie pre Android a nevykoná sa žiadna migrácia zo šifrovania ecryptfs na šifrovanie ext4. Ak domovský adresár už šifrovanie ext4 používa, spúšťanie aplikácií pre Android zakázané nebude.
+
+      Ak toto pravidlo nastavíte na hodnotu Migrate, domovské adresáre so šifrovaním ecryptfs sa pri prihlásení automaticky prevedú na šifrovanie ext4 bez toho, aby bol používateľ požiadaný o súhlas.
+
+      Ak toto pravidlo nastavíte na hodnotu Wipe, domovské adresáre so šifrovaním ecryptfs sa pri prihlásení odstránia a namiesto nich sa vytvoria nové domovské adresáre so šifrovaním ext4. Upozornenie: Pri tejto operácii sa odstránia miestne údaje používateľa.
+
+      Ak toto pravidlo nastavíte na hodnotu MinimalMigrate, domovské adresáre so šifrovaním ecryptfs sa pri prihlásení odstránia a namiesto nich sa vytvoria nové domovské adresáre so šifrovaním ext4. Pokúsime sa však uchovať prihlasovacie tokeny, aby sa používateľ nemusel znova prihlasovať. Upozornenie: Pri tejto operácii sa odstránia miestne údaje používateľa.
+
+      Ak toto pravidlo nastavíte na možnosť, ktorá už nie je podporovaná (AskUser alebo AskForEcryptfsArcUsers), použije sa namiesto nej možnosť Migrate.
+
+      Toto pravidlo sa nevzťahuje na používateľov verejných terminálov. Ak toto pravidlo nenastavíte, zariadenie sa bude správať, akoby bola vybraná možnosť DisallowArc.</translation>
 <translation id="3086995894968271156">Konfigurácia prijímača Cast v systéme <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Umožňuje nastaviť zoznam vzorov webových adries určujúcich weby, ktoré môžu zobrazovať obrázky.
 
           Ak toto pravidlo ponecháte nenastavené, použije sa v prípade všetkých webových stránok globálna predvolená hodnota buď z pravidla „DefaultImagesSetting“ (ak je nastavené), alebo z osobnej konfigurácie používateľa.
 
           Upozorňujeme, že toto pravidlo bolo v minulosti v Androide chybne povolené, ale táto funkcia nebola nikdy úplne podporovaná.</translation>
+<translation id="3091832372132789233">Nabíjanie batérie zariadení, ktoré sú primárne pripojené k externému zdroju napájania.</translation>
 <translation id="3096595567015595053">Zoznam povolených doplnkov</translation>
 <translation id="3101501961102569744">Zvoľte spôsob konfigurácie nastavení servera proxy</translation>
 <translation id="3101709781009526431">Dátum a čas</translation>
@@ -1182,6 +1230,7 @@
           Ak je toto nastavenie zakázané, <ph name="PRODUCT_NAME" /> bude používať iba hostiteľov zasielania natívnych správ nainštalovaných na úrovni systému.
 
           Ak toto nastavenie ponecháte nenastavené, <ph name="PRODUCT_NAME" /> povolí použitie hostiteľov zasielania natívnych správ nastavených na úrovni používateľa.</translation>
+<translation id="3177802893484440532">Vyžadovať online kontroly OCSP/CRL pre miestne dôveryhodné autority</translation>
 <translation id="3185009703220253572">od verzie <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Aplikácie pre Android nemajú prístup k podnikovým kľúčom. Toto pravidlo nemá na ne žiaden vplyv.</translation>
 <translation id="3205825995289802549">Maximalizovať prvé okno prehliadača pri prvom spustení</translation>
@@ -1194,6 +1243,7 @@
 <translation id="3220624000494482595">Ak je verejná aplikácia aplikáciou pre Android, nebude mať žiadnu kontrolu nad verziou systému <ph name="PRODUCT_OS_NAME" />, a to ani v prípade, keď je toto pravidlo nastavené na hodnotu <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Vzory webových adries na povolenie zdrojov inštalácie rozšírenia, aplikácie a skriptov používateľa</translation>
 <translation id="3240609035816615922">Pravidlá prístupu ku konfigurácii tlačiarní</translation>
+<translation id="3240655340884151271">Vstavaná adresa MAC typu NIC doku</translation>
 <translation id="3243309373265599239">Určuje dobu nečinnosti používateľa, po ktorej sa pri používaní napájacieho zdroja zníži jas obrazovky.
 
           Ak je toto pravidlo nastavené na hodnotu väčšiu ako nula, určuje dobu nečinnosti používateľa, po ktorej systém <ph name="PRODUCT_OS_NAME" /> zníži jas obrazovky.
@@ -1215,6 +1265,12 @@
       Ak je toto nastavenie povolené alebo nebolo nakonfigurované, používatelia môžu povoliť server proxy pre tlač z cloudu prostredníctvom overenia totožnosti pomocou účtu Google.
 
       Ak je toto nastavenie zakázané, používatelia nebudú môcť povoliť server proxy a počítač nebude môcť zdieľať pripojené tlačiarne so službou <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Povolí stránku na chrome://password-change, ktorá umožňuje používateľom SAML zmeniť svoje heslá SAML v rámci relácie, čím sa zaistí, že heslo SAML a heslo uzamknutej obrazovky zariadenia zostanú synchronizované.
+
+      Toto pravidlo tiež povoľuje upozornenia, ktoré používateľov SAML upozorňujú na blízke vypršanie platnosti ich hesiel SAML, aby to mohli okamžite vyriešiť zmenou hesla v rámci relácie.
+      Tieto upozornenia sa však zobrazia iba vtedy, keď informácie o vypršaní platnosti hesla odošle do zariadenia poskytovateľ identity SAML počas prihlasovacieho postupu SAML.
+
+      Keď je toto pravidlo nastavené, používateľ ho nemôže zmeniť ani prepísať.</translation>
 <translation id="3322771899429619102">Umožňuje nastaviť zoznam vzorov webových adries určujúcich webové stránky, ktoré môžu používať generovanie kľúčov. Ak sa vzor webovej adresy nachádza v zozname KeygenBlockedForUrls, tieto výnimky sa prepíšu.
 
           Ak toto pravidlo ponecháte nenastavené, pre všetky stránky sa použije globálna predvolená hodnota buď z pravidla DefaultKeygenSetting (ak je nastavené), alebo z osobnej konfigurácie používateľa.</translation>
@@ -1300,6 +1356,7 @@
 
           Ak je toto pravidlo nastavené na hodnotu False alebo nastavené nie je, oneskorenia správy napájania a limit dĺžky relácie sa spustia hneď na začiatku relácie.</translation>
 <translation id="3478024346823118645">Vymazať údaje používateľa po odhlásení</translation>
+<translation id="3480961938508521469">Úplne nabite batériu štandardnou rýchlosťou.</translation>
 <translation id="348495353354674884">Povoliť virtuálnu klávesnicu</translation>
 <translation id="3487623755010328395">
         Ak je toto pravidlo nastavené, <ph name="PRODUCT_NAME" /> sa pokúsi zaregistrovať a použiť pre všetky profily prepojené pravidlá použitia cloudu.
@@ -1346,6 +1403,8 @@
 <translation id="3547954654003013442">Nastavenia servera proxy</translation>
 <translation id="355118380775352753">Weby, ktoré sa majú otvárať v alternatívnom prehliadači</translation>
 <translation id="3554984410014457319">Povoliť Asistentovi Google počúvať frázy aktivácie hlasom</translation>
+<translation id="356579196325389849">Používatelia môžu konfigurovať kanál verzií systému Chrome OS</translation>
+<translation id="3575011234198230041">Overenie HTTP</translation>
 <translation id="3577251398714997599">Nastavenie reklám pre weby s obťažujúcimi reklamami</translation>
 <translation id="357917253161699596">Povoliť používateľom spravovať používateľské certifikáty</translation>
 <translation id="3583230441447348508">Umožňuje špecifikovať zoznam vopred nakonfigurovaných zdieľaných úložísk v sieti.
@@ -1379,6 +1438,7 @@
 
         Toto pravidlo využíva registrácia pravidla rozsahu používania cloudu v počítači a je ho možné nastaviť pomocou databázy Registry alebo objektu skupinovej politiky (GPO) v systéme Windows, súboru plist v počítači Mac a súboru s pravidlami JSON v systéme Linux.</translation>
 <translation id="3660562134618097814">Preniesť súbory cookie poskytovateľa identity SAML počas prihlásenia</translation>
+<translation id="3668151900457104753">Odinštalovať položky pridané na zoznam zakázaných rozšírení</translation>
 <translation id="3701121231485832347">Umožňuje ovládať nastavenia špecifické pre zariadenia <ph name="PRODUCT_OS_NAME" />, ktoré spravuje <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Podpora poľa s jedným riadkom bola ukončená a v budúcnosti bude odstránené. Začnite používať textové pole s viacerými riadkami nižšie.)</translation>
 <translation id="3709266154059827597">Konfigurovať zoznam rozšírení, ktorých inštalácia je zakázaná</translation>
@@ -1460,6 +1520,16 @@
           Ak ho ponecháte nenastavené, klávesnica na obrazovke bude v predvolenom nastavení deaktivovaná, ale používatelia ju budú môcť kedykoľvek aktivovať.</translation>
 <translation id="382476126209906314">Konfigurácia predpony TalkGadget pre hostiteľov vzdialeného prístupu</translation>
 <translation id="3824972131618513497">Umožňuje ovládať nastavenia týkajúce sa správy napájania a reštartovania.</translation>
+<translation id="3826475866868158882">Služby určovania polohy Google sú povolené</translation>
+<translation id="3831054243924627613">Toto pravidlo ovláda počiatočný stav zálohovania a obnovy Androidu.
+
+      Keď ho nenakonfigurujete alebo nastavíte na hodnotu <ph name="BR_DISABLED" />, zálohovanie a obnova Androidu budú počiatočne zakázané.
+
+      Keď ho nastavíte na hodnotu <ph name="BR_ENABLED" />, zálohovanie a obnova Androidu budú počiatočne povolené.
+
+      Keď ho nastavíte na hodnotu <ph name="BR_UNDER_USER_CONTROL" />, používateľovi sa zobrazí výzva, či chce zálohovanie a obnovu Androidu používať. Ak zálohovanie a obnovu povolí, údaje aplikácií pre Android sa nahrajú na zálohovacie servery Androidu a obnovia sa pri opätovných inštaláciách kompatibilných aplikácií.
+
+      Upozorňujeme, že toto pravidlo ovláda stav zálohovania a obnovy Androidu iba počas počiatočného nastavenia. Používateľ môže potom otvoriť nastavenia Androidu a zálohovanie a obnovu Androidu zapnúť alebo vypnúť.</translation>
 <translation id="3831376478177535007">Keď zapnete toto nastavenie, <ph name="PRODUCT_NAME" /> povolí certifikáty vydané operáciami starej infraštruktúry PKI spoločnosti Symantec Corporation za predpokladu, že sú inak úspešne overené a prepojené s uznávaným certifikátom CA.
 
       Upozorňujeme, že toto pravidlo závisí od toho, či príslušný operačný systém stále rozpoznáva certifikáty zo starej infraštruktúry spoločnosti Symantec. Ak aktualizácia operačného systému zmení spracovávanie týchto certifikátov operačným systémom, toto pravidlo neplatí.  Slúži ako dočasné riešenie, pomocou ktorého získajú podniky viac času na prechod zo starých certifikátov Symantec.  Bude odstránené okolo 1. januára 2019.
@@ -1543,6 +1613,15 @@
 
           Ak toto pravidlo nie je nastavené alebo ak je nastavené na hodnotu False, používatelia budú môcť prenášať súbory na Disk Google.</translation>
 <translation id="3915395663995367577">Webová adresa súboru PAC servera proxy</translation>
+<translation id="3920892052017026701">Nastavte vlastnú hodnotu začatia nabíjania batérie v percentách.
+
+          Batéria sa začne nabíjať, keď dosiahne vlastnú hodnotu nabíjania batérie.
+
+          Parameter DeviceBatteryChargeCustomStartCharging musí byť menší ako DeviceBatteryChargeCustomStopCharging.
+
+          Toto pravidlo sa použije iba vtedy, keď je parameter DeviceBatteryChargeMode nastavený na vlastnú hodnotu.
+
+          Ak pravidlo nenakonfigurujete alebo nenastavíte, použije sa štandardný režim nabíjania batérie.</translation>
 <translation id="3925377537407648234">Nastavenie rozlíšenia a škálovacieho faktora obrazovky</translation>
 <translation id="3939893074578116847">Odosielanie sieťových paketov na správcovský server s cieľom sledovania online stavu, ktoré umožní
        serveru zistiť, či je zariadenie v režime offline.
@@ -1673,6 +1752,7 @@
 <translation id="4150201353443180367">Displej</translation>
 <translation id="4157003184375321727">Hlásiť verziu operačného systému a firmvéru</translation>
 <translation id="4157594634940419685">Povoliť prístup k natívnym tlačiarňam CUPS</translation>
+<translation id="4160962198980004898">Zdroj adresy MAC zariadenia, keď je vložené v doku</translation>
 <translation id="4163705126749612234">Nakonfiguruje požadované názvy domén klienta, ktoré budú použité pre klienty vzdialeného prístupu, a zabráni používateľom ich zmeniť.
 
           Ak je toto nastavenie povolené, k hostiteľovi sa budú môcť pripojiť iba klienty zo zadaných domén.
@@ -1750,6 +1830,7 @@
       Upozorňujeme, že pravidlo zahrnujúce ID aplikácie automaticky neznamená, že používateľ bude môcť na uzamknutej obrazovke povoliť príslušnú aplikáciu ako aplikáciu na písanie poznámok – v systéme Chrome 61 je napríklad skupina dostupných aplikácií ďalej obmedzená platformou.
 
       Ak pravidlo ponecháte nenastavené, nebudú existovať žiadne obmedzenia skupiny aplikácií, ktoré používateľ môže povoliť na uzamknutej obrazovke na základe tohto pravidla.</translation>
+<translation id="4313767483634435271">Určená adresa MAC doku zariadenia</translation>
 <translation id="4322842393287974810">Povoliť verejnej aplikácii, ktorá sa spúšťa automaticky s nulovým oneskorením, ovládať verziu systému <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="4325690621216251241">Pridať do oblasti oznámení tlačidlo odhlásenia</translation>
 <translation id="4332177773549877617">Zaznamenávať udalosti počas inštalácie aplikácií pre Android</translation>
@@ -1781,6 +1862,7 @@
 <translation id="4360826270668210664">Ak nastavíte toto pravidlo, hostiteľ vzdialeného prístupu bude od klientov overujúcich svoju totožnosť vyžadovať token na overenie totožnosti z tejto webovej adresy, aby ich mohol pripojiť. Musíte ho použiť v kombinácii s pravidlom RemoteAccessHostTokenValidationUrl.
 
           Táto funkcia je momentálne zakázaná na strane servera.</translation>
+<translation id="4363057787588706121">Povoliť zlučovanie pravidiel v zozname z rôznych zdrojov</translation>
 <translation id="436581050240847513">Hlásiť sieťové rozhrania zariadenia</translation>
 <translation id="4372704773119750918">Nepovoliť podnikovému používateľovi byť súčasťou viacnásobného profilu (primárneho ani sekundárneho)</translation>
 <translation id="4377599627073874279">Povoliť všetkým stránkam zobrazovať obrázky</translation>
@@ -1954,6 +2036,7 @@
 <translation id="4826326557828204741">Akcia, ktorá sa má vykonať po uplynutí určitého času nečinnosti počas prevádzky na batérii</translation>
 <translation id="4832852360828533362">Prehľady používateľov a zariadení</translation>
 <translation id="4834526953114077364">Odstránia sa najdlhšie neprihlásení používatelia (ktorí sa neprihlásili za posledné 3 mesiace), dokým sa neuvoľní dostatok voľného miesta</translation>
+<translation id="4835622243021053389">Povoliť overenie NTLMv2</translation>
 <translation id="4858735034935305895">Povoliť režim celej obrazovky</translation>
 <translation id="4861767323695239729">Konfigurovať povolené metódy vstupu v relácii používateľa</translation>
 <translation id="487460824085252184">Migrovať automaticky, nepýtať sa na súhlas používateľa</translation>
@@ -2073,6 +2156,11 @@
 
       Na rozdiel od pravidla <ph name="URL_LIST_POLICY_NAME" /> platia tieto pravidlá obojstranne. Znamená to, že ak používate doplnok pre Internet Explorer a je zapnutý, ovládate ním aj to, či má <ph name="IE_PRODUCT_NAME" /> otvárať tieto webové adresy v prehliadači <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Povoliť zapnutie pri napájaní</translation>
+<translation id="5131211790949066746">Umožňuje zlúčenie pravidiel zoznamu inštalovaných rozšírení <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> a <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" />.
+
+      Ak toto nastavenie povolíte, hodnoty z pravidiel platformy zariadenia, cloudu zariadenia a platformy používateľa sa zlúčia do jedného zoznamu a budú sa používať ako celok (nie iba hodnoty z jediného zdroja s najvyššou prioritou).
+
+      Ak ho zakážete alebo ho nenastavíte, uplatnia sa iba záznamy v zozname zo zdroja s najvyššou prioritou a všetky ostatné zdroje sa zobrazia ako konflikty, ale budú ignorované.</translation>
 <translation id="5141670636904227950">Nastaviť predvolený typ lupy obrazovky, ktorý je povolený na prihlasovacej obrazovke</translation>
 <translation id="5142301680741828703">Vždy vykreslovať nasledujúce vzory webových adries v doplnku <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Umožňuje nastaviť dodatočné parametre, ktoré doplnok <ph name="PRODUCT_FRAME_NAME" /> pri spúšťaní aplikácie <ph name="PRODUCT_NAME" /> použije.
@@ -2191,6 +2279,7 @@
 
       Ak toto pravidlo nenastavíte, použijete prázdny reťazec alebo neplatný rozsah portov, rozhranie WebRTC bude môcť použiť ľubovoľný dostupný miestny port UDP.</translation>
 <translation id="5290940294294002042">Určiť zoznam doplnkov, ktoré môže používateľ povoliť alebo zakázať</translation>
+<translation id="5306186200045823863">Dôverovať starej infraštruktúre verejných kľúčov spoločnosti Symantec Corporation</translation>
 <translation id="5307432759655324440">Dostupnosť režimu Inkognito</translation>
 <translation id="5318185076587284965">Povolí hostiteľovi vzdialeného prístupu používať servery typu relay</translation>
 <translation id="5323128137188992869">Umožňuje povoliť prenášanie obsahu do zariadenia pomocou funkcie <ph name="PRODUCT_NAME" />.
@@ -2290,6 +2379,7 @@
       Ak si pravidlá odporujú, <ph name="PRODUCT_NAME" /> používa to najšpecifickejšie pravidlo.</translation>
 <translation id="5475361623548884387">Povoliť tlač</translation>
 <translation id="547601067149622666">Zakázať reklamy na weboch s obťažujúcimi reklamami</translation>
+<translation id="5483065054530244863">Povoliť certifikáty podpísané algoritmom SHA-1 vydané miestnymi dôveryhodnými autoritami</translation>
 <translation id="5483777239978559943">Podpora tohto pravidla bola ukončená. Na určenie dostupnosti doplnku Flash použite pravidlo <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> a na určenie toho, či sa majú súbory PDF otvárať v integrovanom zobrazovači súborov PDF, použite pravidlo <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" />.
 
       Určuje zoznam doplnkov, ktoré používateľ v prehliadači <ph name="PRODUCT_NAME" /> môže povoliť alebo zakázať.
@@ -2402,6 +2492,17 @@
           Ak toto nastavenie povolíte alebo ho nenakonfigurujete, používatelia budú môcť v správcovi hesiel zobraziť uložené heslá formou čitateľného textu.</translation>
 <translation id="5620392548325769024">Aktivovať zobrazenie uvítacej stránky pri prvom spustení prehliadača po prechode na vyššiu verziu operačného systému</translation>
 <translation id="5630352020869108293">Obnoviť poslednú reláciu</translation>
+<translation id="5643906875497889108">Ovláda typy aplikácií a rozšírení, ktoré je možné nainštalovať. Tiež obmedzuje prístup k spúšťaniu.
+
+          Týmto nastavením pridáte do zoznamu povolených položiek povolené typy rozšírení a aplikácií, ktoré je možné nainštalovať v aplikácii <ph name="PRODUCT_NAME" /> a hostiteľov, s ktorými je možné interagovať. Daná hodnota je zoznam týchto reťazcov: extension, theme, user_script, hosted_app, legacy_packaged_app, platform_app. Ďalšie informácie o týchto typoch si môžete prečítať v dokumentácii k rozšíreniam prehliadača <ph name="PRODUCT_NAME" />.
+
+          Upozorňujeme, že toto pravidlo má vplyv aj na rozšírenia a aplikácie, ktoré budú vynútene nainštalované prostredníctvom pravidla ExtensionInstallForcelist.
+
+          Ak je toto nastavenie nakonfigurované, rozšírenia a aplikácie typu, ktorý sa nenachádza v zozname, sa nenainštalujú.
+
+          Ak toto nastavenie nie je nakonfigurované, nebudú sa vynucovať žiadne obmedzenia prijateľných rozšírení a aplikácií.
+
+          Používanie viacerých identifikátorov rozšírení oddelených čiarkami pred verziou 75 nie je podporované a preskočí sa. Zvyšok tohto pravidla bude naďalej platiť.</translation>
 <translation id="5645779841392247734">Povoliť súbory cookie na týchto webových stránkach</translation>
 <translation id="5689430183304951538">Predvolená veľkosť tlačenej strany</translation>
 <translation id="5693469654327063861">Povoliť migráciu dát</translation>
@@ -2441,6 +2542,7 @@
 <translation id="5765780083710877561">Popis:</translation>
 <translation id="5770738360657678870">Verzia pre vývojárov (môže byť nestabilná)</translation>
 <translation id="5774856474228476867">Webová adresa vyhľadávania predvoleného poskytovateľa vyhľadávania</translation>
+<translation id="5775235485119094648">Nabíjajte batériu v pevnom rozmedzí.</translation>
 <translation id="5776485039795852974">Opýtať sa vždy, keď chcú stránky zobrazovať upozornenia na pracovnej ploche</translation>
 <translation id="5781412041848781654">Určuje, ktorá knižnica GSSAPI sa má použiť na overenie HTTP. Môžete nastaviť buď len názov knižnice, alebo úplnú cestu.
 
@@ -2508,6 +2610,7 @@
 <translation id="5893553533827140852">Ak je toto nastavenie povolené, žiadosti o overenie gnubby budú sprostredkované cez vzdialené pripojenie hostiteľa.
 
           Ak je toto nastavenie zakázané alebo nie je nakonfigurované, žiadosti o overenie gnubby nebudú sprostredkované.</translation>
+<translation id="5897913798715600338">Nabíjajte batériu pomocou technológie rýchleho nabíjania.</translation>
 <translation id="5898486742390981550">Keď je v Androide prihlásených viacero používateľov, môže aplikácie používať iba hlavný používateľ.</translation>
 <translation id="5900196529149231477">
       Toto pravidlo platí pre prihlasovaciu obrazovku. Pozrite si aj pravidlo <ph name="ISOLATE_ORIGINS_POLICY_NAME" />, ktoré platí pre reláciu používateľa. Obe pravidlá odporúčame nastaviť na rovnakú hodnotu. Ak sa hodnoty nebudú zhodovať, môže dôjsť pri vstupe do relácie používateľa k oneskoreniu, zatiaľ čo sa uplatňuje hodnota určená v pravidle používateľa.
@@ -2516,12 +2619,14 @@
       Ak toto pravidlo nenakonfigurujete, predvolené nastavenia izolácie webov v platforme sa použijú pre prihlasovaciu obrazovku.
       </translation>
 <translation id="5901427587865226597">Iba obojstranná tlač</translation>
+<translation id="5905473632148429217">Povoliť online kontroly OCSP/CRL</translation>
 <translation id="5906199912611534122">Umožňuje aktivovať alebo deaktivovať obmedzenie rýchlosti siete.
       Platí pre všetkých používateľov a rozhrania na zariadení. Po nastavení tohto pravidla
       bude rýchlosť obmedzovaná, dokým ho nezmeníte alebo nezakážete.
 
       Ak je nastavené na hodnotu False, rýchlosť nie je obmedzovaná.
       Ak je nastavené na hodnotu True, rýchlosť systému je obmedzovaná, aby sa dosiahli zadané rýchlosti nahrávania a sťahovania (v kilobitoch za sekundu).</translation>
+<translation id="591088232153082363">Adaptívne nabíjať batériu podľa vzoru využívania batérie</translation>
 <translation id="5921713479449475707">Povoliť stiahnutia automatických aktualizácií prostredníctvom protokolu HTTP</translation>
 <translation id="5921888683953999946">Nastaví predvolený stav veľkého kurzora (funkcia na uľahčenie prístupu) na prihlasovacej obrazovke.
 
@@ -2543,6 +2648,7 @@
 <translation id="5950205771952201658">Vzhľadom na to, že kontroly online odvolania s príznakom soft-fail neposkytujú žiadne účinné bezpečnostné výhody, sú v predvolenom nastavení aplikácie <ph name="PRODUCT_NAME" /> verzie 19 alebo vyššej deaktivované. Ak toto pravidlo nastavíte na hodnotu true, predchádzajúce správanie sa obnoví a budú sa vykonávať kontroly online OCSP/CRL.
 
       Ak toto pravidlo nie je nastavené alebo je nastavené na hodnotu false, <ph name="PRODUCT_NAME" /> nebude v aplikácii <ph name="PRODUCT_NAME" /> verzie 19 alebo novšej vykonávať kontroly online odvolania.</translation>
+<translation id="5961137303188584693">Adresa NIC MAC vstavaná v zariadení</translation>
 <translation id="5966615072639944554">Rozšírenia s povolením používať vzdialené overenie API</translation>
 <translation id="5983708779415553259">Predvolené správanie pre webové stránky, ktoré sa nenachádzajú v žiadnom obsahovom balíku</translation>
 <translation id="5997543603646547632">Používať v predvolenom nastavení 24-hodinový formát hodín</translation>
@@ -2632,6 +2738,17 @@
 <translation id="6111936128861357925">Povoliť hru s dinosaurom</translation>
 <translation id="6114416803310251055">zamietnuté</translation>
 <translation id="6133088669883929098">Povoliť všetkým webovým stránkam používať generovanie kľúčov</translation>
+<translation id="6136537398661737682">Toto pravidlo ovláda počiatočný stav služieb určovania polohy Google.
+
+      Keď toto pravidlo nenakonfigurujete alebo ho nastavíte na hodnotu <ph name="GLS_DISABLED" />, služby určovania polohy Google budú počiatočne zakázané.
+
+      Keď toto pravidlo nastavíte na hodnotu <ph name="GLS_ENABLED" />, služby určovania polohy Google budú počiatočne povolené.
+
+      Keď toto pravidlo nastavíte na hodnotu <ph name="GLS_UNDER_USER_CONTROL" />, používateľovi sa zobrazí výzva, či chce služby určovania polohy Google používať. Aplikácie pre Android tak budú môcť používať príslušné služby na zistenie polohy zariadenia a tiež bude povolené odosielanie anonymných údajov o polohe do Googlu.
+
+      Upozorňujeme, že toto pravidlo ovláda stav služieb určovania polohy Google iba počas počiatočného nastavenia. Používateľ môže potom otvoriť nastavenia Androidu a služby určovania polohy Google zapnúť alebo vypnúť.
+
+      Upozorňujeme, že toto pravidlo sa bude ignorovať a služby určovania polohy Google budú vždy zakázané, keď je pravidlo <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> nastavené na hodnotu <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">Vždy používať hrubé zisťovanie časového pásma</translation>
 <translation id="6145799962557135888">Umožňuje nastaviť zoznam vzorov webových adries určujúcich webové stránky, ktoré môžu spúšťať kód JavaScript.
 
@@ -2702,9 +2819,17 @@
       Ak je pravidlo zakázané, údaje automatického dopĺňania formulárov nebudú importované.
 
       Ak nie je nastavené, môže sa používateľovi zobraziť výzva, či chce údaje importovať, alebo môže import prebehnúť automaticky.</translation>
+<translation id="6221175752766085998">Povoliť certifikáty vydané miestnymi dôveryhodnými autoritami bez rozšírenia subjectAlternativeName</translation>
 <translation id="6224304369267200483">Automatické povolenie priamej atestácie bezpečnostných kľúčov webovými adresami alebo doménami</translation>
 <translation id="6233173491898450179">Nastaviť adresár na sťahovanie</translation>
 <translation id="6244210204546589761">Webové adresy otvárané pri spustení</translation>
+<translation id="6255387031094435995">Umožňuje zlúčenie vybraných pravidiel, keď pochádzajú z rôznych zdrojov, s rovnakými rozsahmi a úrovňou.
+
+        Ak sa pravidlo nachádza v zozname a nastane konflikt medzi dvoma zdrojmi, ktoré majú rovnaké rozsahy a úroveň, hodnoty budú zlúčené do nového zoznamu pravidiel.
+
+        Ak sa pravidlo nachádza v zozname a nastane konflikt medzi dvoma zdrojmi, ale aj rozsahmi a/alebo úrovňou, použije sa pravidlo s najvyššou prioritou.
+
+        Ak sa pravidlo nenachádza v zozname a nastane konflikt medzi dvoma zdrojmi, rozsahmi a/alebo úrovňou, použije sa pravidlo s najvyššou prioritou.</translation>
 <translation id="6258193603492867656">Určuje, či má generovaný hlavný názov služby protokolu Kerberos zahŕňať neštandardný port.
 
           Ak toto nastavenie povolíte a zadáte neštandardný port (t.j. iný port ako 80 či 443), zahrnie sa do vygenerovaného hlavného názvu služby protokolu Kerberos.
@@ -2906,6 +3031,7 @@
 <translation id="6757438632136860443">Umožňuje nastaviť zoznam vzorov webových adries určujúcich weby, ktoré majú povolené spustiť doplnok <ph name="FLASH_PLUGIN_NAME" />.
 
           Ak toto pravidlo nenastavíte, pre všetky weby sa použije globálna predvolená hodnota, ktorá je určená buď pravidlom DefaultCookiesSetting (ak je nastavené), alebo inou osobnou konfiguráciou od používateľa.</translation>
+<translation id="6757613329154374267">Zálohovanie a obnova sú povolené</translation>
 <translation id="6762235610019366960">Umožňuje ovládať prezentovanie propagačného a/alebo vzdelávacieho obsahu na celú kartu v prehliadači <ph name="PRODUCT_NAME" />.
 
       Ak toto pravidlo nenakonfigurujete alebo nepovolíte (nastavíte na hodnotu true), <ph name="PRODUCT_NAME" /> môže zobrazovať obsah na celú kartu používateľom s cieľom poskytovať im informácie o produktoch.
@@ -2928,6 +3054,7 @@
       Reťazec môže obsahovať premenné ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME}, ktoré budú v zariadení nahradené hodnotami ešte pred ich použitím ako názvu hostiteľa. Výsledné nahradenie by mal byť platný názov hostiteľa (podľa RFC 1035, časť 3.1).
 
       Ak toto pravidlo nenastavíte alebo hodnota po nahradení nie je platný názov hostiteľa, v žiadosti DHCP nebude nastavený žiadny názov hostiteľa. </translation>
+<translation id="6833988859168635883">Pri spustení, domovská stránka a stránka na novej karte</translation>
 <translation id="6835883744948188639">Zobrazovať používateľovi opakovanú výzvu, že sa vyžaduje opätovné spustenie</translation>
 <translation id="6837480141980366278">Ovláda, či sa v prehliadači <ph name="PRODUCT_NAME" /> používa vstavaný klient DNS.
 
@@ -3041,6 +3168,17 @@
 
       Tesne predtým, ako sa obrazovka stlmí, inteligentný model stlmenia zhodnotí, či by malo byť stlmenie obrazovky odložené. Ak ho odloží, účinne predĺži čas do stlmenia obrazovky. V tomto prípade sa oneskorenie vypnutia obrazovky, aktivácie zámky obrazovky a nečinnosti upraví tak, aby sa zachovali rovnaké odstupy od oneskorenia stlmenia obrazovky, ktoré boli pôvodne nakonfigurované.
       Ak toto pravidlo nastavíte na hodnotu true alebo ho nenastavíte, inteligentný model stlmenia bude aktívny a bude môcť predĺžiť čas do stlmenia obrazovky. Ak toto pravidlo nastavíte na hodnotu false, tento model nebude mať vplyv na stlmenie obrazovky.</translation>
+<translation id="6967394885063085697">Povoľte pravidlo na správu rozšíreného režimu nabíjania batérie.
+
+          Rozšírený režim nabíjania batérie umožňuje používateľovi minimalizovať jej opotrebenie. V rozšírenom režime nabíjania bude systém mimo pracovného času používať algoritmus štandardného nabíjania a ďalšie techniky na minimalizovanie opotrebenia batérie. V pracovnom čase sa použije expresné nabíjanie. Toto expresné nabíjanie umožňuje rýchlejšie úplné nabitie batérie. Čas, kedy sa bude systém najviac používať, je pre každý deň špecifikovaný parametrami času začatia a trvania.
+
+          Ak toto pravidlo nastavíte na hodnotu true a zároveň bude nastavené pravidlo DeviceAdvancedBatteryChargeModeDayConfig, rozšírený režim nabíjania batérie bude vždy povolený (ak ho zariadenie podporuje).
+
+          Ak ho nastavíte na hodnotu false, rozšírený režim nabíjania batérie bude vždy zakázaný.
+
+          Ak toto pravidlo nastavíte, používatelia ho nebudú môcť zmeniť ani prepísať.
+
+          Ak ho nenastavíte, rozšírený režim nabíjania batérie bude zakázaný a používateľ ho nebude môcť povoliť.</translation>
 <translation id="6972540544240464302">Výber konfigurácie plánovača úloh</translation>
 <translation id="6979158407327259162">Disk Google</translation>
 <translation id="6994082778848658360">Umožňuje určiť, ako môže byť hardvér zabezpečeného prvku na základnej doske počítača použitý na poskytovanie druhého faktora overenia totožnosti, ak je kompatibilný s touto funkciou. Vypínač zariadenia sa používa na rozpoznanie fyzickej prítomnosti používateľa.
@@ -3118,6 +3256,17 @@
       Ak toto nastavenie povolíte alebo zakážete, používatelia ho nebudú môcť zmeniť ani prepísať.
 
       Ak toto nastavenie ponecháte nenastavené, používateľ si bude môcť zvoliť, či chce, aby sa mu pri pokuse o odomknutie zariadenia zobrazovala výzva na zadanie hesla.</translation>
+<translation id="7107148737865880402">Povoľte pravidlo na správu zdieľania napájania USB.
+
+          Určité zariadenia majú konkrétny port USB označený bleskom alebo ikonou batérie, pomocou ktorého sa dajú nabíjať zariadenia (napríklad mobilný telefón) z batérie systému. Toto pravidlo ovplyvňuje správanie daného portu pri nabíjaní, kým je systém v režime spánku alebo vypnutý. Toto pravidlo neovplyvňuje ostatné porty USB a správanie pri nabíjaní, kým je systém aktívny.
+
+          Keď je systém aktívny, port USB bude vždy poskytovať napájanie.
+
+          Ak v režime spánku nastavíte toto pravidlo na hodnotu true, napájanie sa bude dodávať do portu USB, kým bude zariadenie pripojené k nabíjačke alebo kým bude úroveň batérie vyššia ako 50 %. Inak sa nebude dodávať.
+
+          Keď bude zariadenie vypnuté a pravidlo nastavené na hodnotu true, napájanie sa bude dodávať do portu USB, keď bude zariadenie pripojené k nabíjačke. Inak sa nebude dodávať.
+
+          Ak toto pravidlo nenastavíte, bude povolené a používateľ ho nebude môcť zakázať.</translation>
 <translation id="7115494316187648452">Určuje, či sa pri prihlásení do operačného systému spustí proces prehliadača <ph name="PRODUCT_NAME" /> a zostane spustený aj po zatvorení posledného okna prehliadača, čím umožní aplikáciám na pozadí, aktuálnej relácii prehliadania, ako aj všetkým súborom cookie relácie zostať aktivovanými. Proces na pozadí zobrazí v oblasti oznámení ikonu, takže ho odtiaľ budete môcť kedykoľvek ukončiť.
 
       Ak toto pravidlo nastavíte na možnosť True, povolí sa režim na pozadí, ktorý používateľ nebude môcť ovládať pomocou nastavení prehliadača.
@@ -3168,6 +3317,7 @@
           Ak toto pravidlo nastavíte na hodnotu true alebo ho nenastavíte, zákazy režimu spánku obrazovky sa budú pri správe napájania zohľadňovať, ak pravidlo AllowWakeLocks nie je nastavené na hodnotu false.
 
           Ak ho nastavíte na hodnotu false, žiadosti o zákaz režimu spánku obrazovky budú zmenené na zákazy režimu spánku systému.</translation>
+<translation id="7177857088692019405">Rýchle odomknutie</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Typy pripojenia, pre ktoré sú povolené aktualizácie</translation>
 <translation id="7194407337890404814">Názov predvoleného poskytovateľa vyhľadávania</translation>
@@ -3231,6 +3381,7 @@
 <translation id="7273823081800296768">Ak je toto nastavenie povolené alebo nie je nakonfigurované, používatelia môžu aktivovať párovanie klientov a hostiteľov v čase pripojenia, čím predídu opakovanému zadávaniu kódu PIN.
 
           Ak je toto nastavenie zakázané, nebude táto funkcia k dispozícii.</translation>
+<translation id="7274077256421167535">Povoliť zdieľanie napájania USB</translation>
 <translation id="7275334191706090484">Spravované záložky</translation>
 <translation id="7291084543582732020">Ak povolíte toto nastavenie, používatelia budú môcť používať Smart Lock v prípade, že budú splnené požiadavky na používanie tejto funkcie.
 
@@ -3244,6 +3395,7 @@
 
           Toto pravidlo sa použije iba v prípade, že je povolené pravidlo DefaultSearchProviderEnabled.</translation>
 <translation id="7302043767260300182">Oneskorenie uzamknutia obrazovky pri používaní napájacieho zdroja</translation>
+<translation id="7305262223970835999">Povolí stránku na zmenu hesla pre používateľov SAML v rámci relácie.</translation>
 <translation id="7311458740754205918">Ak toto pravidlo nastavíte na hodnotu True alebo ho nenastavíte, na stránke na novej karte sa môžu zobrazovať návrhy obsahu na základe používateľovej histórie prehliadania, záujmov alebo polohy.
 
       Ak toto pravidlo nastavíte na možnosť False, automaticky generované návrhy obsahu sa na stránke na novej karte nezobrazujú.</translation>
@@ -3370,6 +3522,15 @@
       Ak toto pravidlo bude mať hodnotu 0, použije sa predvolená veľkosť vyrovnávacej pamäte, ale používateľ ju nebude môcť zmeniť.
 
       Ak toto pravidlo nebude nastavené, použije sa predvolená veľkosť a používateľ ju bude môcť prepísať pomocou príznaku --disk-cache-size.</translation>
+<translation id="759389052790680884">Nastavte vlastnú hodnotu zastavenia nabíjania batérie v percentách.
+
+          Nabíjanie batérie sa zastaví po dosiahnutí vlastnej hodnoty zastavenia jej nabíjania.
+
+          Parameter DeviceBatteryChargeCustomStartCharging musí byť menší ako DeviceBatteryChargeCustomStopCharging.
+
+          Toto pravidlo sa použije iba vtedy, keď je parameter DeviceBatteryChargeMode nastavený na vlastnú hodnotu.
+
+          Ak pravidlo nenakonfigurujete alebo nenastavíte, použije sa štandardný režim nabíjania batérie.</translation>
 <translation id="759957074386651883">Nastavenia Bezpečného prehliadania</translation>
 <translation id="7604169113182304895">Aplikácie pre Android sa môžu samostatne rozhodnúť, či sa budú týmto zoznamom riadiť. Nie je možné to vynútiť.</translation>
 <translation id="7612157962821894603">Príznaky v celom systéme, ktoré sa používajú pri spúšťaní prehliadača <ph name="PRODUCT_NAME" /></translation>
@@ -3447,6 +3608,15 @@
 <translation id="7712109699186360774">Vždy sa opýtať, keď sa stránky snažia získať prístup ku kamere alebo mikrofónu</translation>
 <translation id="7713608076604149344">Obmedzenia súborov na stiahnutie</translation>
 <translation id="7715711044277116530">Percento predĺženia oneskorenia stmavenia obrazovky v režime prezentácie</translation>
+<translation id="7716781462866245042">Nastavte dennú konfiguráciu rozšíreného režimu nabíjania batérie.
+
+          Toto pravidlo sa použije iba vtedy, keď je pravidlo DeviceAdvancedBatteryChargeModeEnabled nastavené na hodnotu true.
+
+          Ak toto pravidlo nenakonfigurujete alebo nenastavíte, rozšírený režim nabíjania batérie bude vždy zakázaný.
+
+          Poznámka: Hodnota <ph name="CHARGE_START_TIME_FIELD_NAME" /> musí byť menšia ako <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Poznámka: Povolené hodnoty pre pole <ph name="MINUTE_FIELD_NAME" /> v poliach <ph name="CHARGE_START_TIME_FIELD_NAME" /> a <ph name="CHARGE_END_TIME_FIELD_NAME" /> sú 0, 15, 30 a 45.</translation>
 <translation id="7717938661004793600">Konfigurujte funkcie zjednodušenia prístupu v systéme <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Toto pravidlo povoľuje protokol HTTP/0.9 na portoch iných ako 80 (v prípade protokolu HTTP) a 443 (v prípade protokolu HTTPS).
 
@@ -3520,6 +3690,7 @@
       Určuje identifikátor rozšírenia, ktoré sa má použiť ako šetrič obrazovky na prihlasovacej obrazovke. Rozšírenie musí byť súčasťou balíka AppPack, ktorý bol pre túto doménu nakonfigurovaný v rámci pravidla DeviceAppPack.</translation>
 <translation id="7882857838942884046">V prípade zákazu synchronizácie Google nebudú funkcie zálohy a obnovy v Androide fungovať správne.</translation>
 <translation id="7882890448959833986">Zrušenie zobrazovania upozornenia na nepodporovaný operačný systém</translation>
+<translation id="7895553628261067384">Vzdialený prístup</translation>
 <translation id="7902255855035461275">Vzory v tomto zozname sa porovnajú s pôvodom
       zabezpečenia webovej adresy, ktorá odoslala žiadosť. Ak sa nájde zhoda, prístup k zariadeniam
       na zaznamenávanie zvuku sa udelí bez výzvy.
@@ -3533,6 +3704,11 @@
 <translation id="7937491150792971922">Zlúčenie pravidiel zoznamu inštalovaných rozšírení z viacerých zdrojov</translation>
 <translation id="7937766917976512374">Povoliť alebo zakázať zaznamenávanie videa</translation>
 <translation id="7941975817681987555">Nepredpovedať akcie siete pri sieťovom pripojení</translation>
+<translation id="7952007677054834789">Konfiguruje v prehliadači <ph name="PRODUCT_NAME" /> načítanie stránok pri spustení, predvolenú domovskú stránku a predvolenú stránku na novej karte a bráni používateľom ich zmeniť.
+
+      Nastavenia domovskej stránky používateľa sú úplne uzamknuté iba vtedy, keď nastavíte domovskú stránku ako stránku na novej karte alebo vopred určenú webovú adresu domovskej stránky. Ak túto webovú adresu neurčíte, používateľ bude stále môcť nastaviť domovskú stránku ako stránku na novej karte príkazom „chrome://newtab“.
+
+      Ak ste v časti Akcia pri spustení nevybrali Otvoriť zoznam webových adries, pravidlo Webové adresy otvárané pri spustení sa bude ignorovať.</translation>
 <translation id="7952958573604504839">Vo verzii M48 bola podpora tohto pravidla ukončená a bolo nahradené pravidlom <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />, vo verzii M54 bolo toto pravidlo odstránené.
 
       Povolí predpovedanie siete v prehliadači <ph name="PRODUCT_NAME" /> a zabráni používateľom toto nastavenie zmeniť.
@@ -3677,6 +3853,7 @@
 <translation id="8176035528522326671">Povolí používateľovi v podnikovej sieti stať sa iba hlavným používateľom s viacerými profilmi (predvolené správanie pre používateľov spravovaných podnikom)</translation>
 <translation id="8214600119442850823">Umožňuje konfiguráciu správcu hesiel.</translation>
 <translation id="8217516105848565518">Podpora tohto pravidla bola ukončená. Použite namiesto neho pravidlo RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">Povoliť šifrovacie súpravy RC4 v protokole TLS</translation>
 <translation id="8244525275280476362">Maximálne oneskorenie načítania po zrušení platnosti pravidla</translation>
 <translation id="8256688113167012935">Ovláda názov účtu, ktorý systém <ph name="PRODUCT_OS_NAME" /> zobrazí na obrazovke prihlásenia pre zodpovedajúci miestny účet na zariadení.
 
@@ -3717,6 +3894,7 @@
 <translation id="8312129124898414409">Umožňuje nastaviť, či môžu webové stránky používať generovanie kľúčov. Používanie generovania kľúčov je možné buď povoliť pre všetky webové stránky, alebo ho pre všetky webové stránky zakázať.
 
           Ak toto pravidlo ponecháte nenastavené, použije sa pravidlo BlockKeygen a používateľ ho bude môcť zmeniť.</translation>
+<translation id="8320149248919453401">Režim nabíjania batérie</translation>
 <translation id="8329984337216493753">Toto pravidlo je aktívne iba v režime určenom pre predaj.
 
       Ak je zadané pravidlo DeviceIdleLogoutTimeout, určuje toto pravidlo dobu zobrazenia poľa s upozornením a odpočítavaním, ktoré sa používateľovi zobrazí predtým, než dôjde k odhláseniu.
@@ -3877,6 +4055,7 @@
       Ak pravidlo nenastavíte, použije sa predvolené obdobie 345 600 000 milisekúnd (štyri dni) pre zariadenia <ph name="PRODUCT_OS_NAME" /> a 604 800 000 milisekúnd (jeden týždeň) pre prehliadače. <ph name="PRODUCT_NAME" />.</translation>
 <translation id="8685024486845674965">Upozornenie ochrany heslom sa spúšťa po opätovnom použití hesla</translation>
 <translation id="8693243869659262736">Použiť vstavaného klienta DNS</translation>
+<translation id="8698286761337647563">Koľko dní vopred upozorniť používateľov SAML na vypršanie platnosti hesla</translation>
 <translation id="8703488928438047864">Nahlásiť stav panela</translation>
 <translation id="8703872185032220081">Nastavte dennú konfiguráciu funkcie prepnutia napájania počas špičky.
 
@@ -3929,6 +4108,7 @@
       Ak je toto nastavenie zakázané alebo nie je nastavené, služba ochrany hesiel odkáže používateľov na https://myaccounts.google.com, aby si tam zmenili heslo.
       Toto pravidlo je k dispozícii iba v inštanciách systému Windows, ktoré sú zapojené do domény <ph name="MS_AD_NAME" />, alebo v inštanciách systému Windows 10 Pro alebo Enterprise, ktoré sú zaregistrované do správy zariadení.</translation>
 <translation id="8798099450830957504">Predvolené</translation>
+<translation id="8800453707696044281">Nastaviť vlastnú hodnotu zastavenia nabíjania batérie v percentách</translation>
 <translation id="8801680448782904838">Upozorňovať používateľa, že sa odporúča alebo vyžaduje opätovné reštartovanie prehliadača</translation>
 <translation id="8818173863808665831">Nahlási geografickú polohu zariadenia.
 
@@ -4045,6 +4225,11 @@
       Toto pravidlo sa vzťahuje iba na používateľov, ktorých totožnosť bola overená pomocou štandardu SAML.
 
       Hodnota tohto pravidla by mala byť určená v sekundách.</translation>
+<translation id="9018338365267278833">Toto pravidlo odstráni rozšírenia v zozname <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> alebo <ph name="EXTENSION_SETTINGS_POLICY_NAME" />, ktoré majú zablokovaný režim inštalácie, a zároveň vymaže aj miestne údaje používateľa.  Ak chcete zistiť, čo sa môže stať s údajmi používateľa, ktoré nie sú uložené miestne, prečítajte si pravidlá ochrany súkromia rozšírení alebo pravidlá uchovávania údajov.
+
+      Keď je pravidlo povolené, rozšírenia, ktoré spadajú do zoznamov spomenutých vyššie (ak už sú v počítači nainštalované), sa z príslušného počítača úplne odstránia (vrátane miestnych údajov používateľa).
+
+      Keď je pravidlo zakázané alebo nenastavené, rozšírenia, ktoré spadajú do zoznamov spomenutých vyššie (ak už sú v počítači nainštalované a nachádzajú sa v zozname zakázaných rozšírení <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />), sa v príslušnom počítači zakážu a neodinštalujú.</translation>
 <translation id="9027787254195333560">Toto pravidlo umožňuje konfigurovať obrázok avatara, ktorý na prihlasovacej obrazovke predstavuje používateľa. Pravidlo vytvoríte zadaním webovej adresy, z ktorej môže <ph name="PRODUCT_OS_NAME" /> stiahnuť obrázok avatara a kryptografické hašovanie, ktoré slúži na overenie integrity stiahnutého obsahu. Obrázok musí byť vo formáte JPEG a jeho veľkosť nesmie prekročiť 512 kB. Webová adresa musí byť prístupná bez overenia.
 
       Obrázok avatara sa stiahne a uloží do vyrovnávacej pamäte. Pri každej zmene webovej adresy alebo hašovania sa znova stiahne.
diff --git a/components/policy/resources/policy_templates_sr.xtb b/components/policy/resources/policy_templates_sr.xtb
index 4b80840..6eb815d6 100644
--- a/components/policy/resources/policy_templates_sr.xtb
+++ b/components/policy/resources/policy_templates_sr.xtb
@@ -51,6 +51,13 @@
 <translation id="1049138910114524876">Конфигуришу локалитет који се примењује за екран за пријављивање у <ph name="PRODUCT_OS_NAME" />-у.
 
       Ако сте подесили ове смернице, екран за пријављивање ће се увек приказивати на локалитету који је одређен првом вредношћу ових смерница (смернице се дефинишу као листа за одржавање компатибилности унапред). Ако ове смернице нису подешене или су подешене на празну листу, екран за пријављивање ће се приказивати на локалитету последње корисничке сесије. Ако су ове смернице подешене на вредност која није важећи локалитет, екран за пријављивање ће се приказивати на заменском локалитету (тренутно, en-US).</translation>
+<translation id="1052499923181221200">Ове смернице немају ефекта ако се SamlInSessionPasswordChangeEnabled не подеси на Тачно.
+      Ако се те смернице подесе на Тачно, а ове (на пример) на 14, то значи да SAML корисници добијају обавештење 14 дана унапред да им лозинка истиче одређеног датума.
+      Онда одмах могу то да реше променом лозинке током сесије и њеним ажурирањем пре него што истекне.
+      Али, ова обавештења се приказују само ако SAML добављач идентитета шаље уређају информације о истеку лозинке током SAML тока пријављивања.
+      Ако ове смернице подесите на нулу, корисници не добијају обавештење унапред, већ тек када лозинка истекне.
+
+      Ако подесите ове смернице, корисник не може да их промени нити замени.</translation>
 <translation id="1062011392452772310">Омогућавање даљинске потврде за уређај</translation>
 <translation id="1062407476771304334">Замени</translation>
 <translation id="1079801999187584280">Онемогућава употребу алатки за програмере</translation>
@@ -211,6 +218,7 @@
       Ако омогућите смернице, Google помоћнику ће бити дозвољено да приступа контексту на екрану.
       Ако онемогућите смернице, Google помоћнику неће бити дозвољено да приступа контексту на екрану.
       Ако не подесите смернице, корисници могу да одлучују да ли ће дозволити Google помоћнику да приступа контексту на екрану или не</translation>
+<translation id="1376119291123231789">Омогући напредни режим пуњења батерије</translation>
 <translation id="1383493480903114193">Ове смернице приморавају покретање кода за умрежавање у процесу прегледача.
 
       Ове смернице су подразумевано онемогућене, а ако се омогуће, корисник ће бити изложен безбедносним проблемима када процес умрежавања буде у заштићеном окружењу.
@@ -306,6 +314,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Омогућавају блокирање уметања софтвера независног произвођача</translation>
 <translation id="1504431521196476721">Даљинска потврда</translation>
+<translation id="1507382822467487898">
+          Конфигуришу која се MAC адреса (адреса за контролу приступа медијима) користи када је базна станица повезана са уређајем.
+
+          Када је базна станица повезана са неким моделима уређаја, наменска MAC адреса уређаја на базној станици се подразумевано користи за идентификацију уређаја на етернету. Ове смернице омогућавају администратору да промени извор MAC адресе док је уређај на базној станици.
+
+          Ако изаберете „DeviceDockMacAddress“ или не подесите смернице, користи се наменска MAC адреса уређаја на базној станици.
+
+          Ако изаберете „DeviceNicMacAddress“, користи се MAC адреса NIC-а (контролера мрежног интерфејса).
+
+          Ако изаберете „DockNicMacAddress“, користи се MAC адреса NIC-а базне станице.
+
+          Корисник не може да мења ово подешавање.</translation>
 <translation id="1507957856411744193">Ако подесите ове смернице на Тачно, <ph name="PRODUCT_NAME" /> ће се повезивати са уређајима за пребацивање на свим IP адресама, а не само на приватним RFC1918/RFC4193 адресама.
 
           Ако подесите ове смернице на Нетачно, <ph name="PRODUCT_NAME" /> ће се повезивати са уређајима за пребацивање само на приватним RFC1918/RFC4193 адресама.
@@ -726,6 +746,17 @@
 <translation id="2303795211377219696">Омогућавају Аутоматско попуњавање за кредитне картице</translation>
 <translation id="2309390639296060546">Подразумевано подешавање географског лоцирања</translation>
 <translation id="2327252517317514801">Дефинишу домене којима је дозвољено да приступају G Suite-у</translation>
+<translation id="2356878440219553005">Наводе смернице за управљање напајањем које се тичу режима пуњења батерије.
+
+          Динамички контролишу пуњење батерије ради што мањег хабања батерије услед захтевног рада и продужавају њено трајање.
+
+          Ако изаберете прилагођени режим пуњења батерије, DeviceBatteryChargeCustomStartCharging и DeviceBatteryChargeCustomStopCharging морају да буду наведени.
+
+          Ако подесите ове смернице, режим пуњења батерије се примењује ако је подржан на уређају.
+
+          Ако не подесите ове смернице и оне су подржане на уређају, примењује се стандардни режим пуњења батерије и корисник не може да га промени.
+
+          Напомена: <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> замењује ове смернице ако се наведе прва вредност.</translation>
 <translation id="237494535617297575">Омогућава вам да подесите листу образаца URL адреса који наводе сајтове којима је дозвољено да приказују обавештења.
 
           Ако ове смернице нису подешене, глобална подразумевана вредност биће коришћена за све сајтове из смерница „DefaultNotificationsSetting“, уколико су оне подешене, а ако нису, из личне конфигурације корисника.</translation>
@@ -763,6 +794,7 @@
 
       Ако су ове смернице подешене на Нетачно, аутоматско пријављивање без кашњења (ако је конфигурисано) не може да се заобиђе.</translation>
 <translation id="2454228136871844693">Оптимизуј за стабилност.</translation>
+<translation id="2463034609187171371">Омогући DHE пакете за шифровање у TLS-у</translation>
 <translation id="2463365186486772703">Локалитет апликације</translation>
 <translation id="2466131534462628618">Потврда аутентичности на улазном порталу занемарује прокси</translation>
 <translation id="2482676533225429905">Изворна размена порука</translation>
@@ -942,6 +974,7 @@
 <translation id="2769952903507981510">Конфигурисање обавезног имена домена за хостове са даљинским приступом</translation>
 <translation id="2787173078141616821">Шаљи информације о статусу Android-а</translation>
 <translation id="2799297758492717491">Дозвољавају аутоматско пуштање медија на белој листи URL образаца</translation>
+<translation id="2801155097555584385">Подеси прилагођени почетак пуњења батерије у процентима</translation>
 <translation id="2801230735743888564">Омогућавају корисницима да играју скривену игру са диносауром када је уређај офлајн.
 
       Ако подесите ове смернице на Нетачно, корисници неће моћи да играју скривену игру са диносауром када је уређај офлајн. Ако изабере Тачно за ово подешавање, корисници ће моћи да играју игру са диносауром. Ако не подесите ове смернице, корисници неће моћи да играју скривену игру са диносауром на регистрованом Chrome ОС-у, али ће моћи да је играју у неким другим околностима.</translation>
@@ -1015,6 +1048,7 @@
       Ако онемогућите ово подешавање или не подесите вредност, Преглед пре штампања ће изабрати последњи коришћени штампач као подразумевану дестинацију.
 
       Ако омогућите ово подешавање, Преглед пре штампања ће изабрати подразумевани штампач оперативног система као подразумевану дестинацију.</translation>
+<translation id="285627849510728211">Подеси конфигурацију напредног режима пуњења батерије по данима</translation>
 <translation id="2856674246949497058">Врати на циљану верзију и остани на њој ако је верзија ОС-а новија од циљане. Обави Powerwash током процеса.</translation>
 <translation id="2872961005593481000">Искључи</translation>
 <translation id="2873651257716068683">Замењују подразумевану величину странице за штампање. Ако је величина странице недоступна, ове смернице се занемарују.</translation>
@@ -1149,12 +1183,26 @@
 <translation id="3072045631333522102">Чувар екрана који ће се користити на екрану за пријављивање у режиму малопродаје</translation>
 <translation id="3072847235228302527">Подешавање Услова коришћења услуге за локални налог на уређају</translation>
 <translation id="3077183141551274418">Омогућавају или онемогућавају животни циклус картица</translation>
+<translation id="3079417254871857650">Наводе радњу која треба да се предузме када је матични директоријум корисника направљен помоћу шифровања ecryptfs.
+
+      Ако подесите ове смернице на „DisallowArc“, онемогућавате Android апликације за корисника и прелазак са шифровања ecryptfs на ext4 не може да се обави. Покретање Android апликација се не спречава када је матични директоријум већ шифрован системом ext4.
+
+      Ако подесите ове смернице на „Migrate“, матични директоријуми шифровани системом ecryptfs ће бити аутоматски пренети на шифровање ext4 при пријављивању без приказивања упита за сагласност корисника.
+
+      Ако подесите ове смернице на „Wipe“, матични директоријуми шифровани системом ecryptfs се бришу при пријављивању и уместо њих се праве нови матични директоријуми шифровани системом ext4. Упозорење: Овим се уклањају локални подаци корисника.
+
+      Ако подесите ове смернице на „MinimalMigrate“, матични директоријуми шифровани системом ecryptfs ће бити избрисани при пријављивању и уместо њих ће бити направљени нови матични директоријуми шифровани системом ext4. Али, покушаћемо да задржимо токене за пријављивање да корисник не би морао поново да се пријављује. Упозорење: Овим се уклањају локални подаци корисника.
+
+      Ако подесите ове смернице на опцију која више није подржана („AskUser“ или „AskForEcryptfsArcUsers“), поступа се као да сте уместо тога изабрали „Migrate“.
+
+      Ове смернице се не примењују на кориснике киоска. Ако не подесите ове смернице, уређај се понаша као да сте изабрали „DisallowArc“.</translation>
 <translation id="3086995894968271156">Конфигуришите Cast пријемник у <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Омогућавају вам да подесите листу URL образаца који наводе сајтове којима је дозвољено да приказују слике.
 
           Ако не подесите ове смернице, за све сајтове се користи глобална подразумевана вредност из смерница „DefaultImagesSetting“, ако су подешене, а ако нису, користи се она из личне конфигурације корисника.
 
           Имајте на уму да су претходно ове смернице биле грешком омогућене на Android-у, али да ова функционалност никад није била у потпуности подржана на Android-у.</translation>
+<translation id="3091832372132789233">Пуни батерију за уређаје који су примарно повезани са спољним извором напајања.</translation>
 <translation id="3096595567015595053">Листа омогућених додатних компоненти</translation>
 <translation id="3101501961102569744">Изаберите како се наводе подешавања прокси сервера</translation>
 <translation id="3101709781009526431">Датум и време</translation>
@@ -1180,6 +1228,7 @@
           Ако онемогућите ово подешавање, <ph name="PRODUCT_NAME" /> ће користити само хостове за изворну размену порука инсталиране на нивоу система.
 
           Ако не подесите ово подешавање, <ph name="PRODUCT_NAME" /> ће дозволити коришћење хостова за изворну размену порука на нивоу корисника.</translation>
+<translation id="3177802893484440532">Тражи онлајн OCSP/CRL провере за локална поуздана полазишта</translation>
 <translation id="3185009703220253572">од верзије <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Android апликације не могу да добију приступ шифрама за предузећа. Ове смернице немају никакав утицај на њих.</translation>
 <translation id="3205825995289802549">Увећај први прозор прегледача при првом покретању</translation>
@@ -1193,6 +1242,7 @@
 <translation id="3220624000494482595">Ако је киоск апликација Android апликација, неће имати контролу над верзијом оперативног система <ph name="PRODUCT_OS_NAME" />, чак и ако се ове смернице подесе на <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Обрасци URL адреса који дозвољавају инсталирање додатака, апликација и скрипти корисника са</translation>
 <translation id="3240609035816615922">Смернице за приступ конфигурацији штампача.</translation>
+<translation id="3240655340884151271">Уграђена MAC адреса NIC-а базне станице</translation>
 <translation id="3243309373265599239">Наводе период без корисничких уноса после кога се екран затамњује када је уређај прикључен на струју.
 
           Када су ове смернице подешене на вредност већу од нуле, оне наводе период у коме корисник треба да буде неактиван да би <ph name="PRODUCT_OS_NAME" /> затамнио екран.
@@ -1214,6 +1264,12 @@
       Ако је ово подешавање омогућено или није конфигурисано, корисници могу да омогуће прокси Cloud штампања потврдом аутентичности помоћу Google налога.
 
       Ако је ово подешавање онемогућено, корисници не могу да омогуће прокси, а рачунар неће моћи да дели штампаче са услугом <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Омогућавају страницу на chrome://password-change која SAML корисницима омогућава да мењају SAML лозинке током сесије, што обезбеђује да SAML лозинка и лозинка за закључавање екрана уређаја остану синхронизоване.
+
+      Ове смернице омогућавају и обавештења која SAML кориснике упозоравају о томе да им SAML лозинке ускоро истичу да би то одмах могли да реше променом лозинке током сесије.
+      Али, ова обавештења се приказују само ако SAML добављач идентитета шаље уређају информације о истеку лозинке током SAML тока пријављивања.
+
+      Ако подесите ове смернице, корисник не може да их промени нити замени.</translation>
 <translation id="3322771899429619102">Омогућава вам да подесите листу образаца URL-ова који наводе сајтове којима је дозвољено да користе генерисање шифара. Ако се URL образац налази у смерницама „KeygenBlockedForUrls“, то замењује ове изузетке.
 
           Ако ове смернице нису подешене, за све сајтове ће се користити глобална подразумевана вредност из смерница „DefaultKeygenSetting“ уколико су оне подешене, а ако нису, из личне конфигурације корисника.</translation>
@@ -1299,6 +1355,7 @@
 
           Ако се ове смернице поставе на вредност false или се не поставе, кашњења у управљању напајањем и ограничење дужине сесије се покрећу одмах по покретању сесије.</translation>
 <translation id="3478024346823118645">Брисање корисничких података при одјављивању</translation>
+<translation id="3480961938508521469">У потпуности напуните батерију стандардном брзином.</translation>
 <translation id="348495353354674884">Омогући виртуелну тастатуру</translation>
 <translation id="3487623755010328395">
         Ако подесите ове смернице, <ph name="PRODUCT_NAME" /> ће пробати да се региструје и примени повезане смернице за клауд за све профиле.
@@ -1338,6 +1395,8 @@
 <translation id="3547954654003013442">Подешавања проксија</translation>
 <translation id="355118380775352753">Веб-сајтови који се отварају у алтернативном прегледачу</translation>
 <translation id="3554984410014457319">Дозвољава Google помоћнику да слуша и чека фразу за активирање гласовне претраге</translation>
+<translation id="356579196325389849">Корисници могу да конфигуришу канал издања Chrome ОС-а</translation>
+<translation id="3575011234198230041">HTTP потврда идентитета</translation>
 <translation id="3577251398714997599">Подешавање огласа за сајтове са огласима који ометају</translation>
 <translation id="357917253161699596">Омогући корисницима да управљају корисничким сертификатима</translation>
 <translation id="3583230441447348508">Наводе листу унапред конфигурисаних дељења датотека на мрежи.
@@ -1368,6 +1427,7 @@
 
         Те смернице се користе за регистрацију на клауд за опсег уређаја на рачунарима и у систему Windows могу да их подесе Регистар или Објекат смерница групе, plist u систему Mac и JSON датотека смерница у систему Linux.</translation>
 <translation id="3660562134618097814">Преноси SAML IdP колачиће током пријављивања</translation>
+<translation id="3668151900457104753">Деинсталирај додатке на црној листи</translation>
 <translation id="3701121231485832347">Контролишу подешавања за <ph name="PRODUCT_OS_NAME" /> уређаје којима управља <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Поље са једном линијом је застарело и биће уклоњено. Почните да користите вишелинијски текстуални оквир у наставку.)</translation>
 <translation id="3709266154059827597">Конфигуриши црну листу за инсталацију додатака</translation>
@@ -1449,6 +1509,16 @@
           Ако не подесите ове смернице, тастатура на екрану ће у почетку бити онемогућена, али корисник може у било ком тренутку да је омогући.</translation>
 <translation id="382476126209906314">Конфигурисање TalkGadget префикса за хостове са даљинским приступом</translation>
 <translation id="3824972131618513497">Контролишу подешавања за управљање напајањем и рестартовање.</translation>
+<translation id="3826475866868158882">Google услуге локације су омогућене</translation>
+<translation id="3831054243924627613">Ове смернице контролишу почетно стање Android резервних копија и враћања.
+
+      Када не конфигуришете ове смернице или их подесите на <ph name="BR_DISABLED" />, Android резервне копије и враћање су у почетку онемогућени.
+
+      Када подесите ове смернице на <ph name="BR_ENABLED" />, Android резервне копије и враћање су у почетку омогућени.
+
+      Када подесите ове смернице на <ph name="BR_UNDER_USER_CONTROL" />, од корисника се тражи да изабере да ли ће користити Android резервне копије и враћање. Ако корисник омогући резервне копије и враћање, подаци Android апликација се отпремају на Android сервере за прављење резервних копија и враћају са њих после поновне инсталације компатибилних апликација.
+
+      Имајте на уму да ове смернице контролишу стање Android резервних копија и враћања само током почетног подешавања. Корисник после може да отвори Android подешавања и укључи/искључи Android резервне копије и враћање.</translation>
 <translation id="3831376478177535007">Када омогућите ово подешавање, <ph name="PRODUCT_NAME" /> дозвољава да се сертификати застарелих радњи јавног кључа корпорације Symantec сматрају поузданим ако прођу друге валидације и ако су део ланца са познатим CA сертификатом.
 
       Имајте на уму да ове смернице зависе од тога да ли оперативни систем још увек препознаје сертификате из застареле инфраструктуре корпорације Symantec. Ако ажурирање ОС-а промени начин на који се ОС односи према таквим сертификатима, ове смернице више не важе. Штавише, ове смернице су замишљене као привремено заобилазно решење како би предузећа имала више времена да пређу са застарелих Symantec сертификата на нове сертификате. Ове смернице ће бити уклоњене 1. јануара 2019. или око тог датума.
@@ -1532,6 +1602,15 @@
 
           Ако нису подешене или су подешене на Нетачно, корисници ће моћи да преносе датотеке на Google диск.</translation>
 <translation id="3915395663995367577">URL адреса до .pac датотеке проксија</translation>
+<translation id="3920892052017026701">Подешавају прилагођени почетак пуњења батерије у процентима.
+
+          Батерија почиње да се пуни када се истроши прилагођена вредност за почетак пуњења батерије.
+
+          DeviceBatteryChargeCustomStartCharging мора да буде мање од DeviceBatteryChargeCustomStopCharging.
+
+          Ове смернице се користе само ако DeviceBatteryChargeMode подесите на „прилагођено“.
+
+          Ако не конфигуришете или не подесите ове смернице, примењује се стандардни режим пуњења батерије.</translation>
 <translation id="3925377537407648234">Подешавају резолуцију екрана и фактор размере</translation>
 <translation id="3939893074578116847">Шаљу мрежне пакете на сервер за управљање ради надгледања онлајн статуса како би омогућиле
       серверу да открије да ли је уређај офлајн.
@@ -1661,6 +1740,7 @@
 <translation id="4150201353443180367">Екран</translation>
 <translation id="4157003184375321727">Пријављивање верзије ОС-а и фирмвера</translation>
 <translation id="4157594634940419685">Дозвољавају приступ подразумеваним CUPS штампачима</translation>
+<translation id="4160962198980004898">Извор MAC адресе уређаја када је на базној станици</translation>
 <translation id="4163705126749612234">Конфигуришу обавезна имена домена клијента која ће бити наметнута клијентима за даљински приступ и онемогућавају да их корисници мењају.
 
           Ако омогућите ово подешавање, само клијенти са једног од наведених домена могу да се повезују са хостом.
@@ -1738,6 +1818,7 @@
       Имајте на уму да то што смернице садрже ИД апликације не мора нужно да значи да ће корисник моћи да омогући апликацију као апликацију за прављење белешки на закључаном екрану – на пример, у Chrome верзији 61, скуп доступних апликација додатно ограничава платформа.
 
       Ако не подесите ове смернице, неће бити ограничења за скуп апликација које корисник може да омогући на закључаном екрану, а које намећу смернице.</translation>
+<translation id="4313767483634435271">Наменска MAC адреса уређаја на базној станици</translation>
 <translation id="4322842393287974810">Омогућава да киоск апликација која је аутоматски покренута без кашњења контролише верзију <ph name="PRODUCT_OS_NAME" />-а</translation>
 <translation id="4325690621216251241">Додавање дугмета за одјављивање на системску палету</translation>
 <translation id="4332177773549877617">Евидентирају догађаје инсталирања Android апликација</translation>
@@ -1769,6 +1850,7 @@
 <translation id="4360826270668210664">Ако подесите ове смернице, хост са даљинским приступом ће захтевати да клијенти за потврду идентитета добију токен за потврду идентитета са овог URL-а да би могли да се повежу. Морате да користите ове смернице заједно са смерницама RemoteAccessHostTokenValidationUrl.
 
           Ова функција је тренутно онемогућена на серверу.</translation>
+<translation id="4363057787588706121">Дозвољавају обједињавање смерница са листе из различитих извора</translation>
 <translation id="436581050240847513">Пријављивање мрежних интерфејса уређаја</translation>
 <translation id="4372704773119750918">Не дозвољавај кориснику верзије за предузећа да учествује у режиму Више профила (као примарни или секундарни корисник)</translation>
 <translation id="4377599627073874279">Дозволи свим сајтовима да приказују све слике</translation>
@@ -1942,6 +2024,7 @@
 <translation id="4826326557828204741">Радња коју треба предузети када истекне време до мировања док се користи батерија</translation>
 <translation id="4832852360828533362">Пријављивање корисика и уређаја</translation>
 <translation id="4834526953114077364">Корисници који нису скоро били активни и који се нису пријавили у периоду од последња 3 месеца се уклањају док се не ослободи довољно простора</translation>
+<translation id="4835622243021053389">Омогући NTLMv2 потврду идентитета.</translation>
 <translation id="4858735034935305895">Омогући режим целог екрана</translation>
 <translation id="4861767323695239729">Конфигуриши дозвољене методе уноса у корисничкој сесији</translation>
 <translation id="487460824085252184">Преноси аутоматски, не тражи сагласност од корисника.</translation>
@@ -2061,6 +2144,11 @@
 
       За разлику од смерница <ph name="URL_LIST_POLICY_NAME" />, правила важе у оба смера. То јест, када је додатни модул за Internet Explorer присутан и омогућен, он такође контролише да ли <ph name="IE_PRODUCT_NAME" /> треба да отвара ове URL-ове у <ph name="PRODUCT_NAME" />-у.</translation>
 <translation id="5124368997194894978">Омогућавају покретање при прикључивању на струју (наизменична струја)</translation>
+<translation id="5131211790949066746">Омогућавају обједињавање смерница <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> и <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> у листу за инсталирање додатака.
+
+      Ако омогућите ово подешавање, вредности из смерница за платформу уређаја, смерница за клауд уређаја и смерница за корисничку платформу обједињују се у једну листу и користе се као целина уместо да се користе само вредности из једног извора са највишим приоритетом.
+
+      Ако онемогућите ово подешавање или га не поставите, користе се само уноси са листе из извора са највишим приоритетом, а сви остали извори приказују се као сукоби, али се занемарују.</translation>
 <translation id="5141670636904227950">Подешавање подразумеваног типа лупе омогућеног на екрану за пријављивање</translation>
 <translation id="5142301680741828703">Увек приказуј следеће обрасце URL адреса у прегледачу <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Омогућава вам да одредите додатне параметре који се користе када <ph name="PRODUCT_FRAME_NAME" /> покреће <ph name="PRODUCT_NAME" />.
@@ -2179,6 +2267,7 @@
 
       Ако не подесите ове смернице или их подесите на празан низ или неважећи опсег портова, WebRTC може да користи било који доступни локални UDP порт.</translation>
 <translation id="5290940294294002042">Наведи листу додатних компоненти које корисник може да омогући или онемогући</translation>
+<translation id="5306186200045823863">Сматрај поузданом застарелу кључну јавну инфраструктуру корпорације Symantec</translation>
 <translation id="5307432759655324440">Доступност режима без архивирања</translation>
 <translation id="5318185076587284965">Омогући да хост за даљински приступ користи сервере за прослеђивање</translation>
 <translation id="5323128137188992869">Омогућавају пребацивање садржаја на уређај помоћу производа <ph name="PRODUCT_NAME" />.
@@ -2278,6 +2367,7 @@
       Ако су правила контрадикторна, <ph name="PRODUCT_NAME" /> користи најконкретније правило.</translation>
 <translation id="5475361623548884387">Омогући штампање</translation>
 <translation id="547601067149622666">Не дозвољава огласе на сајтовима са огласима који ометају</translation>
+<translation id="5483065054530244863">Дозволи потписане SHA-1 сертификате које издају локална поуздана полазишта</translation>
 <translation id="5483777239978559943">Ове смернице су застареле. Користите <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> да бисте контролисали доступност додатне компоненте Flash, а <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> да бисте контролисали да ли ће се интегрисани PDF прегледач користити за отварање PDF датотека.
 
       Наводе листу додатних компоненти које корисник може да омогући или онемогући у <ph name="PRODUCT_NAME" />-у. Џокерски знакови „*“ и „?“ могу да се користе уместо низова насумичних знакова. Знак „*“ може да се користи уместо насумичног броја знакова, а „?“ замењује појединачни опционални знак, тј. може да се користи уместо нула знакова или једног знака. Излазни знак је „\“, па можете да ставите „\“ испред стварних знакова „*“, „?“ или „\“ да бисте их заменили.
@@ -2392,6 +2482,17 @@
           Ако омогућите ове смернице или их не подесите, корисници могу да виде лозинке у јасном тексту у менаџеру лозинки.</translation>
 <translation id="5620392548325769024">Омогућавају приказивање странице за добродошлицу при првом покретању прегледача после надоградње ОС-а</translation>
 <translation id="5630352020869108293">Врати последњу сесију</translation>
+<translation id="5643906875497889108">Контролишу који типови апликација/додатака могу да се инсталирају и ограничавају приступ времену извршавања.
+
+          Ово подешавање ставља на белу листу дозвољене типове додатака/апликација који могу да се инсталирају у <ph name="PRODUCT_NAME" /> и хостове са којима могу да остварују интеракцију. Вредност је листа стрингова, од којих сваки треба да буде нешто од следећег: „extension“, „theme“, „user_script“, „hosted_app“, „legacy_packaged_app“, „platform_app“. Више информација о овим типовима потражите у документацији о <ph name="PRODUCT_NAME" /> додацима.
+
+          Имајте на уму да ове смернице утичу и на додатке и апликације чију инсталацију намеће ExtensionInstallForcelist.
+
+          Ако конфигуришете ово подешавање, додаци/апликације који су типа који није на листи неће бити инсталирани.
+
+          Ако не конфигуришете ово подешавање, не примењују се ограничења у вези са прихватљивим типовима додатака/апликација.
+
+          Пре верзије 75 коришћење више ИД-ова додатака раздвојених зарезом није подржано и биће прескочено. Остатак смерница се и даље примењује.</translation>
 <translation id="5645779841392247734">Дозволи колачиће на овим сајтовима</translation>
 <translation id="5689430183304951538">Подразумевана величина странице за штампање</translation>
 <translation id="5693469654327063861">Омогући пренос података</translation>
@@ -2431,6 +2532,7 @@
 <translation id="5765780083710877561">Опис:</translation>
 <translation id="5770738360657678870">Програмерски канал (можда је нестабилан)</translation>
 <translation id="5774856474228476867">URL адреса претраге подразумеваног добављача претраге</translation>
+<translation id="5775235485119094648">Пуни батерију док је у подешеном опсегу.</translation>
 <translation id="5776485039795852974">Питај сваки пут када сајт жели да приказује обавештења на рачунару</translation>
 <translation id="5781412041848781654">Наводe која GSSAPI библиотека треба да се користи за HTTP потврду аутентичности. Можете да подесите само назив библиотеке или целу путању.
 
@@ -2498,6 +2600,7 @@
 <translation id="5893553533827140852">Ако је ово подешавање омогућено, захтеви за gnubby потврду аутентичности ће се слати преко прокси везе са удаљеним хостом.
 
           Ако је ово подешавање онемогућено или није конфигурисано, захтеви за gnubby потврду аутентичности се неће слати преко проксија.</translation>
+<translation id="5897913798715600338">Пуните батерију помоћу технологије брзог пуњења.</translation>
 <translation id="5898486742390981550">Ако је више корисника пријављено, само главни корисник може да користи Android апликације.</translation>
 <translation id="5900196529149231477">
       Ове смернице се односе на екран за пријављивање. Погледајте и смернице <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> које се односе на корисничку сесију. Препоручује се да обе смернице подесите на исту вредност. Ако се вредности не подударају, може да дође до одлагања када улазите у корисничку сесију док се примењује вредност наведена у смерницама за корисника.
@@ -2506,12 +2609,14 @@
       Ако не конфигуришете смернице, за екран за пријављивање се користе подешавања изолације сајтова подразумевана за ту платформу.
       </translation>
 <translation id="5901427587865226597">Само обострано штампање</translation>
+<translation id="5905473632148429217">Омогући онлајн OCSP/CRL провере</translation>
 <translation id="5906199912611534122">Дозвољавају омогућавање или онемогућавање ограничавања мреже.
       Ово важи за све кориснике и све интерфејсе на уређају. Када подесите смернице,
       ограничавање траје све док се смернице не промене да би га онемогућиле.
 
       Ако их подесите на „нетачно“, нема ограничавања.
       Ако их подесите на „тачно“, систем се ограничава да би се постигле дате стопе отпремања и преузимања (у килобитима по секунди).</translation>
+<translation id="591088232153082363">Батерија са прилагодљивим пуњењем на основу шаблона потрошње батерије.</translation>
 <translation id="5921713479449475707">Дозволи преузимања аутоматских ажурирања преко HTTP-а</translation>
 <translation id="5921888683953999946">Подешавање подразумеваног статуса функције приступачности за велики курсор на екрану за пријављивање.
 
@@ -2533,6 +2638,7 @@
 <translation id="5950205771952201658">Пошто онлајн провере опозива са софтверским грешкама не пружају никакве стварне безбедносне погодности, оне су подразумевано онемогућене у верзији 19 и новијим верзијама <ph name="PRODUCT_NAME" />-а. Ако подесите ове смернице на Тачно, претходно понашање се враћа и онлајн OCSP/CRL провере ће бити обављене.
 
       Ако не подесите смернице или их подесите на Нетачно, <ph name="PRODUCT_NAME" /> неће обављати онлајн провере опозива у <ph name="PRODUCT_NAME" />-у 19 и новијим верзијама.</translation>
+<translation id="5961137303188584693">MAC адреса уграђеног NIC-а уређаја</translation>
 <translation id="5966615072639944554">Додаци којима је дозвољено да користе API за даљинску потврду</translation>
 <translation id="5983708779415553259">Подразумевано понашање за сајтове који се не налазе ни у једном пакету садржаја</translation>
 <translation id="5997543603646547632">Подразумевано коришћење 24-часовног часовника</translation>
@@ -2623,6 +2729,17 @@
 <translation id="6111936128861357925">Омогући скривену игру са диносауром</translation>
 <translation id="6114416803310251055">застарело</translation>
 <translation id="6133088669883929098">Дозволи свим сајтовима да користе генерисање шифара</translation>
+<translation id="6136537398661737682">Ове смернице контролишу почетно стање Google услуга локације.
+
+      Када не конфигуришете ове смернице или их подесите на <ph name="GLS_DISABLED" />, Google услуге локације су у почетку онемогућене.
+
+      Када подесите ове смернице на <ph name="GLS_ENABLED" />, Google услуге локације су у почетку омогућене.
+
+      Када подесите ове смернице на <ph name="GLS_UNDER_USER_CONTROL" />, од корисника се тражи да изабере да ли ће користити Google услуге локације. Овако се Android апликацијама дозвољава да користе услуге за слање упита о локацији уређаја и омогућава се слање анонимних података о локацији Google-у.
+
+      Имајте на уму да ове смернице контролишу стање Google услуга локације само током почетног подешавања. Корисник после може да отвори Android подешавања и укључи/искључи Google услуге локације.
+
+      Имајте на уму да се ове смернице игноришу и да су Google услуге локације увек онемогућене ако смернице <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> подесите на <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">Увек користи грубо откривање временске зоне</translation>
 <translation id="6145799962557135888">Омогућава вам да подесите листу образаца URL адреса који наводе сајтове којима је дозвољено да покрећу JavaScript.
 
@@ -2698,9 +2815,17 @@
       Ако сте их онемогућили, подаци за аутоматско попуњавање образаца се не увозе.
 
       Ако их нисте подесили, корисник ће можда бити упитан да ли жели да их увезе или се увоз аутоматски одвија.</translation>
+<translation id="6221175752766085998">Дозволи сертификате које издају локална поуздана полазишта без додатка subjectAlternativeName</translation>
 <translation id="6224304369267200483">URL-ови/домени су аутоматски дозволили директно атестирање безбедносног кључа</translation>
 <translation id="6233173491898450179">Подеси директоријум за преузимање</translation>
 <translation id="6244210204546589761">URL адресе које се отварају при покретању</translation>
+<translation id="6255387031094435995">Омогућава да се изабране смернице обједине ако потичу из различитих извора и имају исте опсеге и ниво.
+
+        Ако се смернице налазе на листи и постоји сукоб између два извора, ако имају исте опсеге и ниво, вредности се обједињују на новој листи смерница.
+
+        Ако се смернице налазе на листи и постоји сукоб између два извора, али и између различитих опсега и/или нивоа, примењују се смернице са највишим приоритетом.
+
+        Ако се смернице не налазе на листи и постоји сукоб између извора, опсега и/или нивоа, примењују се смернице са највишим приоритетом.</translation>
 <translation id="6258193603492867656">Наводи да ли генерисани Kerberos SPN треба да обухвати нестандардни порт. Ако омогућите ово подешавање, а унесе се нестандардни порт (тј. порт који није 80 или 443), биће увршћен у генерисани Kerberos SPN. Ако онемогућите ово подешавање или га не подесите, генерисани Kerberos SPN неће обухватити порт у било ком случају.</translation>
 <translation id="6261643884958898336">Пријављују информације за идентификацију рачунара</translation>
 <translation id="6281043242780654992">Конфигуришу смернице за изворну размену порука. Хостови за изворну размену порука који су на црној листи неће бити дозвољени ако не буду стављени на белу листу.</translation>
@@ -2898,6 +3023,7 @@
 <translation id="6757438632136860443">Омогућавају вам да подесите листу образаца URL-ова који наводе сајтове којима је дозвољено да покрећу додатну компоненту <ph name="FLASH_PLUGIN_NAME" />.
 
           Ако не подесите ове смернице, за све сајтове ћемо користити глобалну подразумевану вредност или из смерница „DefaultPluginsSetting“ ако су оне подешене или, ако нису, из личне конфигурације корисника.</translation>
+<translation id="6757613329154374267">Резервне копије и враћање су омогућени</translation>
 <translation id="6762235610019366960">Омогућавају вам да контролишете презентацију промотивног и/или образовног садржаја преко целе картице у производу <ph name="PRODUCT_NAME" />.
 
       Ако их не конфигуришете или не омогућите (подесите на Тачно), <ph name="PRODUCT_NAME" /> ће моћи да приказује корисницима садржај преко целе картице ради пружања информација о производу.
@@ -2920,6 +3046,7 @@
       Стринг може да садржи променљиве ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR} и ${MACHINE_NAME} које ће бити замењене вредностима на уређају пре коришћења као име хоста. Замена која се тако добија би требало да буде важеће име хоста (у складу са: RFC 1035, одељак 3.1).
 
       Ако не подесите ове смернице или ако вредност после замене није важеће име хоста, ниједно име хоста неће бити подешено у DHCP захтеву. </translation>
+<translation id="6833988859168635883">Покретање, почетна страница и страница нове картице</translation>
 <translation id="6835883744948188639">Приказуј кориснику упит који се понавља у коме је наведено да се поновно покретање препоручује</translation>
 <translation id="6837480141980366278">Контролишу да ли се уграђени DNS клијент користи у <ph name="PRODUCT_NAME" />-у.
 
@@ -3031,6 +3158,17 @@
 
       Непосредно пре затамњења екрана модел паметног затамњивања процењује да ли затамњење екрана треба одложити. Ако модел паметног затамњивања одложи затамњење екрана, продужава се време до затамњења. У том случају, одлагање искључивања екрана, закључавања екрана и неактивности екрана прилагођава се да би период одлагања затамњења екрана остао исти као што је првобитно било конфигурисано.
       Ако се ове смернице подесе на „Тачно“ или се не подесе, модел паметног затамњивања је омогућен и може да продужи време до затамњења екрана. Ако се ове смернице подесе на „Нетачно“, модел паметног затамњивања не утиче на затамњење екрана.</translation>
+<translation id="6967394885063085697">Омогућавају смернице за управљање напајањем које се тичу напредног режима пуњења батерије.
+
+          Напредни режим пуњења батерије омогућава кориснику да побољша стање батерије. У напредном режиму пуњења систем током периода неактивности користи стандардни алгоритам пуњења и друге технике да би побољшао стање батерије. Током периода рада, користи се експресно пуњење. Ово експресно пуњење омогућава брже пуњење батерије, па она брже може у потпуности да се напуни. За сваки дан се наводи период када се систем највише користи у виду времена почетка и трајања.
+
+          Ако ове смернице подесите на Тачно и ако подесите DeviceAdvancedBatteryChargeModeDayConfig, напредни режим пуњења батерије је увек омогућен ако је подржан на уређају.
+
+          Ако ове смернице подесите на Нетачно, напредни режим пуњења батерије је увек онемогућен.
+
+          Ако подесите ове смернице, корисници не могу да их измене нити замене.
+
+          Ако не подесите ове смернице, напредни режим пуњења батерије је онемогућен и корисник не може да га омогући.</translation>
 <translation id="6972540544240464302">Бирају конфигурацију планера задатака</translation>
 <translation id="6979158407327259162">Google диск</translation>
 <translation id="6994082778848658360">Прецизира како уграђени хардвер безбедносног елемента може да се користи да пружи двоструку потврду идентитета ако је компатибилан са овом функцијом. Дугме за напајање уређаја се користи за утврђивање физичког присуства корисника.
@@ -3108,6 +3246,17 @@
       Ако омогућите или онемогућите ово подешавање, корисници неће моћи да га промене или замене.
 
       Ако не подесите ове смернице, корисник може да изабере да ли жели да се од њега тражи лозинка за откључавање уређаја или не.</translation>
+<translation id="7107148737865880402">Омогућавају смернице за управљање напајањем које подразумевају дељење напајања преко USB-а.
+
+          Одређени уређаји имају посебан USB порт означен иконом муње или батерије који може да се користи за пуњење уређаја, попут мобилног телефона, помоћу батерије система. Ове смернице утичу на понашање овог порта при пуњењу док је систем у стању спавања и док је искључен. Ове смернице не утичу на друге USB портове и понашање при пуњењу док је систем у будном стању.
+
+          Када је систем у будном стању, USB порт увек обезбеђује напајање.
+
+          Када је систем у стању спавања, ако ове смернице подесите на Тачно, напајање се обезбеђује USB порту када је уређај укључен у зидну утичницу или ако је ниво напуњености батерије изнад 50%. У супротном, напајање се не обезбеђује.
+
+          Када је систем искључен, ако ове смернице подесите на Тачно, напајање се обезбеђује USB порту када је уређај укључен у зидну утичницу. У супротном, напајање се не обезбеђује.
+
+          Ако не подесите ове смернице, оне су омогућене и корисник не може да их онемогући.</translation>
 <translation id="7115494316187648452">Одређују да ли се при пријављивању у ОС започиње процес у производу <ph name="PRODUCT_NAME" /> који се наставља и када се затвори последњи прозор прегледача, што омогућава позадинским апликацијама и актуелној сесији прегледања да остану активне, укључујући било какве колачиће сесија. Процес у позадини приказује икону на системској палети и увек можете да га затворите одатле.
 
       Ако подесите ове смернице на Тачно, позадински режим се омогућава и корисник не може да га контролише у подешавањима прегледача.
@@ -3156,6 +3305,7 @@
           Ако се ове смернице подесе на Тачно или се не подесе, спречавање закључавања екрана се примењује на управљање напајањем ако се AllowWakeLocks не подеси на Нетачно.
 
           Ако се ове смернице подесе на Нетачно, захтеви за спречавање закључавања екрана се спуштају на ниво системских захтева за спречавање закључавања екрана.</translation>
+<translation id="7177857088692019405">Брзо откључавање</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Типови веза на којима је дозвољено преузимање</translation>
 <translation id="7194407337890404814">Назив подразумеваног добављача претраге</translation>
@@ -3219,6 +3369,7 @@
 <translation id="7273823081800296768">Ако је ово подешавање омогућено или није конфигурисано, корисници могу да омогуће упаривање клијената и хостова у тренутку повезивања, што елиминише потребу да се сваки пут уноси PIN.
 
           Ако је ово подешавање онемогућено, ова функција неће бити доступна.</translation>
+<translation id="7274077256421167535">Омогући дељење напајања преко USB-а</translation>
 <translation id="7275334191706090484">Обележивачи којим се управља</translation>
 <translation id="7291084543582732020">Ако омогућите ово подешавање, корисницима ће бити дозвољено да користе Smart Lock ако испуњавају услове за ову функцију.
 
@@ -3232,6 +3383,7 @@
 
           Ове смернице се поштују само ако су омогућене смернице „DefaultSearchProviderEnabled“.</translation>
 <translation id="7302043767260300182">Време до закључавања екрана када је уређај прикључен на струју</translation>
+<translation id="7305262223970835999">SAML корисницима омогућавају страницу за промену лозинке током сесије.</translation>
 <translation id="7311458740754205918">Ако подесите ове смернице на Тачно или их не подесите, страница нове картице ће можда приказивати предлоге за садржај на основу корисникове историје прегледања, интересовања или локације.
 
       Ако подесите ове смернице на Нетачно, аутоматски генерисани предлози за садржај се не приказују на страници нове картице.</translation>
@@ -3362,6 +3514,15 @@
       Ако је вредност ових смерница 0, користићемо подразумевану величину кеша, али корисник неће моћи да је промени.
 
       Ако ове смернице нису подешене, користићемо подразумевану величину и корисник ће моћи да је замени обележјем --disk-cache-size.</translation>
+<translation id="759389052790680884">Подешавају прилагођени престанак пуњења батерије у процентима.
+
+          Батерија престаје да се пуни када капацитет достигне прилагођену вредност за престанак пуњења.
+
+          DeviceBatteryChargeCustomStartCharging мора да буде мање од DeviceBatteryChargeCustomStopCharging.
+
+          Ове смернице се користе само ако DeviceBatteryChargeMode подесите на „прилагођено“.
+
+          Ако не конфигуришете или не подесите ове смернице, примењује се стандардни режим пуњења батерије.</translation>
 <translation id="759957074386651883">Подешавања Безбедног прегледања</translation>
 <translation id="7604169113182304895">Android апликације могу добровољно да одлуче да поштују ову листу. Не можете да их принудите да је поштују.</translation>
 <translation id="7612157962821894603">Ознаке за цео систем које треба применити при покретању <ph name="PRODUCT_NAME" />-а</translation>
@@ -3438,6 +3599,15 @@
 <translation id="7712109699186360774">Питај сваки пут када сајт жели да приступи камери и/или микрофону</translation>
 <translation id="7713608076604149344">Ограничења преузимања</translation>
 <translation id="7715711044277116530">Проценат до кога треба мењати време до замрачивања екрана у режиму презентације</translation>
+<translation id="7716781462866245042">Одређују конфигурацију напредног режима пуњења батерије по данима.
+
+          Ове смернице се користе само ако DeviceAdvancedBatteryChargeModeEnabled подесите на Тачно.
+
+          Ако не конфигуришете или не подесите ове смернице, напредни режим пуњења батерије је увек онемогућен.
+
+          Напомена: <ph name="CHARGE_START_TIME_FIELD_NAME" /> мора да буде мање од <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Напомена: Дозвољене вредности за поље <ph name="MINUTE_FIELD_NAME" /> у <ph name="CHARGE_START_TIME_FIELD_NAME" /> и <ph name="CHARGE_END_TIME_FIELD_NAME" /> су 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">Конфигуришите функције приступачности за <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Ове смернице омогућавају HTTP/0.9 на портовима који нису 80 за HTTP и 443 за HTTPS.
 
@@ -3511,6 +3681,7 @@
       Одређују ИД додатка који ће се користити као чувар екрана на екрану за пријављивање. Додатак мора да буде део пакета апликација који је конфигурисан за овај домен преко смерница DeviceAppPack.</translation>
 <translation id="7882857838942884046">Ако онемогућите Google синхронизацију, прављење резервних копија и враћање у претходно стање неће правилно функционисати на Android-у.</translation>
 <translation id="7882890448959833986">Спречава приказивање упозорења за неподржани ОС</translation>
+<translation id="7895553628261067384">Даљински приступ</translation>
 <translation id="7902255855035461275">Обрасци на овој листи се пореде са безбедносним
       пореклом URL-а који шаље захтев. Ако се пронађе подударање, приступ уређајима за
       снимање видео садржаја се одобрава без слања упита.
@@ -3524,6 +3695,11 @@
 <translation id="7937491150792971922">Обједињују смернице из више извора у листу за инсталирање додатака</translation>
 <translation id="7937766917976512374">Дозвољавање или забрањивање снимања видео садржаја</translation>
 <translation id="7941975817681987555">Не предвиђај радње мреже ни за једну мрежну везу</translation>
+<translation id="7952007677054834789">Конфигуришу странице које се учитавају при покретању, подразумевану почетну страницу и подразумевану страницу нове картице у <ph name="PRODUCT_NAME" />-у и онемогућавају корисницима да их промене.
+
+      Подешавања почетне странице корисника се у потпуности закључавају само ако изаберете да почетна страница буде страница нове картице или подесите да она буде URL и наведете URL почетне странице. Ако не наведете URL почетне странице, корисник и даље може да подеси да почетна страница буде страница нове картице ако наведе „chrome://newtab“.
+
+      Смернице „URL-ови који се отварају при покретању“ се занемарују ако не изаберете „Отвори листу URL-ова“ у оквиру ставке „Радња при покретању“.</translation>
 <translation id="7952958573604504839">Ове смернице су застареле у верзији M48 и замениле су их смернице <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" />, а уклоњене су из верзије M54.
 
       Омогућавају предвиђање мреже у <ph name="PRODUCT_NAME" />-у и спречавају кориснике да мењају ово подешавање.
@@ -3664,6 +3840,7 @@
 <translation id="8176035528522326671">Омогућавање пословном кориснику да буде само примарни корисник вишеструког профила (подразумевано понашање за кориснике којима се управља на нивоу предузећа)</translation>
 <translation id="8214600119442850823">Конфигурише менаџера лозинки.</translation>
 <translation id="8217516105848565518">Ове смернице су застареле. Уместо њих користите смернице RemoteAccessHostDomainList.</translation>
+<translation id="8244171102276095471">Омогући RC4 пакете за шифровање у TLS-у</translation>
 <translation id="8244525275280476362">Максимално кашњење при преузимању после поништавања смерница</translation>
 <translation id="8256688113167012935">Контролише назив налога који <ph name="PRODUCT_OS_NAME" /> приказује на екрану за пријављивање за одговарајући локални налог на уређају.
 
@@ -3718,6 +3895,7 @@
 <translation id="8312129124898414409">Омогућава вам да подесите да ли је веб-сајтовима дозвољено да користе генерисање шифара. Коришћење генерисања шифара може да буде дозвољено или забрањено за све веб-сајтове.
 
           Ако ове смернице нису подешене, користиће се смернице „BlockKeygen“ и корисник ће моћи да их промени.</translation>
+<translation id="8320149248919453401">Режим пуњења батерије</translation>
 <translation id="8329984337216493753">Ове смернице су активне само у режиму малопродаје.
 
       Када буде наведено DeviceIdleLogoutTimeout, ове смернице дефинишу трајање оквира упозорења са мерачем времена за одбројавање који се приказује кориснику пре него што се обави одјављивање.
@@ -3883,6 +4061,7 @@
       Ако смерница није подешена, користи се подразумевани период од 345.600.000 милисекунди (четири дана) за <ph name="PRODUCT_OS_NAME" /> уређаје и 604.800.000 милисекунди (недељу дана) за прегледаче <ph name="PRODUCT_NAME" />.</translation>
 <translation id="8685024486845674965">Покретач упозорења за заштиту лозинком се активира када се лозинка поново користи</translation>
 <translation id="8693243869659262736">Коришћење уграђеног DNS клијента</translation>
+<translation id="8698286761337647563">Колико дана унапред треба обавестити SAML кориснике да им лозинка истиче</translation>
 <translation id="8703488928438047864">Шаљу извештаје о статусу табле</translation>
 <translation id="8703872185032220081">Конфигуришите пребацивање ради уштеде енергије по данима.
 
@@ -3935,6 +4114,7 @@
       Ако онемогућите или не подесите ово подешавање, услуга за заштиту лозинком шаље кориснике на https://myaccounts.google.com да би променили лозинку.
       Ове смернице су доступне само у инстанцама Windows-а које су повезане са доменом <ph name="MS_AD_NAME" /> или инстанцама Windows-а 10 Pro или Enterprise које су регистроване за управљање уређајима.</translation>
 <translation id="8798099450830957504">Подразумевано</translation>
+<translation id="8800453707696044281">Подеси прилагођени престанак пуњења батерије у процентима</translation>
 <translation id="8801680448782904838">Обавештава корисника да се препоручује или захтева поновно покретање прегледача или уређаја</translation>
 <translation id="8818173863808665831">Пријавите географску локацију уређаја.
 
@@ -4061,6 +4241,11 @@
       Ове смернице се односе само на кориснике који су потврдили идентитет помоћу SAML-а.
 
       Вредност смерница треба да буде наведена у секундама.</translation>
+<translation id="9018338365267278833">Овим се уклањају додаци који се појављују у <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> или <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> и чији је режим инсталације подешен на „блокирано“ и уједно се бришу локални подаци корисника.  Погледајте политику приватности додатака или политику задржавања података да бисте разумели шта може да се деси са подацима корисника који се не чувају локално.
+
+      Када смернице подесите на „омогућено“, додаци који су на поменутим листама (ако су већ инсталирани на уређају) у потпуности се уклањају са тог уређаја (укључујући локалне податке корисника).
+
+      Када смернице подесите на „онемогућено“ или их не подесите, додаци који су на поменутим листама (ако су већ инсталирани на уређају и налазе се на црној листи <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />) онемогућавају се на уређају, али се не деинсталирају.</translation>
 <translation id="9027787254195333560">Ове смернице вам омогућавају да конфигуришете слику аватара који представља корисника на екрану за пријављивање. Смернице се подешавају навођењем URL-а са ког <ph name="PRODUCT_OS_NAME" /> може да преузме слику аватара и криптографског хеша који се користи за верификацију интегритета преузимања. Слика мора да буде у JPEG формату и не сме да буде већа од 512 kB. URL мора да буде доступан без икакве потврде идентитета.
 
       Слика аватара се преузима и кешира. Поново се преузима сваки пут када се URL или хеш промени.
diff --git a/components/policy/resources/policy_templates_sv.xtb b/components/policy/resources/policy_templates_sv.xtb
index 62b2804..60e5bed 100644
--- a/components/policy/resources/policy_templates_sv.xtb
+++ b/components/policy/resources/policy_templates_sv.xtb
@@ -54,6 +54,13 @@
 <translation id="1049138910114524876">Konfigurerar vilken språkkod som ska gälla för inloggningsskärmen i <ph name="PRODUCT_OS_NAME" />.
 
       När principen har ställts in visas inloggningsskärmen alltid på det språk som har angetts först i principen (definitionen ges i form av en lista så att principen ska vara kompatibel med framtida versioner). Om principen inte har ställts in eller om en tom lista har angetts visas inloggningsskärmen på det språk som användes vid den senaste användarsessionen. Om principen har ställts in på ett ogiltigt värde används reservspråkkoden (för närvarande en-US) för inloggningsskärmen.</translation>
+<translation id="1052499923181221200">Principen har ingen inverkan om inte SamlInSessionPasswordChangeEnabled är inställd på sant.
+      Om den principen är inställd på sant och den här principen är inställd på till exempel 14 innebär det att SAML-användare får en avisering 14 dagar innan deras lösenord upphör att gälla.
+      Då kan de åtgärda saken direkt genom att byta lösenord under sessionen och uppdatera sina lösenord innan de upphör att gälla.
+      Men aviseringarna visas bara om information om utgångsdatum för lösenordet skickas till enheten via identitetsleverantören för SAML under SAML-inloggningsflödet.
+      Om den här pricnipen ställs in på noll innebär det att användarna inte får någon avisering i förväg. I stället får de en avisering när lösenordet redan har upphört att gälla.
+
+      Om den här principen har angetts kan användaren inte ändra eller åsidosätta den.</translation>
 <translation id="1062011392452772310">Aktivera fjärrattestering för enheten</translation>
 <translation id="1062407476771304334">Ersätt</translation>
 <translation id="1079801999187584280">Tillåt inte använding av Utvecklarverktyg</translation>
@@ -214,6 +221,7 @@
       Om principen är aktiverad får Google Assistent läsa skärmkontexten.
       Om principen är inaktiverad får Google Assistent inte läsa skärmkontexten.
       Om principen saknar inställning kan användarna välja om Google Assistent får läsa skärmkontext eller inte</translation>
+<translation id="1376119291123231789">Aktivera det avancerade batteriladdningsläget</translation>
 <translation id="1383493480903114193">Principen tvingar nätverkskod att köras i webbläsarprocessen.
 
       Principen är inaktiverad som standard, och när den är aktiverad utsätts användarna för säkerhetsproblemen när nätverksprocessen körs i en sandlåda.
@@ -314,6 +322,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">Aktivera blockering av kodinjektion från tredjepartsprogram</translation>
 <translation id="1504431521196476721">Fjärrattestering</translation>
+<translation id="1507382822467487898">
+          Konfigurerar vilken MAC-adress (Media Access Control) som ska användas när en docka är ansluten till enheten.
+
+          När en docka är ansluten till vissa enhetsmodeller används enhetens utsedda MAC-adress för dockning för att identifiera enheten på Ethernet som standard. Principen tillåter att administratören ändrar MAC-adressens källa när enheten är dockad.
+
+          Om DeviceDockMacAddress väljs eller om principen saknar inställning används enhetens utsedda MAC-adress för dockning.
+
+          Om DeviceNicMacAddress har valts används enhetens NIC-adress (Network Interface Controller).
+
+          Om DockNicMacAddress har valts används dockans NIC MAC-adress.
+
+          Inställningen kan inte ändras av användaren.</translation>
 <translation id="1507957856411744193">Om den här principen är inställd på sant ansluter <ph name="PRODUCT_NAME" /> till Cast-enheter på alla IP-adresser, inte bara privata RFC1918/RFC4193-adresser.
 
           Om den här principen är inställd på falskt ansluter <ph name="PRODUCT_NAME" /> bara till Cast-enheter på privata RFC1918/RFC4193-adresser.
@@ -752,6 +772,17 @@
 <translation id="2303795211377219696">Aktivera autofyll för kreditkort</translation>
 <translation id="2309390639296060546">Standardinställning för geografisk plats</translation>
 <translation id="2327252517317514801">Ange vilka domäner som ska ha tillgång till G Suite</translation>
+<translation id="2356878440219553005">Anger energisparprincipen för batteriladdningsläge.
+
+          Styr batteriladdningen dynamiskt för att minimera slitage på grund av hög batteribelastning och öka batteriets livslängd.
+
+          Om det anpassade batteriladdningsläget har valts måste DeviceBatteryChargeCustomStartCharging och DeviceBatteryChargeCustomStopCharging anges.
+
+          Om principen är inställd tillämpas batteriladdningsläget om enheten har stöd för det.
+
+          Om principen saknar inställning tillämpas standardläget för batteriladdning och detta kan inte ändras av användaren.
+
+          Obs! <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> åsidosätter principen om den föregående är specificerad.</translation>
 <translation id="237494535617297575">Policyn gör att du kan ange en lista med webbadressmönster som inte får visa meddelanden.
 
           Om policyn inte anges används det globala standardvärdet för alla webbplatser. Standardvärdet hämtas från policyn DefaultNotificationsSetting om den har angetts eller användarens personliga konfiguration om den inte har det.</translation>
@@ -789,6 +820,7 @@
 
       Om policyn har inställningen falskt kan den automatiska inloggningen utan fördröjning (om en sådan har konfigurerats) inte passeras.</translation>
 <translation id="2454228136871844693">Optimera för stabilitet.</translation>
+<translation id="2463034609187171371">Aktivera DHE-krypteringssviter i TLS</translation>
 <translation id="2463365186486772703">Appens språkversion</translation>
 <translation id="2466131534462628618">Autentisering via infångstportal ignorerar proxy</translation>
 <translation id="2482676533225429905">Native Messaging</translation>
@@ -970,6 +1002,7 @@
 <translation id="2769952903507981510">Konfigurera det obligatoriska domännamnet för fjärråtkomstvärdar</translation>
 <translation id="2787173078141616821">Rapportera information om Android-status</translation>
 <translation id="2799297758492717491">Tillåt att media spelas upp automatiskt på en vitlista över webbadressmallar</translation>
+<translation id="2801155097555584385">Ange anpassad laddningsstart för batteriet i procent</translation>
 <translation id="2801230735743888564">Tillåt användare att spela påskäggsspelet med dinosaurier när enheten är offline.
 
       Om den här principen är inställd på falskt kommer användare inte att kunna spela påskäggsspelet med dinosaurier när enheten är offline. Om principen är inställd på sant kommer användare att kunna spela dinosauriespelet. Om principen inte tillämpas kommer användare inte att kunna spela påskäggsspelet med dinosaurier på Chrome OS med registrering, men kan spela det under andra omständigheter.</translation>
@@ -1043,6 +1076,7 @@
       Om du inaktiverar den här inställningen eller inte anger något värde används den senast använda skrivaren som standardval för Förhandsgranskning.
 
       Om du aktiverar den här inställningen används operativsystemets standardskrivare som standardval för Förhandsgranskning.</translation>
+<translation id="285627849510728211">Ange avancerad dagskonfiguration för batteriladdningsläge</translation>
 <translation id="2856674246949497058">Återställ till målversionen om operativsystemet är nyare än målversionen. Utför powerwash i samband med detta.</translation>
 <translation id="2872961005593481000">Stäng av</translation>
 <translation id="2873651257716068683">Åsidosätter standardpappersformatet för utskrift. Om pappersformatet inte är tillgängligt ignoreras principen.</translation>
@@ -1177,12 +1211,26 @@
 <translation id="3072045631333522102">Skärmsläckare att använda på inloggningsskärmen i återförsäljarläge</translation>
 <translation id="3072847235228302527">Ange användarvillkor för ett lokalt enhetskonto</translation>
 <translation id="3077183141551274418">Aktiverar eller inaktiverar en livscykel för flikar</translation>
+<translation id="3079417254871857650">Anger vilken åtgärd som ska vidtas när användarens hemkatalog skapades med ecryptfs-kryptering.
+
+      Om principen ställs in på DisallowArc inaktiveras Android-appar för användaren och ingen migrering från ecryptfs-kryptering till ext4-kryptering utförs. Android-appar kan fortfarande köras när hemkatalogen har ext4-kryptering.
+
+      Om Migrate ställs in för principen migreras ecryptfs-krypterade hemkataloger automatiskt till ext4-kryptering vid inloggning utan att användaren tillfrågas.
+
+      Om Wipe ställs in för principen raderas ecryptfs-krypterade hemkataloger vid inloggning och nya ext4-krypterade hemkataloger skapas i stället. Varning! Åtgärden raderar lokal data för användaren.
+
+      Om MinimalMigrate ställs in för principen raderas ecryptfs-krypterade hemkataloger vid inloggning och nya ext4-krypterade hemkataloger skapas i stället. Den försöker dock spara inloggningstoken så att användaren inte behöver logga in på nytt. Varning! Åtgärden raderar lokal data för användaren.
+
+      Om du anger ett alternativ som inte längre stöds (AskUser eller AskForEcryptfsArcUsers) för principen behandlas den som om du hade valt Migrate.
+
+      Principen gäller inte användare av offentliga miljöer. Om principen inte ställs in utför enheten samma åtgärd som om DisallowArc hade valts.</translation>
 <translation id="3086995894968271156">Konfigurera cast-mottagaren i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="3088796212846734853">Låter dig ange en lista med webbadressmönster som styr vilka webbplatser som får visa bilder.
 
           Om principen lämnas utan inställning används det globala standardvärdet för alla webbplatser. Standardvärdet hämtas från principen DefaultImagesSetting om den har ställts in och från användarens egna inställningar i annat fall.
 
           Observera att den här principen felaktigt var aktiverad för Android tidigare, men funktionen har aldrig stötts fullt ut på Android.</translation>
+<translation id="3091832372132789233">Ladda batteriet för enheter som huvudsakligen är anslutna till en extern strömkälla.</translation>
 <translation id="3096595567015595053">Lista med aktiverade plugin-program</translation>
 <translation id="3101501961102569744">Välj hur inställningar för proxyserver ska anges</translation>
 <translation id="3101709781009526431">Datum och tid</translation>
@@ -1208,6 +1256,7 @@
           Om inställningen är inaktiverad använder <ph name="PRODUCT_NAME" /> bara Native Messaging-värdar som installerats på systemnivå.
 
           Om inställningen inte anges tillåter <ph name="PRODUCT_NAME" /> Native Messaging-värdar på användarnivå.</translation>
+<translation id="3177802893484440532">Kräv OCSP/CRL-onlinekontroller för lokala tillitsankare</translation>
 <translation id="3185009703220253572">sedan version <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">Android-appar kan inte ges tillgång till företagsnycklar. Den här principen gäller inte dem.</translation>
 <translation id="3205825995289802549">Maximera det först visade fönstret första gången som webbläsaren körs</translation>
@@ -1221,6 +1270,7 @@
 <translation id="3220624000494482595">Om det är en Android-app som används som kioskapp kommer den inte att kunna påverka versionen av <ph name="PRODUCT_OS_NAME" /> även om den här principen har ställts in på <ph name="TRUE" />.</translation>
 <translation id="3236046242843493070">Webbadressmönster för att tillåta installationer av tillägg, appar och användarskript från</translation>
 <translation id="3240609035816615922">Åtkomstprincip för skrivarkonfiguration</translation>
+<translation id="3240655340884151271">Dockans inbyggda NIC MAC-adress</translation>
 <translation id="3243309373265599239">Anger efter hur lång tid utan åtgärd från användaren som skärmen ska dämpas när enheten är ansluten till elnätet.
 
           Om den här policyn är inställd på ett värde som är större än noll anger den efter hur lång tids inaktivitet som <ph name="PRODUCT_OS_NAME" /> dämpar skärmen.
@@ -1242,6 +1292,12 @@
       Om inställningen är aktiverad eller inte har konfigurerats kan användarna aktivera molnutskriftsproxyn genom autentisering med deras Google-konton.
 
       Om inställningen inte är inaktiverad kan användarna inte aktivera proxyn och datorn tillåts inte att dela skrivare med <ph name="CLOUD_PRINT_NAME" />.</translation>
+<translation id="3312206664202507568">Aktiverar en sida på chrome://password-change där SAML-användare kan ändra sina SAML-lösenord under en session, vilket innebär att SAML-lösenordet och enhetens lösenord för låsskärmen hålls synkroniserade.
+
+      Principen aktiverar dessutom aviseringar som varnar SAML-användarna om deras SAML-lösenord snart upphör att gälla, så att de kan åtgärda det direkt genom att byta lösenord under sessionen.
+      Men aviseringarna visas bara om information om utgångsdatum för lösenordet skickas till enheten via identitetsleverantören för SAML under SAML-inloggningsflödet.
+
+      Om den här principen har angetts kan användaren inte ändra eller åsidosätta den.</translation>
 <translation id="3322771899429619102">Policyn gör att du kan ange en lista med webbadressmönster som anger vilka webbplatser som får använda nyckelgenerering. Om ett webbadressmönster har policyn KeygenBlockedForUrls åsidosätts dessa undantag.
 
           Om policyn inte anges används den globala standardpolicyn för alla webbplatser. Standardvärdet hämtas antingen från policyn DefaultKeygenSetting om den har angetts, eller från användarens personliga konfiguration om den inte har det.</translation>
@@ -1327,6 +1383,7 @@
 
           Om Falskt har angetts för den här policyn, eller om ingenting har angetts, påbörjas fördröjningar i energisparfunktionen och begränsningar i sessionslängden så fort sessionen har påbörjats.</translation>
 <translation id="3478024346823118645">Ta bort användardata vid utloggning</translation>
+<translation id="3480961938508521469">Ladda batteriet fullt i standardhastighet.</translation>
 <translation id="348495353354674884">Aktivera virtuellt tangentbord</translation>
 <translation id="3487623755010328395">
         Om principen används försöker <ph name="PRODUCT_NAME" /> registrera sig själv och tillämpa tillhörande molnprinciper på alla profiler.
@@ -1373,6 +1430,8 @@
 <translation id="3547954654003013442">Proxyinställningar</translation>
 <translation id="355118380775352753">Webbplatser som ska öppnas i alternativa webbläsare</translation>
 <translation id="3554984410014457319">Tillåt Google-assistenten att lyssna efter röstaktiveringsfrasen</translation>
+<translation id="356579196325389849">Användare kan konfigurera lanseringskanalen för Chrome OS</translation>
+<translation id="3575011234198230041">HTTP-autentisering</translation>
 <translation id="3577251398714997599">Annonsinställningar för webbplatser med påträngande annonser</translation>
 <translation id="357917253161699596">Tillåt användarna att hantera användarcertifikat</translation>
 <translation id="3583230441447348508">Anger en lista med förkonfigurerade filresurser i nätverket.
@@ -1403,6 +1462,7 @@
 
         Principen används på stationära datorer för registrering av datorn för molnhantering och kan ställas in via registret eller gruppolicyobjekt på Windows, plist på Mac och en JSON-principfil på Linux.</translation>
 <translation id="3660562134618097814">Överför SAML-cookies från identitetsleverantörer vid inloggning</translation>
+<translation id="3668151900457104753">Avinstallera svartlistade tillägg</translation>
 <translation id="3701121231485832347">Styr inställningar för <ph name="PRODUCT_OS_NAME" />-enheter som hanteras med <ph name="MS_AD_NAME" />.</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Enradsfältet har fasats ut och tas snart bort. Börja använda flerradsfältet i stället.)</translation>
 <translation id="3709266154059827597">Konfigurera svartlista för tilläggsinstallation</translation>
@@ -1484,6 +1544,16 @@
           Om du inte ställer in policyn är skärmtangentbordet inaktiverat som standard, men det aktiveras av användaren när som helst.</translation>
 <translation id="382476126209906314">Konfigurera prefixet TalkGadget för fjärråtkomstvärdar</translation>
 <translation id="3824972131618513497">Styr inställningar för strömförsörjning och omstart.</translation>
+<translation id="3826475866868158882">Googles platstjänster har aktiverats</translation>
+<translation id="3831054243924627613">Principen styr den initiala statusen för säkerhetskopiering och återställning av Android.
+
+      När principen inte är konfigurerad eller inställd på <ph name="BR_DISABLED" /> inaktiveras säkerhetskopiering och återställning av Android initialt.
+
+      När principen är inställd på <ph name="BR_ENABLED" /> aktiveras säkerhetskopiering och återställning av Android initialt.
+
+      När principen är inställd på <ph name="BR_UNDER_USER_CONTROL" /> ombeds användaren att välja om säkerhetskopiering och återställning av Android ska användas. Om användaren aktiverar säkerhetskopiering och återställning av Android laddas Androids appdata upp till Androids återställningsservrar och återställs därifrån när en kompatibel app återinstalleras.
+
+      Observera att den här principen endast styr statusen för säkerhetskopiering och återställning av Android under den initiala konfigureringen. Användaren kan öppna Android-inställningarna i efterhand och stänga av eller slå på säkerhetskopiering och återställning av Android.</translation>
 <translation id="3831376478177535007">Om inställningen aktiveras är certifikat från Symantec Corporations äldre PKI-åtgärder tillåtna i <ph name="PRODUCT_NAME" /> så länge det går att validera dem i en obruten kedja till ett identifierat CA-certifikat.
 
       Observera att principen är beroende av att operativsystemet fortfarande känner igen certifikat från Symantecs äldre infrastruktur. Om en uppdatering av operativsystemet leder till en ändring av hur sådana certifikat hanteras har principen inte längre någon funktion. Den här principen är bara en tillfällig lösning så att företag ska få längre tid på sig att överflytta från äldre Symantec-certifikat. Principen tas bort kring den 1 januari 2019.
@@ -1567,6 +1637,15 @@
 
           Om ingen inställning görs eller om Falskt anges kan användaren föra över filer till Google Drive.</translation>
 <translation id="3915395663995367577">Webbadress till en PAC-proxyfil</translation>
+<translation id="3920892052017026701">Ange anpassad laddningsstart för batteriet i procent.
+
+          Batteriet börjar laddas när batteriet tömts till under det anpassade startvärdet för laddning.
+
+          DeviceBatteryChargeCustomStartCharging måste vara mindre än DeviceBatteryChargeCustomStopCharging.
+
+          Principen används bara om inställningen för DeviceBatteryChargeMode är anpassad.
+
+          Om principen inte konfigureras eller saknar inställning tillämpas standardläget för batteriladdning.</translation>
 <translation id="3925377537407648234">Ange skärmupplösning och skalningsfaktor</translation>
 <translation id="3939893074578116847">Skicka nätverkspaket för övervakning av onlinestatusen till hanteringsservern, så att
       den kan identifiera om enheten är offline.
@@ -1697,6 +1776,7 @@
 <translation id="4150201353443180367">Skärm</translation>
 <translation id="4157003184375321727">Rapportera version av operativsystem och fast programvara</translation>
 <translation id="4157594634940419685">Tillåt åtkomst till lokala CUPS-skrivare</translation>
+<translation id="4160962198980004898">Enhetens MAC-adresskälla när den är dockad</translation>
 <translation id="4163705126749612234">Konfigurerar vilket klientdomännamn som fjärråtkomstklienter måste använda och hindrar användare från att ändra det.
 
           Om inställningen är aktiverad kan endast klienter från den angivna domänen ansluta till värden.
@@ -1774,6 +1854,7 @@
       Observera att användaren inte nödvändigtvis kan aktivera en anteckningsapp på låsskärmen även om dess app-id har angetts i principen. I Chrome 61, till exempel, begränsas listan med tillgängliga appar ytterligare av plattformen.
 
       Om principen inte ställs in alls begränsar den inte villka appar som användaren får aktivera på låsskärmen.</translation>
+<translation id="4313767483634435271">Enhetens utsedda MAC-adress för dockning</translation>
 <translation id="4322842393287974810">Tillåt att kioskappen som startas automatiskt utan fördröjning styr <ph name="PRODUCT_OS_NAME" />-versionen</translation>
 <translation id="4325690621216251241">Lägg till en utloggningsknapp i systemfältet</translation>
 <translation id="4332177773549877617">Logga händelser vid installation av Android-appar</translation>
@@ -1805,6 +1886,7 @@
 <translation id="4360826270668210664">Om den här principen är inställd kräver fjärråtkomstvärden autentisering av klienter för att de ska kunna erhålla en autentiseringstoken från webbadressen och kunna ansluta. Måste användas i tillsammans med RemoteAccessHostTokenValidationUrl.
 
           Den här funktionen är för närvarande inaktiverad på serversidan.</translation>
+<translation id="4363057787588706121">Tillåt sammanslagning av listprinciper från olika källor</translation>
 <translation id="436581050240847513">Rapporteringsgränssnitt för nätverk med enheter</translation>
 <translation id="4372704773119750918">Tillåt inte att företagsanvändare ingår i multiprofiler (primärt eller sekundärt)</translation>
 <translation id="4377599627073874279">Tillåt att alla bilder visas på alla webbplatser</translation>
@@ -1978,6 +2060,7 @@
 <translation id="4826326557828204741">Åtgärd som ska vidtas när fördröjning på grund av inaktivitet har uppnåtts vid batteridrift</translation>
 <translation id="4832852360828533362">Användar- och enhetsrapportering</translation>
 <translation id="4834526953114077364">De användare som använts minst nyligen och som inte har loggat in de senaste tre månaderna tas bort tills det finns tillräckligt med ledigt utrymme</translation>
+<translation id="4835622243021053389">Aktivera NTLMv2-autentisering.</translation>
 <translation id="4858735034935305895">Tillåt helskärmsläge</translation>
 <translation id="4861767323695239729">Konfigurera tillåtna inmatningsmetoder i en användarsession</translation>
 <translation id="487460824085252184">Migrera automatiskt utan att fråga efter användarens samtycke.</translation>
@@ -2100,6 +2183,11 @@
 
       Till skillnad från <ph name="URL_LIST_POLICY_NAME" /> gäller reglerna åt båda hållen. Det innebär att när tillägget för Internet Explorer är installerat och aktiverat styr det även huruvida <ph name="IE_PRODUCT_NAME" /> ska öppna dessa webbadresser i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="5124368997194894978">Aktivera växelströmsstart</translation>
+<translation id="5131211790949066746">Tillåter sammanslagning av principerna <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> och <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> för tilläggsinstallation.
+
+      Om du aktiverar den här inställningen slås värdena från datorns plattformsprinciper, molnprinciper och användarplattformsprinciper samman i en enda lista och används i sin helhet, i stället för att endast värdena från källan med högst prioritet används.
+
+      Om du inaktiverar inställningen eller inte anger något värde används endast listposter från källan med högst prioritet, och andra källor som står i konflikt ignoreras.</translation>
 <translation id="5141670636904227950">Ange standardtypen för skärmförstoraren på inloggningsskärmen</translation>
 <translation id="5142301680741828703">Rendera alltid följande webbadressmönster i <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">Innebär att du kan ange ytterligare parametrar som används när <ph name="PRODUCT_FRAME_NAME" /> startar <ph name="PRODUCT_NAME" />.
@@ -2223,6 +2311,7 @@
 
       Om principen inte anges eller om den har ställts in på den tomma strängen eller ett ogiltigt portintervall får vilken tillgänglig lokal UDP-port som helst användas för WebRTC.</translation>
 <translation id="5290940294294002042">Ange en lista med plugin-program som användaren kan aktivera och inaktivera</translation>
+<translation id="5306186200045823863">Välj att lita på Symantec Corporations äldre PKI-infrastruktur</translation>
 <translation id="5307432759655324440">Tillgänglighet för inkognitoläge</translation>
 <translation id="5318185076587284965">Aktivera reläserveranvändning via värden för fjärråtkomst</translation>
 <translation id="5323128137188992869">Tillåt att innehåll castas till enheten med <ph name="PRODUCT_NAME" />.
@@ -2324,6 +2413,7 @@
       Om reglerna motsäger varandra använder <ph name="PRODUCT_NAME" /> den mest specifika regeln.</translation>
 <translation id="5475361623548884387">Aktivera utskrift</translation>
 <translation id="547601067149622666">Tillåt inte annonser på webbplatser med påträngande annonser</translation>
+<translation id="5483065054530244863">Tillåt SHA-1-signerade certifikat som utfärdats av lokala tillitsankare</translation>
 <translation id="5483777239978559943">Den här principen är utfasad. Använd <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> för att styra tillgängligheten av pluginprogrammet Flash och <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> för att styra huruvida det integrerade visningsprogrammet för PDF-filer ska användas för att öppna PDF-filer.
 
       Anger en lista över pluginprogram som användaren kan aktivera eller inaktivera i <ph name="PRODUCT_NAME" />.
@@ -2440,6 +2530,17 @@
           Om du aktiverar principen eller om den inte konfigureras kan användarnas lösenord visas i klartext i lösenordshanteraren.</translation>
 <translation id="5620392548325769024">Gör att välkomstsidan visas när webbläsaren startas för första gången efter en uppgradering av operativsystemet</translation>
 <translation id="5630352020869108293">Återställ den senaste sessionen</translation>
+<translation id="5643906875497889108">Styr vilka app- eller tilläggstyper som får installeras och begränsar körningsåtkomsten.
+
+          Inställningen vitlistar de tilläggs- och apptyper som är tillåtna och kan installeras i <ph name="PRODUCT_NAME" /> och de värdar de kan interagera med. Värdet är en lista med strängar som alla ska vara någon av följande: extension, theme, user_script, hosted_app, legacy_packaged_app eller platform_app. Läs mer om dessa typer i tilläggsdokumentationen för <ph name="PRODUCT_NAME" />.
+
+          Observera att principen även påverkar tilläggen och apparna så att dessa tvångsinstalleras via ExtensionInstallForcelist.
+
+          Om inställningen är konfigurerad installeras inte de tillägg/appar som har en typ som inte finns med på listan.
+
+          Om inställningen inte är konfigurerad används inga begränsningar gällande godkända tilläggs- och apptyper.
+
+          I tidigare versioner än version 75 saknas det stöd för att använda flera CSV-id:n, och dessa hoppas därför över. Resten av principen tillämpas fortfarande.</translation>
 <translation id="5645779841392247734">Tillåt cookies på dessa webbplatser</translation>
 <translation id="5689430183304951538">Standardinställning för pappersformat vid utskrift</translation>
 <translation id="5693469654327063861">Tillåt datamigrering</translation>
@@ -2479,6 +2580,7 @@
 <translation id="5765780083710877561">Beskrivning:</translation>
 <translation id="5770738360657678870">Kanal för utvecklare (kan vara instabil)</translation>
 <translation id="5774856474228476867">Sökadress för standardsökleverantör</translation>
+<translation id="5775235485119094648">Ladda batteriet medan det är inom ett visst intervall.</translation>
 <translation id="5776485039795852974">Fråga varje gång en webbplats försöker visa aviseringar på skrivbordet</translation>
 <translation id="5781412041848781654">Anger vilket GSSAPI-bibliotek som ska användas för HTTP-autentisering. Du kan ange bara ett biblioteksnamn eller en fullständig sökväg.
 
@@ -2546,6 +2648,7 @@
 <translation id="5893553533827140852">Om inställningen är aktiverad kommer gnubby-autentiseringsbegäranden att skickas via proxy via en fjärranslutning.
 
           Om inställningen är inaktiverad eller inte konfigurerad kommer gnubby-autentiseringsbegäranden inte att skickas via proxy.</translation>
+<translation id="5897913798715600338">Ladda batteriet med snabbladdningsteknik.</translation>
 <translation id="5898486742390981550">När flera användare är inloggade är det bara den primära användaren som kan använda Android-appar.</translation>
 <translation id="5900196529149231477">
       Den här principen gäller inloggningsskärmen. Se även principen <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> som gäller för användarsessionen. Vi rekommenderar att samma värde anges för båda principerna. Om värdena inte stämmer överens kan det uppstå en fördröjning när en användarsession startas medan användarprincipen tillämpas.
@@ -2554,6 +2657,7 @@
       Om principen inte konfigureras används plattformens standardinställningar för webbplatsisolering på inloggningsskärmen.
       </translation>
 <translation id="5901427587865226597">Endast dubbelsidig utskrift</translation>
+<translation id="5905473632148429217">Aktivera OCSP/CRL-onlinekontroller</translation>
 <translation id="5906199912611534122">Gör det möjligt att aktivera eller inaktivera begränsad överföringshastighet i nätverket.
       Detta gäller alla användare och alla gränssnitt på enheten. När principen
       har ställts in används begränsningen tills den inaktiveras via principen.
@@ -2561,6 +2665,7 @@
 
       Med värdet falskt görs ingen begränsning av överföringshastigheten.
       Med värdet sant begränsas upp- och nedladdningshastigheten till de angivna värdena (i kbit/s).</translation>
+<translation id="591088232153082363">Anpassningsbar batteriladdning baserad på batterianvändningsmönster.</translation>
 <translation id="5921713479449475707">Tillåt nedladdning av automatiska uppdateringar via HTTP</translation>
 <translation id="5921888683953999946">Ange standardläget för hjälpmedelsfunktionen med en stor markör på inloggningsskärmen.
 
@@ -2582,6 +2687,7 @@
 <translation id="5950205771952201658">Eftersom återkallelsekontroller online vid programfel inte ger någon effektiv säkerhetsfördel är de inaktiverade som standard i <ph name="PRODUCT_NAME" /> version 19 och senare. Om du aktiverar den här principen återställs den tidigare inställningen och OCSP/CRL-onlinekontroller utförs.
 
      Om ingen inställning görs för principen eller om den ställs in på falskt görs ingen återkallelsekontroll online i <ph name="PRODUCT_NAME" /> från och med <ph name="PRODUCT_NAME" /> 19.</translation>
+<translation id="5961137303188584693">Enhetens inbyggda NIC MAC-adress</translation>
 <translation id="5966615072639944554">Tilläggen får använda API:et för fjärrattestering</translation>
 <translation id="5983708779415553259">Standardbeteende för webbplatser som inte ingår i ett innehållspaket</translation>
 <translation id="5997543603646547632">Använd 24-timmarsklocka som standard</translation>
@@ -2672,6 +2778,17 @@
 <translation id="6111936128861357925">Tillåt påskäggsspelet med dinosaurier</translation>
 <translation id="6114416803310251055">föråldrad</translation>
 <translation id="6133088669883929098">Tillåt alla webbplatser att använda nyckelgenerering</translation>
+<translation id="6136537398661737682">Den här principen styr den initiala statusen för Googles platstjänster.
+
+      När principen inte konfigureras eller ställs in på <ph name="GLS_DISABLED" /> inaktiveras Googles platstjänster initialt.
+
+      När principen ställs in på <ph name="GLS_ENABLED" /> aktiveras Googles platstjänster initialt.
+
+      När principen ställs in på <ph name="GLS_UNDER_USER_CONTROL" /> ombeds användaren att välja om Googles platstjänster ska användas. Då tillåter du att Android-apparna använder tjänsterna för att fråga om enhetens plats och dessutom att anonym platsdata kan skickas till Google.
+
+      Observera att den här principen endast styr statusen för Googles platstjänster under den initiala konfigureringen. Användaren kan öppna Android-inställningarna i efterhand och stänga av eller slå på Googles platstjänster.
+
+      Observera att principen ignoreras och Googles platstjänster alltid inaktiveras när principen <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> är inställd på <ph name="BLOCK_GEOLOCATION_SETTING" />.</translation>
 <translation id="6141402445226505817">Använd alltid ungefärlig tidszonsangivelse</translation>
 <translation id="6145799962557135888">Policyn gör att du kan ange en lista med webbadressmönster som anger webbplatser som får köra JavaScript.
 
@@ -2747,9 +2864,17 @@
       Om den är inaktiverad importeras inte formuläruppgifterna för Autofyll.
 
       Om policyn inte har angetts kan användaren få välja om importen ska göras eller så utförs importen automatiskt.</translation>
+<translation id="6221175752766085998">Tillåt certifikat som utfärdats av lokala tillitsankare utan tillägget subjectAlternativeName</translation>
 <translation id="6224304369267200483">Webbadresser/domäner tillät direktattestering av säkerhetsnycklar automatiskt</translation>
 <translation id="6233173491898450179">Ange nedladdningskatalog</translation>
 <translation id="6244210204546589761">Webbadresser att öppna vid start</translation>
+<translation id="6255387031094435995">Valda principer med samma omfattning och nivå kan slås samman när de kommer från olika källor.
+
+        Om en princip finns i listan slås värdena samman i en ny principlista om det uppstår en konflikt mellan två källor och dessa har samma omfattning och nivå.
+
+        Om en princip finns i listan och det uppstår en konflikt mellan två källor som har olika omfattning och/eller nivå tillämpas principen med högst prioritet.
+
+        Om en princip inte finns i listan och det uppstår en konflikt mellan källorna, omfattningen och/eller nivån tillämpas principen med högst prioritet.</translation>
 <translation id="6258193603492867656">Policyn anger om Kerberos SPN som har genererats ska innehålla en port som inte är standard.
 
           Om du aktiverar den här inställningen och en port som inte är standard anges (en annan port än 80 eller 443) tas den med när Kerberos SPN genereras.
@@ -2951,6 +3076,7 @@
 <translation id="6757438632136860443">Låter dig ange en lista med webbadressmönster som definierar på vilka webbplatser pluginprogrammet för <ph name="FLASH_PLUGIN_NAME" /> får köras.
 
           Om den här principen inte anges används det globala standardvärdet för alla webbplatser. Värdet hämtas antingen från principen DefaultPluginsSetting, om den har ställts in, eller från användarens egna inställningar.</translation>
+<translation id="6757613329154374267">Säkerhetskopiering och återställning har aktiverats</translation>
 <translation id="6762235610019366960">Med den här principen kan du styra hur hela flikar med reklam och/eller utbildningsmaterial visas i <ph name="PRODUCT_NAME" />.
 
       Om principen inte har konfigurerats eller om den är aktiverad (inställd på sant) kan produktinformation som tar upp hela fliken visas i <ph name="PRODUCT_NAME" />
@@ -2973,6 +3099,7 @@
       Strängen kan innehålla variablerna ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME} som ersätts av värden på enheten innan de används som värdnamn. Detta ersättningsvärde ska vara ett giltigt värdnamn (enligt RFC 1035, avsnitt 3.1).
 
       Om principen inte är inställd eller om värdet efter ersättningen inte är ett giltigt värdnamn så anges inget värdnamn i DHCP-förfrågan. </translation>
+<translation id="6833988859168635883">Startup, startsida och sidan Ny flik</translation>
 <translation id="6835883744948188639">Visa användaren ett återkommande meddelande om att omstart rekommenderas</translation>
 <translation id="6837480141980366278">Avgör om den inbyggda DNS-klienten används i <ph name="PRODUCT_NAME" />.
 
@@ -3086,6 +3213,17 @@
 
       När skärmen ska tonas ned utvärderar den smarta modellen för nedtoning om skärmens nedtoning ska skjutas upp. Om den smarta modellen för nedtoning skjuter upp nedtoningen, utökas tiden tills skärmen tonas ned. Då justeras även fördröjningarna för skärmavstängning, skärmlåsning och viloläge så att tiden från skärmens nedtoning blir samma som ursprungligen ställdes in.
       Om den här principen är inställd på Sant eller inte ställs in aktiveras den smarta modellen för nedtoning och kan utöka tiden tills skärmen tonas ned. Om principen ställs in på Falskt påverkar inte den smarta modellen för nedtoning skärmens ljusstyrka.</translation>
+<translation id="6967394885063085697">Aktivera energisparprincipen för det avancerade batteriladdningsläget.
+
+          Med det avancerade batteriladdningsläget kan användaren hålla batteriet i så bra skick som möjligt. I det avancerade batteriladdningsläget använder systemet standardladdningsalgoritmen och andra tekniker utanför arbetstid för att hålla batteriet i så bra skick som möjligt. Under arbetstid används snabbladdning. Snabbladdningen innebär att batteriet laddas snabbare och därför blir fulladdat på kortare tid. Den tid på dagen då systemet används som mest specificeras av starttid och längd.
+
+          Om principen är inställd på sant och DeviceAdvancedBatteryChargeModeDayConfig är inställd är det avancerade batteriladdningsläget alltid aktiverat, om det finns stöd för det på enheten.
+
+          Om principen är inställd på falskt är det avancerade batteriladdningsläget alltid inaktiverat.
+
+          Om du anger principen kan användarna inte ändra eller åsidosätta den.
+
+          Om principen saknar inställning är det avancerade batteriladdningsläget inaktiverat och kan inte aktiveras av användaren.</translation>
 <translation id="6972540544240464302">Välj schemaläggningskonfiguration</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="6994082778848658360">Anger hur den integrerade maskinvaran för säkra element kan användas för tvåfaktorsautentisering om den är kompatibel med den här funktionen. Strömbrytaren på datorn används för att identifiera användarens fysiska närvaro.
@@ -3163,6 +3301,17 @@
       Om du aktiverar eller inaktiverar inställningen kan användarna inte ändra eller åsidosätta den.
 
       Om du inte anger policyn kan användarna välja om det ska behövas ett lösenord för att låsa upp enheten eller inte.</translation>
+<translation id="7107148737865880402">Ange principen för strömdelning och -hantering via USB.
+
+          Vissa enheter har en särskild USB-port som markerats med en blixt eller en batteriikon som kan användas för att ladda andra enheter, exempelvis mobiler, med systembatteriet. Principen påverkar portens laddningsbeteende medan systemet är i viloläge eller avstängt läge. Principen påverkar inte de andra USB-portarna och deras laddningsbeteende medan systemet är igång.
+
+          När enheten är påslagen går det alltid att få ström via USB-porten.
+
+          Om den här principen är inställd på sant och enheten är i viloläge förses USB-porten med ström när enheten är kopplad till ett vägguttag eller om batterinivån ligger på &gt; 50 %. I annat fall förses det inte med ström.
+
+          Om principen är inställd på sant och enheten är avstängd förses USB-porten med ström när enheten är kopplad till ett vägguttag. I annat fall förses det inte med ström.
+
+          Om den här principen saknar inställning aktiveras principen och användaren kan inte inaktivera den.</translation>
 <translation id="7115494316187648452">Avgör om en process i <ph name="PRODUCT_NAME" /> startas när användaren loggar in i operativsystemet och fortsätter köras när det sista webbläsarfönstret har stängts, så att bakgrundsappar och den aktuella sessionen kan fortsätta vara aktiva (inklusive eventuella sessionscookies). Bakgrundsprocessen visas som en ikon i systemfältet och kan alltid stängas därifrån.
 
       Om policyn är inställd på sant aktiveras bakgrundsläget och det kan inte ändras av användaren i webbläsarinställningarna.
@@ -3213,6 +3362,7 @@
           Om principen är inställd på sant eller har lämnats utan inställning tillåts skärmprocesslås för energibesparing, såvida inte principen AllowWakeLocks är inställd på falskt.
 
           Om principen är inställd på falskt degraderas en begäran om skärmprocesslås till en begäran om systemprocesslås.</translation>
+<translation id="7177857088692019405">Snabb upplåsning</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">Anslutningstyper som tillåts för uppdateringar</translation>
 <translation id="7194407337890404814">Standardsökleverantörens namn</translation>
@@ -3276,6 +3426,7 @@
 <translation id="7273823081800296768">Om inställningen är aktiverad eller inte konfigurerad kan användare välja att koppla ihop klienter och värdar vid anslutningstillfället så att de slipper ange en pinkod varje gång.
 
           Om inställningen inaktiveras kommer inte funktionen att vara tillgänglig.</translation>
+<translation id="7274077256421167535">Aktivera strömdelning via USB</translation>
 <translation id="7275334191706090484">Hanterade bokmärken</translation>
 <translation id="7291084543582732020">Om du aktiverar den här inställningen ges användare tillstånd att använda Smart Lock om kraven för funktionen är uppfyllda.
 
@@ -3289,6 +3440,7 @@
 
           Den här policyn gäller bara om policyn DefaultSearchProviderEnabled är aktiverad.</translation>
 <translation id="7302043767260300182">Skärmlåsningstid när enheten är ansluten till elnätet</translation>
+<translation id="7305262223970835999">Aktiverar en sida där SAML-användare kan byta lösenord under sessionen.</translation>
 <translation id="7311458740754205918">Om policyn är inställd på sant eller inte inställd alls kan förslag på innehåll utifrån användarens webbhistorik, intressen eller plats visas på sidan Ny flik.
 
       Om policyn är inställd på falskt visas inte förslag på innehåll som genererats automatiskt på sidan Ny flik.</translation>
@@ -3415,6 +3567,15 @@
       Om principen har värdet 0 används cacheminnets standardstorlek men användaren får inte ändra den.
 
       Om inget värde har angetts används standardstorleken och användaren kan åsidosätta den med flaggan --disk-cache-size.</translation>
+<translation id="759389052790680884">Ange anpassat laddningsstopp för batteriet i procent.
+
+          Batteriet slutar laddas när det når det anpassade laddningsstoppvärdet.
+
+          DeviceBatteryChargeCustomStartCharging måste vara mindre än DeviceBatteryChargeCustomStopCharging.
+
+          Principen används bara om inställningen för DeviceBatteryChargeMode är anpassad.
+
+          Om principen inte konfigureras eller saknar inställning tillämpas standardläget för batteriladdning.</translation>
 <translation id="759957074386651883">Inställningar för Säker webbsökning</translation>
 <translation id="7604169113182304895">Android-appar kan ta hänsyn till den här listan men måste inte göra det. Det går inte att göra inställningen obligatorisk för dem.</translation>
 <translation id="7612157962821894603">Flaggor som gäller hela systemet och som ska tillämpas vid start av <ph name="PRODUCT_NAME" /></translation>
@@ -3493,6 +3654,15 @@
 <translation id="7712109699186360774">Fråga varje gång en webbplats vill komma åt min kamera och/eller mikrofon</translation>
 <translation id="7713608076604149344">Nedladdningsbegränsningar</translation>
 <translation id="7715711044277116530">Procentsats med vilken fördröjningen av skärmdämpningen ska skalanpassas i presentationsläge</translation>
+<translation id="7716781462866245042">Ange avancerad dagskonfiguration för batteriladdningsläge.
+
+          Principen används bara om DeviceAdvancedBatteryChargeModeEnabled är inställd på sant.
+
+          Om principen inte är konfigurerad eller saknar inställning är det avancerade batteriladdningsläget alltid inaktiverat.
+
+          Obs! <ph name="CHARGE_START_TIME_FIELD_NAME" /> måste vara mindre än <ph name="CHARGE_END_TIME_FIELD_NAME" />.
+
+          Obs! Tillåtna värden i fältet <ph name="MINUTE_FIELD_NAME" /> i <ph name="CHARGE_START_TIME_FIELD_NAME" /> och <ph name="CHARGE_END_TIME_FIELD_NAME" /> är 0, 15, 30, 45.</translation>
 <translation id="7717938661004793600">Konfigurera tillgänglighetsfunktioner i <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="7724994675283793633">Den här principen aktiverar HTTP/0.9 på andra portar än 80 för HTTP och 443 för HTTPS.
 
@@ -3566,6 +3736,7 @@
       Avgör ID för det tillägg som ska användas som skärmsläckare på inloggningsskärmen. Tillägget måste finnas i det AppPack som är konfigurerat för domänen i policyn DeviceAppPack.</translation>
 <translation id="7882857838942884046">Om du inaktiverar Google Sync kommer säkerhetskopiering och återställning i Android inte att fungera korrekt.</translation>
 <translation id="7882890448959833986">Ignorera varningar för operativsystem som inte stöds</translation>
+<translation id="7895553628261067384">Fjärråtkomst</translation>
 <translation id="7902255855035461275">Mönster i den här listan matchas mot den begärande
       webbadressens säkerhetsursprung. Om det blir en träff får
       adressen åtkomst till videoinspelningsenheter utan meddelande.
@@ -3579,6 +3750,11 @@
 <translation id="7937491150792971922">Sammanställ policyer för tilläggsinstallation från flera källor</translation>
 <translation id="7937766917976512374">Tillåta eller neka videoinspelning</translation>
 <translation id="7941975817681987555">Förutsäg inte nätverksåtgärder för någon nätverksanslutning</translation>
+<translation id="7952007677054834789">Konfigurera sidorna så att de läses in vid start, med standardstartsida och standardsida för Ny flik i <ph name="PRODUCT_NAME" />, och så att användarna inte kan ändra dem.
+
+      Användarnas inställningar för startsidan blir bara helt låsta om du väljer att startsidan ska vara sidan Ny flik eller att den ska vara en webbadress som du anger. Om du inte anger en webbadress för startsidan kan användaren fortfarande ställa in startsidan på sidan Ny flik genom att ange "chrome://newtab".
+
+      Om du inte väljer Öppna följande sidor under Åtgärd vid start ignoreras principen Webbadresser att öppna vid start.</translation>
 <translation id="7952958573604504839">Den här principen har fasats ut till förmån för <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> i M48 och tagits bort i M54.
 
       Aktiverar nätverksförutsägelse i <ph name="PRODUCT_NAME" /> och förhindrar att användarna ändrar inställningen.
@@ -3722,6 +3898,7 @@
 <translation id="8176035528522326671">Tillåt en företagsanvändare att vara enbart primär flerprofilsanvändare (standardbeteendet för företagshanterade användare)</translation>
 <translation id="8214600119442850823">Konfigurerar lösenordshanteraren.</translation>
 <translation id="8217516105848565518">Den här principen är utfasad. Använd RemoteAccessHostDomainList i stället.</translation>
+<translation id="8244171102276095471">Aktivera RC4-krypteringssviter i TLS</translation>
 <translation id="8244525275280476362">Längsta fördröjning av hämtning efter en ogiltigförklarad policy</translation>
 <translation id="8256688113167012935">Kontrollerar hur kontonamnet <ph name="PRODUCT_OS_NAME" /> visas på inloggningssidan för motsvarande lokala konto på enheten.
 
@@ -3762,6 +3939,7 @@
 <translation id="8312129124898414409">Gör att du kan ange om webbplatser får använda nyckelgenerering. Du kan antingen tillåta eller blockera användning av nyckelgenerering på alla webbplatser.
 
           Om du inte anger policyn används BlockKeygen och inställningen kan ändras av användaren.</translation>
+<translation id="8320149248919453401">Batteriladdningsläge</translation>
 <translation id="8329984337216493753">Den här policyn är bara aktiv i återförsäljarläge.
 
       När DeviceIdleLogoutTimeout har angetts definierar den här policyn hur länge en varningsruta med nedräkning ska visas för användaren innan utloggningen genomförs.
@@ -3928,6 +4106,7 @@
       Om principen inte ställs in används som standard tidsperioden 345 600 000 millisekunder (fyra dagar) för <ph name="PRODUCT_OS_NAME" />-enheter och 604 800 000 millisekunder (en vecka) för <ph name="PRODUCT_NAME" />.</translation>
 <translation id="8685024486845674965">Lösenordsskyddets varningar utlöses av att lösenordet återanvänds</translation>
 <translation id="8693243869659262736">Använd en inbyggd DNS-klient</translation>
+<translation id="8698286761337647563">Hur många dagar i förväg ska SAML-användare aviseras när deras lösenord snart upphör att gälla</translation>
 <translation id="8703488928438047864">Rapportera kortstatus</translation>
 <translation id="8703872185032220081">Ange dagskonfiguration för belastningsförskjutning.
 
@@ -3980,6 +4159,7 @@
       Om inställningen är inaktiverad eller inte anges, skickar tjänsten för lösenordsbyte användarna till https://myaccounts.google.com.
       Den här principen är bara tillgänglig i Windows-instanser som är kopplade till en <ph name="MS_AD_NAME" />-domän, eller i Windows 10 Pro- eller Enterprise-instanser som är registrerade i enhetshantering.</translation>
 <translation id="8798099450830957504">Standard</translation>
+<translation id="8800453707696044281">Ange anpassat laddningsstopp för batteriet i procent</translation>
 <translation id="8801680448782904838">Meddela användaren att webbläsaren eller enheten bör eller måste startas om</translation>
 <translation id="8818173863808665831">Rapportera enhetens geografiska plats.
 
@@ -4107,6 +4287,11 @@
       Den här principen påverkar endast användare som verifieras via SAML.
 
       Principens värde ska anges i sekunder.</translation>
+<translation id="9018338365267278833">Den tar bort tillägg som visas i <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> eller tillägg som visas i <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> vars installationsläge är inställt på blockerat och raderar samtidigt lokal användardata permanent.  Läs tilläggets sekretesspolicy eller datalagringspolicy om du vill veta mer om vad som händer med användardata som inte lagras lokalt.
+
+      När principen är aktiverad tas tilläggen i den ovannämnda listan (om de redan har installerats på datorn) bort från datorn helt (inklusive lokal användardata).
+
+      När principen är inaktiverad eller saknar inställning inaktiveras tilläggen i den ovannämnda listan (om de redan har installerats på datorn och finns med i den svarta listan <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />) på datorn, men avinstalleras inte.</translation>
 <translation id="9027787254195333560">Med den här principen kan du konfigurera den avatarbild som representerar användaren på inloggningsskärmen. Du kan ställa in principen genom att ange en webbadress från vilken <ph name="PRODUCT_OS_NAME" /> kan ladda ned avatarbilden och en kryptografisk hash som används för att verifiera nedladdningens integritet. Bilden måste vara i JPEG-format och får inte vara större än 512 kB. Det måste gå att komma åt webbadressen utan autentisering.
 
       Avatarbilden laddas ned och cachelagras. Den laddas ned på nytt när webbadressen eller hashen ändras.
diff --git a/components/policy/resources/policy_templates_ta.xtb b/components/policy/resources/policy_templates_ta.xtb
index 7f509157..f41cca81 100644
--- a/components/policy/resources/policy_templates_ta.xtb
+++ b/components/policy/resources/policy_templates_ta.xtb
@@ -2021,7 +2021,7 @@
       இந்தக் கொள்கை அமைக்கப்பட்டால், <ph name="URL_LIST_POLICY_NAME" /> கொள்கை போலவே ஒவ்வொரு உறுப்பும் ஒரு விதியாகக் கருதப்படும். இருப்பினும், அது செயல்படும் விதம் நேர்மாறானதாக இருக்கும்: பொருந்தும் விதிகள் மாற்று உலாவியைத் திறக்காது.
 
       <ph name="URL_LIST_POLICY_NAME" /> போலன்றி, விதிகள் இரு தரப்புகளிலும் வேலை செய்யும். அதாவது, Internet Explorerரின் செருகு நிரல் இருந்து அது இயக்கப்பட்டிருந்தால், அதுவும் <ph name="IE_PRODUCT_NAME" /> இந்த URLகளை <ph name="PRODUCT_NAME" /> இல் திறப்பதா என்பதைக் கட்டுப்படுத்தும்.</translation>
-<translation id="5124368997194894978">Boot on AC (நேரடி மின் இணைப்பு) அம்சத்தை இயக்குதல்</translation>
+<translation id="5124368997194894978">Boot on AC (Alternating Current - ஆல்டர்னேட்டிங் கரண்ட்) அம்சத்தை இயக்குதல்</translation>
 <translation id="5141670636904227950">உள்நுழைவுத் திரையில் இயக்கப்பட்டுள்ள இயல்புநிலை திரை உருப்பெருக்கியை அமை</translation>
 <translation id="5142301680741828703">எப்போதும் பின்வரும் URL களவடிவங்களை <ph name="PRODUCT_FRAME_NAME" /> இல் ரெண்டர் செய்க</translation>
 <translation id="5148753489738115745"><ph name="PRODUCT_FRAME_NAME" />, <ph name="PRODUCT_NAME" /> ஐ வெளியிடும்போது பயன்படுத்தப்படும் கூடுதல் அளவுருக்களை குறிப்பிட அனுமதிக்கிறது.
@@ -2788,11 +2788,12 @@
 
           லைன் பவரைச் செருகும்போது ஆஃப்/உறக்க நிலையில் இருந்து சிஸ்டத்தைத் தானாகத் தொடங்குவதற்கு Boot On AC வசதி உதவுகிறது.
 
-          இந்தக் கொள்கை அமைக்கப்பட்டு இதைச் சாதனம் ஆதரிக்கும்பட்சத்தில் boot on AC வசதி எப்போதும் இயக்கத்திலேயே இருக்கும்.
+          இந்தக் கொள்கை 'சரி' என அமைக்கப்பட்டு, இதைச் சாதனம் ஆதரிக்கும்பட்சத்தில் boot on AC வசதி எப்போதும் இயக்கத்திலேயே இருக்கும்.
 
-          அமைக்கப்படாமல் இருந்தால் எப்போதும் முடக்கப்பட்டே இருக்கும்.
+          'தவறு' என அமைக்கப்பட்டிருந்தால் boot on AC வசதி எப்போதும் முடக்கப்பட்டே இருக்கும்.
 
-          நீங்கள் அமைத்த கொள்கையைப் பயனர்கள் மாற்றவோ மேலெழுதவோ இயலாது.
+          இந்தக் கொள்கை அமைக்கப்பட்டால் அதைப் பயனர்கள் மாற்றவோ மேலெழுதவோ இயலாது.
+
 
           இதை அமைக்கவில்லை எனில் boot on AC முடக்கப்பட்டிருப்பதோடு பயனரால் இயக்கவும் இயலாது.</translation>
 <translation id="6647965994887675196">சரி என அமைக்கப்பட்டால், மேற்பார்வையிடப்படும் பயனர்களை உருவாக்கி, அவர்களைப் பயன்படுத்த முடியும்.
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index 29bac54..9dd023b0 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -51,6 +51,13 @@
 <translation id="1049138910114524876">กำหนดค่าภาษาที่จะบังคับใช้ในหน้าจอการลงชื่อเข้าใช้ของ <ph name="PRODUCT_OS_NAME" />
 
       หากมีการตั้งค่านโยบายนี้ หน้าจอการลงชื่อเข้าใช้จะแสดงเป็นภาษาที่ได้มาจากค่าแรกของนโยบายนี้ทุกครั้ง (นโยบายได้รับการกำหนดค่าเป็นรายการเพื่อความเข้ากันได้ในอนาคต) หากไม่ได้ตั้งค่านโยบายนี้หรือตั้งค่าเป็นรายการที่ว่างเปล่า หน้าจอการลงชื่อเข้าใช้จะแสดงเป็นภาษาที่ผู้ใช้ใช้ในเซสชันล่าสุด หากนโยบายนี้มีการตั้งค่าภาษาไม่ถูกต้อง หน้าจอการลงชื่อเข้าใช้จะแสดงเป็นภาษาสำรอง (ปัจจุบันคือ en-US)</translation>
+<translation id="1052499923181221200">นโยบายนี้จะไม่มีผล เว้นแต่ SamlInSessionPasswordChangeEnabled เป็นจริง
+      หากนโยบายนั้นเป็นจริง และมีการตั้งค่านโยบายนี้เป็น 14 (ตัวอย่าง) หมายความว่าผู้ใช้ SAML จะได้รับการแจ้งเตือนล่วงหน้า 14 วันว่ารหัสผ่านจะหมดอายุในวันที่ที่กำหนด
+      จากนั้นผู้ใช้จะจัดการกับเรื่องนี้ได้ทันทีโดยทำการเปลี่ยนรหัสผ่านในเซสชันและอัปเดตรหัสผ่านก่อนหมดอายุ
+      แต่การแจ้งเตือนเหล่านี้จะแสดงเมื่อผู้ให้บริการข้อมูลประจำตัว SAML ส่งข้อมูลการหมดอายุของรหัสผ่านไปยังอุปกรณ์ระหว่างขั้นตอนการเข้าสู่ระบบ SAML เท่านั้น
+      การตั้งค่านโยบายนี้เป็น 0 หมายความว่าผู้ใช้จะไม่ได้รับการแจ้งเตือนล่วงหน้า แต่จะได้รับการแจ้งเตือนเมื่อรหัสผ่านหมดอายุไปแล้วเท่านั้น
+
+      หากมีการตั้งค่านโยบายนี้ ผู้ใช้จะเปลี่ยนแปลงหรือลบล้างนโยบายไม่ได้</translation>
 <translation id="1062011392452772310">เปิดใช้งานการยืนยันระยะไกลสำหรับอุปกรณ์</translation>
 <translation id="1062407476771304334">แทนที่</translation>
 <translation id="1079801999187584280">ไม่อนุญาตการใช้เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์</translation>
@@ -211,6 +218,7 @@
       หากเปิดใช้นโยบายนี้ Google Assistant จะได้รับอนุญาตให้เข้าถึงบริบทของหน้าจอ
       หากปิดใช้นโยบายนี้ Google Assistant จะไม่ได้รับอนุญาตให้เข้าถึงบริบทของหน้าจอ
       หากไม่ได้ตั้งค่าไว้ ผู้ใช้จะตัดสินใจได้ว่าจะอนุญาตให้ Google Assistant เข้าถึงบริบทของหน้าจอหรือไม่</translation>
+<translation id="1376119291123231789">เปิดใช้โหมดการชาร์จแบตเตอรี่ขั้นสูง</translation>
 <translation id="1383493480903114193">นโยบายนี้บังคับให้เรียกใช้โค้ดเครือข่ายในกระบวนการของเบราว์เซอร์
 
       ระบบจะปิดใช้นโยบายนี้ไว้โดยค่าเริ่มต้น และหากเปิดใช้ ผู้ใช้จะมีความเสี่ยงต่อปัญหาด้านความปลอดภัยเมื่อมีการแซนด์บ็อกซ์กระบวนการของเครือข่าย
@@ -308,6 +316,18 @@
 <translation id="1477934438414550161">TLS 1.2</translation>
 <translation id="1502843533062797703">เปิดใช้การบล็อกการแทรกซอฟต์แวร์ของบุคคลที่สาม</translation>
 <translation id="1504431521196476721">การยืนยันระยะไกล</translation>
+<translation id="1507382822467487898">
+          กำหนดค่าว่าจะใช้ที่อยู่ MAC (Media Access Control หรือตัวควบคุมการเข้าถึงสื่อ) ใดเมื่อแท่นชาร์จเชื่อมต่อกับอุปกรณ์
+
+          เมื่อแท่นชาร์จเชื่อมต่อกับอุปกรณ์บางรุ่น ระบบจะใช้ที่อยู่ MAC ของแท่นชาร์จที่กำหนดของอุปกรณ์เพื่อระบุตัวตนอุปกรณ์ในอีเทอร์เน็ตโดยค่าเริ่มต้น นโยบายนี้ช่วยให้ผู้ดูแลระบบเปลี่ยนแหล่งที่มาของที่อยู่ MAC ได้ขณะเชื่อมต่อแท่นชาร์จอยู่
+
+          หากเลือก "DeviceDockMacAddress" หรือไม่ได้ตั้งค่านโยบาย ระบบจะใช้ที่อยู่ MAC ของแท่นชาร์จที่กำหนดของอุปกรณ์
+
+          หากเลือก "DeviceNicMacAddress" ระบบจะใช้ที่อยู่ MAC ของ NIC (Network Interface Controller หรือตัวควบคุมอินเทอร์เฟซเครือข่าย) ของอุปกรณ์
+
+          หากเลือก "DockNicMacAddress" ระบบจะใช้ที่อยู่ MAC ของ NIC ของแท่นชาร์จ
+
+          ผู้ใช้จะเปลี่ยนการตั้งค่านี้ไม่ได้</translation>
 <translation id="1507957856411744193">หากตั้งค่านโยบายเป็น "จริง" <ph name="PRODUCT_NAME" /> จะเชื่อมต่อกับอุปกรณ์แคสต์ในที่อยู่ IP ทั้งหมด ไม่ใช่แค่ที่อยู่ส่วนตัว RFC1918/RFC4193
 
           หากตั้งค่านโยบายนี้เป็น "เท็จ" <ph name="PRODUCT_NAME" /> จะเชื่อมต่อกับอุปกรณ์แคสต์ในที่อยู่ส่วนตัว RFC1918/RFC4193 เท่านั้น
@@ -730,6 +750,17 @@
 <translation id="2303795211377219696">เปิดใช้ "ป้อนข้อความอัตโนมัติ" สำหรับบัตรเครดิต</translation>
 <translation id="2309390639296060546">การตั้งค่าตำแหน่งทางภูมิศาสตร์เริ่มต้น</translation>
 <translation id="2327252517317514801">กำหนดโดเมนที่อนุญาตให้เข้าถึง G Suite</translation>
+<translation id="2356878440219553005">ระบุนโยบายการจัดการพลังงานของโหมดการชาร์จแบตเตอรี่
+
+          ควบคุมการชาร์จแบตเตอรี่แบบไดนามิกเพื่อลดการเสื่อมของแบตเตอรี่เนื่องจากการใช้แบตเตอรี่มากเกินไปและยืดอายุการใช้งานแบตเตอรี่
+
+          หากเลือกโหมดการชาร์จแบตเตอรี่ที่กำหนดเอง คุณจะต้องระบุ DeviceBatteryChargeCustomStartCharging และ DeviceBatteryChargeCustomStopCharging
+
+          หากตั้งค่านโยบายนี้ ระบบจะใช้โหมดการชาร์จแบตเตอรี่หากใช้ได้ในอุปกรณ์
+
+          หากไม่ได้ตั้งค่านโยบายนี้และใช้นโยบายนี้ในอุปกรณ์ได้ ระบบจะใช้โหมดการชาร์จแบตเตอรี่มาตรฐานและผู้ใช้จะเปลี่ยนแปลงไม่ได้
+
+          หมายเหตุ: <ph name="DEVICE_ADVANCED_BATTERY_CHARGE_MODE_ENABLED_NAME" /> จะลบล้างนโยบายนี้หากระบุนโยบายเดิมไว้</translation>
 <translation id="237494535617297575">ช่วยให้คุณกำหนดรายการของรูปแบบ URL ที่ระบุไซต์ที่ได้รับอนุญาตให้แสดงการแจ้งเตือน หากนโยบายนี้ไม่มีการกำหนดไว้ จะใช้ค่าเริ่มต้นทั่วไปสำหรับไซต์ทั้งหมด ทั้งจากนโยบาย "DefaultNotificationsSetting" หากมีการตั้งค่าไว้หรือจากการกำหนดค่าส่วนบุคคลของผู้ใช้เอง</translation>
 <translation id="2386362615870139244">อนุญาตล็อกปลุกหน้าจอ</translation>
 <translation id="2411817661175306360">การแจ้งเตือนการป้องกันด้วยรหัสผ่านปิดอยู่</translation>
@@ -765,6 +796,7 @@
 
       หากนโยบายนี้ได้รับการตั้งค่าเป็น False จะไม่สามารถข้ามการเข้าสู่ระบบอัตโนมัติแบบมีความล่าช้าเป็นศูนย์ได้ (หากมีการกำหนดค่า)</translation>
 <translation id="2454228136871844693">เพิ่มประสิทธิภาพเพื่อความเสถียร</translation>
+<translation id="2463034609187171371">เปิดใช้ชุดการเข้ารหัส DHE ใน TLS</translation>
 <translation id="2463365186486772703">ภาษาของแอปพลิเคชัน</translation>
 <translation id="2466131534462628618">การตรวจสอบสิทธิ์ของแคพทีฟพอร์ทัลจะข้ามพร็อกซีไป</translation>
 <translation id="2482676533225429905">การรับส่งข้อความดั้งเดิม</translation>
@@ -934,6 +966,7 @@
 <translation id="2769952903507981510">กำหนดค่าชื่อโดเมนที่จำเป็นสำหรับโฮสต์การเข้าถึงระยะไกล</translation>
 <translation id="2787173078141616821">รายงานข้อมูลเกี่ยวกับสถานะของ Android</translation>
 <translation id="2799297758492717491">อนุญาตการเล่นสื่ออัตโนมัติในรายการรูปแบบ URL ที่อนุญาตพิเศษ</translation>
+<translation id="2801155097555584385">ตั้งค่าการเริ่มชาร์จแบตเตอรี่ที่กำหนดเองของการชาร์จแบตเตอรี่เป็นเปอร์เซ็นต์</translation>
 <translation id="2801230735743888564">อนุญาตให้ผู้ใช้เล่นเกมไดโนเสาร์ที่ซ่อนไว้ขณะที่อุปกรณ์ออฟไลน์ได้
 
       หากตั้งค่านโยบายนี้เป็น False ผู้ใช้จะไม่สามารถเล่นเกมไดโนเสาร์ที่ซ่อนไว้ขณะที่อุปกรณ์ออฟไลน์ แต่หากตั้งค่าเป็น True ผู้ใช้จะสามารถเล่นเกมไดโนเสาร์ได้ หากไม่มีการตั้งค่านโยบาย ผู้ใช้จะไม่สามารถเล่นเกมไดโนเสาร์ที่ซ่อนไว้บน Chrome OS ที่ลงทะเบียนไว้ แต่จะสามารถเล่นเกมนี้ในกรณีอื่นๆ ได้</translation>
@@ -1007,6 +1040,7 @@
       หากคุณปิดใช้การตั้งค่านี้หรือไม่กำหนดค่า หน้าตัวอย่างก่อนพิมพ์จะใช้เครื่องพิมพ์ที่ใช้งานล่าสุดเป็นทางเลือกปลายทางเริ่มต้น
 
       หากคุณเปิดใช้การตั้งค่านี้ หน้าตัวอย่างก่อนพิมพ์จะใช้เครื่องพิมพ์เริ่มต้นของระบบปฏิบัติการเป็นทางเลือกปลายทางเริ่มต้น</translation>
+<translation id="285627849510728211">ตั้งค่ากำหนดวันของโหมดการชาร์จแบตเตอรี่ขั้นสูง</translation>
 <translation id="2856674246949497058">ย้อนกลับไปใช้เวอร์ชันเป้าหมายและใช้เวอร์ชันเป้าหมายเสมอหากใช้ระบบปฏิบัติการเวอร์ชันที่ใหม่กว่า ทำ Powerwash ในขั้นตอนนี้</translation>
 <translation id="2872961005593481000">ปิด</translation>
 <translation id="2873651257716068683">ลบล้างขนาดหน้าการพิมพ์เริ่มต้น ระบบจะเพิกเฉยนโยบายนี้หากไม่มีขนาดหน้าให้เลือก</translation>
@@ -1139,12 +1173,26 @@
 <translation id="3072045631333522102">โปรแกรมรักษาหน้าจอที่จะใช้ในหน้าจอการลงชื่อเข้าใช้ในโหมดปลีก</translation>
 <translation id="3072847235228302527">ตั้งข้อกำหนดในการให้บริการสำหรับบัญชีภายในอุปกรณ์</translation>
 <translation id="3077183141551274418">เปิดหรือปิดใช้วงจรชีวิตแท็บ</translation>
+<translation id="3079417254871857650">ระบุการดำเนินการที่ควรทำเมื่อมีการสร้างไดเรกทอรีหลักของผู้ใช้ด้วยการเข้ารหัส ecryptfs
+
+      หากตั้งค่านโยบายนี้เป็น "DisallowArc" ระบบจะปิดใช้แอป Android ให้ผู้ใช้และไม่ทำการย้ายข้อมูลจากการเข้ารหัส ecryptfs เป็น ext4 ระบบจะไม่ป้องกันไม่ให้แอป Android ทำงานเมื่อไดเรกทอรีหลักมีการเข้ารหัส ext4 อยู่แล้ว
+
+      หากตั้งค่านโยบายนี้เป็น "ย้ายข้อมูล" ระบบจะย้ายข้อมูลไดเรกทอรีหลักที่เข้ารหัส ecryptfs เป็นการเข้ารหัส ext4 โดยอัตโนมัติเมื่อลงชื่อเข้าใช้โดยไม่ขอคำยินยอมจากผู้ใช้
+
+      หากตั้งค่านโยบายนี้เป็น "ล้างข้อมูล" ระบบจะลบไดเรกทอรีหลักที่เข้ารหัส ecryptfs เมื่อลงชื่อเข้าใช้และสร้างไดเรกทอรีหลักใหม่ที่เข้ารหัส ext4 แทน คำเตือน: การตั้งค่านี้จะนำข้อมูลในเครื่องของผู้ใช้ออก
+
+      หากตั้งค่านโยบายนี้เป็น "MinimalMigrate" ระบบจะลบไดเรกทอรีหลักที่เข้ารหัส ecryptfs เมื่อลงชื่อเข้าใช้และสร้างไดเรกทอรีหลักใหม่ที่เข้ารหัส ext4 แทน อย่างไรก็ตาม ระบบจะลองเก็บโทเค็นการลงชื่อเข้าใช้ไว้ เพื่อให้ผู้ใช้ไม่ต้องลงชื่อเข้าใช้อีกครั้ง คำเตือน: การตั้งค่านี้จะนำข้อมูลในเครื่องของผู้ใช้ออก
+
+      หากตั้งค่านโยบายนี้เป็นตัวเลือกที่ไม่รองรับแล้ว ("AskUser" หรือ "AskForEcryptfsArcUsers") ระบบจะจัดการนโยบายเหมือนว่าคุณเลือก "ย้ายข้อมูล" ไว้แทน
+
+      นโยบายนี้ไม่มีผลกับผู้ใช้คีออสก์ หากไม่ได้ตั้งค่านโยบายนี้ อุปกรณ์จะทำงานราวกับว่ามีการเลือก "DisallowArc"</translation>
 <translation id="3086995894968271156">กำหนดค่า Cast Receiver ใน <ph name="PRODUCT_NAME" /></translation>
 <translation id="3088796212846734853">ให้คุณกำหนดรายการรูปแบบ URL ที่ระบุเว็บไซต์ซึ่งได้รับอนุญาตให้แสดงรูปภาพ
 
           หากไม่ได้ตั้งค่านโยบายนี้ ระบบจะใช้ค่าเริ่มต้นทั่วไปกับเว็บไซต์ทั้งหมด ทั้งจากนโยบาย "DefaultImagesSetting" หากมีการตั้งค่า หรือจากการกำหนดค่าส่วนตัวของผู้ใช้
 
           โปรดทราบว่าการเปิดใช้นโยบายนี้ใน Android ก่อนหน้านี้เกิดจากความผิดพลาด ไม่มีการรองรับฟังก์ชันนี้ใน Android อย่างสมบูรณ์</translation>
+<translation id="3091832372132789233">ชาร์จแบตเตอรี่สำหรับอุปกรณ์ที่เชื่อมต่อกับแหล่งจ่ายไฟภายนอกเป็นหลัก</translation>
 <translation id="3096595567015595053">รายการปลั๊กอินที่เปิดใช้งาน</translation>
 <translation id="3101501961102569744">เลือกวิธีระบุการตั้งค่าพร็อกซีเซิร์ฟเวอร์</translation>
 <translation id="3101709781009526431">วันที่และเวลา</translation>
@@ -1170,6 +1218,7 @@
           หากปิดใช้การตั้งค่านี้ <ph name="PRODUCT_NAME" /> จะใช้เฉพาะโฮสต์การรับส่งข้อความดั้งเดิมที่ติดตั้งในระดับระบบเท่านั้น
 
           หากไม่ได้ตั้งการตั้งค่านี้ <ph name="PRODUCT_NAME" /> จะอนุญาตให้ใช้โฮสต์การรับส่งข้อความดั้งเดิมระดับผู้ใช้</translation>
+<translation id="3177802893484440532">ต้องใช้การตรวจสอบ OCSP/CRL ออนไลน์สำหรับ Trust Anchor ในพื้นที่</translation>
 <translation id="3185009703220253572">ตั้งแต่รุ่น <ph name="SINCE_VERSION" /></translation>
 <translation id="3187220842205194486">แอป Android ไม่มีสิทธิ์เข้าถึงกุญแจขององค์กร นโยบายนี้ไม่มีผลต่อกุญแจเหล่านั้น</translation>
 <translation id="3205825995289802549">ขยายขนาดหน้าต่างเบราว์เซอร์บานแรกให้ใหญ่ที่สุดเมื่อเรียกใช้งานครั้งแรก</translation>
@@ -1179,6 +1228,7 @@
 <translation id="3220624000494482595">หากแอปคีออสก์เป็นแอป Android แอปจะไม่มีสิทธิ์ควบคุมเวอร์ชัน <ph name="PRODUCT_OS_NAME" /> แม้ว่าจะตั้งนโยบายนี้เป็น <ph name="TRUE" /> ก็ตาม</translation>
 <translation id="3236046242843493070">รูปแบบ URL ที่อนุญาตส่วนขยาย แอปพลิเคชัน และการติดตั้งสคริปต์ของผู้ใช้จาก</translation>
 <translation id="3240609035816615922">นโยบายการเข้าถึงการกำหนดค่าเครื่องพิมพ์</translation>
+<translation id="3240655340884151271">ที่อยู่ MAC ของ NIC ในตัวของแท่นชาร์จ</translation>
 <translation id="3243309373265599239">ระบุระยะเวลาก่อนหรี่แสงหน้าจอเมื่อไม่มีการป้อนข้อมูลจากผู้ใช้ขณะทำงานโดยใช้ไฟ AC
 
           เมื่อนโยบายนี้ถูกตั้งค่าไว้มากกว่าศูนย์ จะเป็นการระบุระยะเวลาที่ผู้ใช้ต้องไม่ใช้งานก่อนที่ <ph name="PRODUCT_OS_NAME" /> จะหรี่แสงหน้าจอ
@@ -1200,6 +1250,12 @@
       หากมีการเปิดการตั้งค่านี้หรือไม่ได้กำหนดค่าไว้ ผู้ใช้จะสามารถเปิดใช้งานพร็อกซี Cloud Print โดยการตรวจสอบสิทธิ์กับบัญชี Google ของตน
 
       หากปิดการตั้งค่านี้ ผู้ใช้จะไม่สามารถเปิดใช้งานพร็อกซีและเครื่องจะไม่ได้รับอนุญาตให้แชร์เครื่องพิมพ์กับ <ph name="CLOUD_PRINT_NAME" /></translation>
+<translation id="3312206664202507568">เปิดใช้หน้าใน chrome://password-change ที่อนุญาตให้ผู้ใช้ SAML เปลี่ยนรหัสผ่าน SAML ของตนขณะอยู่ในเซสชัน ซึ่งจะดูแลให้รหัสผ่าน SAML และรหัสผ่านหน้าจอล็อกอุปกรณ์ซิงค์กัน
+
+      นโยบายนี้ยังเปิดใช้การแจ้งเตือนที่เตือนผู้ใช้ SAML หากรหัสผ่าน SAML ใกล้จะหมดอายุ เพื่อให้ผู้ใช้จัดการเรื่องนี้ทันทีด้วยการเปลี่ยนรหัสผ่านในเซสชัน
+      แต่การแจ้งเตือนเหล่านี้จะแสดงเมื่อผู้ให้บริการข้อมูลประจำตัว SAML ส่งข้อมูลการหมดอายุของรหัสผ่านไปยังอุปกรณ์ระหว่างขั้นตอนการเข้าสู่ระบบ SAML เท่านั้น
+
+      หากมีการตั้งค่านโยบายนี้ ผู้ใช้จะเปลี่ยนแปลงหรือลบล้างนโยบายไม่ได้</translation>
 <translation id="3322771899429619102">ช่วยให้คุณกำหนดรายการรูปแบบ URL ที่ระบุเว็บไซต์ที่ได้รับอนุญาตให้ใช้การสร้างคีย์ หากรูปแบบ URL อยู่ใน "KeygenBlockedForUrls" นโยบายนี้จะลบล้างข้อยกเว้นเหล่านี้
 
           หากไม่ได้ตั้งค่านโยบายนี้ไว้ ระบบจะใช้ค่าเริ่มต้นทั่วไปสำหรับเว็บไซต์ทั้งหมด ทั้งจากนโยบาย "DefaultKeygenSetting" หากมีการตั้งค่าไว้ หรือจากการกำหนดค่าส่วนตัวของผู้ใช้เอง</translation>
@@ -1285,6 +1341,7 @@
 
           หากนโยบายนี้ได้รับการตั้งค่าเป็นเท็จหรือไม่ได้ตั้งค่า การจัดการพลังงานจะหน่วงเวลาและการจำกัดความยาวเซสชันจะเริ่มทำงานทันทีที่เริ่มเซสชัน</translation>
 <translation id="3478024346823118645">ล้างข้อมูลผู้ใช้เมื่อออกจากระบบ</translation>
+<translation id="3480961938508521469">ชาร์จแบตเตอรี่จนเต็มด้วยอัตรามาตรฐาน</translation>
 <translation id="348495353354674884">เปิดใช้งานแป้นพิมพ์เสมือน</translation>
 <translation id="3487623755010328395">
         หากตั้งค่านโยบายนี้ <ph name="PRODUCT_NAME" /> จะพยายามลงทะเบียนตนเองและใช้นโยบายระบบคลาวด์ที่เกี่ยวข้องกับโปรไฟล์ทั้งหมด
@@ -1330,6 +1387,8 @@
 <translation id="3547954654003013442">การตั้งค่าพร็อกซี</translation>
 <translation id="355118380775352753">เว็บไซต์ที่จะเปิดในเบราว์เซอร์สำรอง</translation>
 <translation id="3554984410014457319">อนุญาตให้ Google Assistant คอยฟังข้อความการเปิดใช้งานด้วยเสียง</translation>
+<translation id="356579196325389849">ผู้ใช้อาจกำหนดค่าเวอร์ชันการเผยแพร่ของ Chrome OS</translation>
+<translation id="3575011234198230041">การตรวจสอบสิทธิ์ HTTP</translation>
 <translation id="3577251398714997599">เครื่องมือตั้งค่าโฆษณาสำหรับเว็บไซต์ที่มีโฆษณาที่แทรก</translation>
 <translation id="357917253161699596">อนุญาตให้ผู้ใช้จัดการใบรับรองของผู้ใช้</translation>
 <translation id="3583230441447348508">ระบุรายการพื้นที่แชร์ไฟล์ของเครือข่ายซึ่งกำหนดค่าไว้ล่วงหน้า
@@ -1360,6 +1419,7 @@
 
         มีการใช้นโยบายนี้ในการลงทะเบียนนโยบายระบบคลาวด์ตามขอบเขตของเครื่องในเดสก์ท็อปและตั้งค่าได้โดยรีจิสทรีหรือ GPO ใน Windows, ไฟล์ plist ใน Mac และไฟล์นโยบาย JSON ใน Linux</translation>
 <translation id="3660562134618097814">โอนคุกกี้ SAML IdP ขณะลงชื่อเข้าใช้</translation>
+<translation id="3668151900457104753">ถอนการติดตั้งส่วนขยายที่ติดบัญชีดำ</translation>
 <translation id="3701121231485832347">ควบคุมการตั้งค่าเฉพาะของอุปกรณ์ <ph name="PRODUCT_OS_NAME" /> ที่ <ph name="MS_AD_NAME" /> จัดการ</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (เราเลิกใช้งานช่องบรรทัดเดียวแล้วและจะนำออกในเร็วๆ นี้ โปรดเริ่มใช้กล่องข้อความหลายบรรทัดด้านล่างนี้)</translation>
 <translation id="3709266154059827597">กำหนดค่ารายการที่ไม่อนุญาตสำหรับการติดตั้งส่วนขยาย</translation>
@@ -1440,6 +1500,16 @@
           หากไม่มีการตั้งค่านโยบาย จะมีการปิดแป้นพิมพ์บนหน้าจอไว้ แต่ผู้ใช้สามารถเปิดใช้ได้ทุกเมื่อ</translation>
 <translation id="382476126209906314">กำหนดค่าส่วนนำหน้า TalkGadget สำหรับโฮสต์การเข้าถึงระยะไกล</translation>
 <translation id="3824972131618513497">ควบคุมการตั้งค่าที่เกี่ยวกับการจัดการพลังงานและการรีบูต</translation>
+<translation id="3826475866868158882">บริการตำแหน่งของ Google เปิดใช้อยู่</translation>
+<translation id="3831054243924627613">นโยบายนี้ควบคุมสถานะเริ่มต้นของการสำรองและกู้คืนข้อมูล Android
+
+      เมื่อไม่ได้กำหนดค่านโยบายนี้หรือตั้งค่าเป็น <ph name="BR_DISABLED" /> ระบบจะปิดใช้การสำรองและกู้คืนข้อมูล Android ตั้งแต่เริ่มต้น
+
+      เมื่อตั้งค่านโยบายนี้เป็น <ph name="BR_ENABLED" /> ระบบจะเปิดใช้การสำรองและกู้คืนข้อมูล Android ตั้งแต่เริ่มต้น
+
+      เมื่อตั้งค่านโยบายนี้เป็น <ph name="BR_UNDER_USER_CONTROL" /> ระบบจะขอให้ผู้ใช้เลือกว่าจะใช้การสำรองและกู้คืนข้อมูล Android หรือไม่ หากผู้ใช้เปิดใช้การสำรองและกู้คืนข้อมูล ระบบจะอัปโหลดข้อมูลแอป Android ไปยังเซิร์ฟเวอร์การสำรองข้อมูล Android และกู้คืนข้อมูลดังกล่าวจากเซิร์ฟเวอร์เหล่านี้เมื่อมีการติดตั้งแอปอีกครั้งสำหรับแอปที่ใช้งานร่วมกันได้
+
+      โปรดทราบว่านโยบายนี้จะควบคุมสถานะของการสำรองและกู้คืนข้อมูล Android ระหว่างการตั้งค่าเริ่มต้นเท่านั้น ผู้ใช้จะเปิดการตั้งค่า Android ได้หลังจากนั้นและเปิด/ปิดการสำรองและกู้คืนข้อมูล Android ได้</translation>
 <translation id="3831376478177535007">เมื่อเปิดใช้การตั้งค่านี้ <ph name="PRODUCT_NAME" /> จะอนุญาตให้เชื่อถือใบรับรองที่ได้รับจากการดำเนินการสำหรับ PKI แบบเดิมของ Symantec Corporation หากการดำเนินการดังกล่าวผ่านการตรวจสอบและอยู่ในห่วงโซ่ของใบรับรอง CA ที่เป็นที่ยอมรับ
 
       โปรดทราบว่านโยบายนี้ขึ้นอยู่กับว่าระบบปฏิบัติการยังยอมรับใบรับรองจากโครงสร้างพื้นฐานเดิมของ Symantec อยู่หรือไม่ หากการอัปเดตระบบปฏิบัติการทำให้การจัดการใบรับรองดังกล่าวของระบบปฏิบัติการเปลี่ยนแปลงไป นโยบายนี้จะไม่มีผลอีกต่อไป นอกจากนี้ นโยบายนี้ยังใช้แก้ปัญหาเป็นการชั่วคราวเพื่อให้องค์กรมีเวลามากขึ้นในการเปลี่ยนจากการใช้ใบรับรองแบบเดิมของ Symantec นโยบายนี้จะถูกนำออกไปประมาณวันที่ 1 มกราคม 2019
@@ -1521,6 +1591,15 @@
 
           หากไม่มีการตั้งค่าหรือตั้งค่าเป็น False ผู้ใช้จะสามารถโอนไฟล์ไปยัง Google ไดรฟ์</translation>
 <translation id="3915395663995367577">URL ไปยังไฟล์ .pac ของพร็อกซี</translation>
+<translation id="3920892052017026701">ตั้งค่าการเริ่มชาร์จแบตเตอรี่ที่กำหนดเองเป็นเปอร์เซ็นต์
+
+          แบตเตอรี่จะเริ่มชาร์จเมื่อพลังงานลดลงจากค่าการเริ่มชาร์จแบตเตอรี่ที่กำหนดไว้
+
+          DeviceBatteryChargeCustomStartCharging ต้องน้อยกว่า DeviceBatteryChargeCustomStopCharging
+
+          ระบบจะใช้นโยบายนี้เมื่อตั้งค่า DeviceBatteryChargeMode เป็นกำหนดเองเท่านั้น
+
+          หากไม่ได้กำหนดค่านโยบายนี้หรือไม่ได้ตั้งค่า อาจมีการใช้โหมดการชาร์จแบตเตอรี่มาตรฐาน</translation>
 <translation id="3925377537407648234">ตั้งค่าความละเอียดและปัจจัยที่มีผลต่อขนาดการแสดงผล</translation>
 <translation id="3939893074578116847">ส่งแพ็กเก็ตเครือข่ายไปยังเซิร์ฟเวอร์การจัดการเพื่อติดตามดูสถานะการออนไลน์ เพื่อให้เซิร์ฟเวอร์ตรวจสอบว่าอุปกรณ์กำลังออฟไลน์หรือไม่ หากตั้งค่านโยบายนี้ไว้ที่จริง ระบบจะส่งการติดตามดูแพ็กเก็ตเครือข่าย (ที่เรียกว่า <ph name="HEARTBEATS_TERM" /> ) หากตั้งค่าไว้ที่เท็จหรือไม่มีการตั้งค่า ระบบจะไม่มีส่งแพ็กเก็ต</translation>
 <translation id="3950239119790560549">อัปเดตการจำกัดเวลา</translation>
@@ -1644,6 +1723,7 @@
 <translation id="4150201353443180367">การแสดงผล</translation>
 <translation id="4157003184375321727">รายงานรุ่นของระบบปฏิบัติการและเฟิร์มแวร์</translation>
 <translation id="4157594634940419685">อนุญาตให้เข้าถึงเครื่องพิมพ์ CUPS ดั้งเดิม</translation>
+<translation id="4160962198980004898">แหล่งที่มาของที่อยู่ MAC ของอุปกรณ์เมื่อเสียบแท่นชาร์จอยู่</translation>
 <translation id="4163705126749612234">กำหนดค่าชื่อโดเมนของไคลเอ็นต์ที่จำเป็น ซึ่งจะกำหนดให้กับไคลเอ็นต์การเข้าถึงระยะไกลและป้องกันไม่ให้ผู้ใช้เปลี่ยนชื่อโดเมน
 
           หากเปิดใช้การตั้งค่านี้ จะมีเฉพาะไคลเอ็นต์จากโดเมนที่ระบุที่เชื่อมต่อกับโฮสต์ได้
@@ -1721,6 +1801,7 @@
       โปรดทราบว่านโยบายที่มีรหัสแอปไม่ได้หมายความว่าผู้ใช้จะเปิดใช้แอปนั้นเป็นแอปสำหรับจดโน้ตในหน้าจอล็อกได้เสมอไป เช่น ใน Chrome 61 ชุดของแอปที่ใช้งานได้จะมีข้อจำกัดเพิ่มเติมจากแพลตฟอร์ม
 
       หากไม่ได้ตั้งค่านโยบาย ผู้ใช้จะเปิดใช้ชุดแอปในหน้าจอล็อกได้โดยไม่มีข้อจำกัดจากนโยบาย</translation>
+<translation id="4313767483634435271">ที่อยู่ MAC ของแท่นชาร์จที่กำหนดของอุปกรณ์</translation>
 <translation id="4322842393287974810">อนุญาตแอปคีออสก์ที่เปิดอัตโนมัติด้วยความล่าช้าเป็น 0 เพื่อควบคุมเวอร์ชันของ <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="4325690621216251241">เพิ่มปุ่มออกจากระบบลงในถาดระบบ</translation>
 <translation id="4332177773549877617">บันทึกเหตุการณ์ของการติดตั้งแอป Android</translation>
@@ -1752,6 +1833,7 @@
 <translation id="4360826270668210664">หากตั้งค่านโยบายนี้ โฮสต์การเข้าถึงระยะไกลจะต้องมีการตรวจสอบสิทธิ์ไคลเอ็นต์เพื่อรับโทเค็นการตรวจสอบสิทธิ์จาก URL นี้จึงจะเชื่อมต่อได้ ต้องใช้ร่วมกับ RemoteAccessHostTokenValidationUrl
 
           ฟีเจอร์นี้ปิดใช้บนฝั่งเซิร์ฟเวอร์อยู่ในขณะนี้</translation>
+<translation id="4363057787588706121">อนุญาตให้รวมนโยบายรายการจากแหล่งที่มาหลายแห่ง</translation>
 <translation id="436581050240847513">รายงานอินเทอร์เฟซเครือข่ายของอุปกรณ์</translation>
 <translation id="4372704773119750918">ไม่อนุญาตให้ผู้ใช้องค์กรเป็นส่วนหนึ่งของหลายโปรไฟล์ (หลักหรือรอง)</translation>
 <translation id="4377599627073874279">อนุญาตให้ไซต์ทั้งหมดแสดงภาพทั้งหมด</translation>
@@ -1917,6 +1999,7 @@
 <translation id="4826326557828204741">การกระทำที่จะดำเนินการเมื่อไม่มีการใช้งานจนถึงการหน่วงเวลาที่กำหนด ขณะที่ใช้พลังงานจากแบตเตอรี่</translation>
 <translation id="4832852360828533362">การรายงานผู้ใช้และอุปกรณ์</translation>
 <translation id="4834526953114077364">ผู้ใช้ที่มีการใช้งานล่าสุดน้อยที่สุดที่ไม่ได้เข้าสู่ระบบภายใน 3 เดือนที่ผ่านมาจะถูกลบจากกว่าจะมีที่ว่างเพียงพอ</translation>
+<translation id="4835622243021053389">เปิดใช้การตรวจสอบสิทธิ์ NTLMv2</translation>
 <translation id="4858735034935305895">อนุญาตโหมดเต็มหน้าจอ</translation>
 <translation id="4861767323695239729">กำหนดค่าวิธีการป้อนข้อมูลที่อนุญาตในเซสชันผู้ใช้</translation>
 <translation id="487460824085252184">ย้ายข้อมูลอัตโนมัติโดยไม่ขอคำยินยอมจากผู้ใช้</translation>
@@ -2034,6 +2117,11 @@
 
       สิ่งที่ต่างจาก <ph name="URL_LIST_POLICY_NAME" />คือกฎต่างๆ จะใช้กับทั้ง 2 ทาง นั่นคือ เมื่อ Internet Explorer มีและเปิดใช้ส่วนเสริม ส่วนเสริมก็จะเป็นตัวควบคุมด้วยว่า <ph name="IE_PRODUCT_NAME" /> ควรเปิด URL เหล่านี้ใน <ph name="PRODUCT_NAME" /> หรือไม่</translation>
 <translation id="5124368997194894978">เปิดใช้การบูตด้วย AC (ไฟฟ้ากระแสสลับ)</translation>
+<translation id="5131211790949066746">เปิดใช้การรวมนโยบายรายการการติดตั้งส่วนขยาย <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />, <ph name="EXTENSION_INSTALL_WHITELIST_POLICY_NAME" /> และ <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" />
+
+      หากคุณเปิดใช้การตั้งค่านี้ ค่าจากนโยบายแพลตฟอร์มของเครื่อง นโยบายระบบคลาวด์ของเครื่อง และนโยบายแพลตฟอร์มของผู้ใช้จะรวมกันเป็นรายการเดียวแล้วใช้ร่วมกันแทนที่จะใช้เฉพาะค่าจากแหล่งที่มาแห่งเดียวที่มีลำดับความสำคัญสูงสุด
+
+      หากคุณปิดใช้การตั้งค่านี้หรือไม่ได้ตั้งค่า ระบบจะใช้เฉพาะรายการจากแหล่งที่มาที่มีลำดับความสำคัญสูงสุด และแหล่งที่มาอื่นๆ ทั้งหมดจะแสดงเป็นความขัดแย้งแต่ระบบจะไม่สนใจ</translation>
 <translation id="5141670636904227950">ตั้งค่าประเภทของแว่นขยายหน้าจอเริ่มต้นที่เปิดใช้งานบนหน้าจอการเข้าสู่ระบบ</translation>
 <translation id="5142301680741828703">แสดงรูปแบบ URL ต่อไปนี้ใน <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="5148753489738115745">ช่วยให้คุณสามารถกำหนดพารามิเตอร์เพิ่มเติมที่จะนำมาใช้เมื่อ <ph name="PRODUCT_FRAME_NAME" /> เปิดใช้งาน <ph name="PRODUCT_NAME" />
@@ -2143,6 +2231,7 @@
 
       หากไม่ได้ตั้งค่านโยบายนี้ไว้ หรือตั้งค่าเป็นสตริงว่างหรือช่วงพอร์ตที่ไม่ถูกต้อง จะเป็นการอนุญาตให้ WebRTC ใช้พอร์ต UDP ที่ว่างอยู่พอร์ตใดก็ได้ในเครื่อง</translation>
 <translation id="5290940294294002042">ระบุรายการปลั๊กอินที่ผู้ใช้สามารถเปิดหรือปิดใช้งาน</translation>
+<translation id="5306186200045823863">เปิดใช้การเชื่อถือโครงสร้างพื้นฐาน PKI เดิมของ Symantec Corporation</translation>
 <translation id="5307432759655324440">ความพร้อมใช้งานของโหมดไม่ระบุตัวตน</translation>
 <translation id="5318185076587284965">เปิดใช้รีเลย์เซิร์ฟเวอร์โดยโฮสต์การเข้าถึงระยะไกล</translation>
 <translation id="5323128137188992869">อนุญาตให้แคสต์เนื้อหาไปยังอุปกรณ์โดยใช้ <ph name="PRODUCT_NAME" />
@@ -2235,6 +2324,7 @@
       หากกฎขัดแย้งกัน <ph name="PRODUCT_NAME" />จะใช้กฎที่เจาะจงที่สุด</translation>
 <translation id="5475361623548884387">เปิดใช้งานการพิมพ์</translation>
 <translation id="547601067149622666">ไม่อนุญาตโฆษณาในเว็บไซต์ที่มีโฆษณาที่แทรก</translation>
+<translation id="5483065054530244863">อนุญาตใบรับรองที่มีการรับรองของ SHA-1 ที่ออกโดย Trust Anchor ในพื้นที่</translation>
 <translation id="5483777239978559943">นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้ <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> เพื่อควบคุมความพร้อมใช้งานของปลั๊กอิน Flash และใช้ <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> เพื่อควบคุมว่าควรใช้โปรแกรมดู PDF ที่ผสานรวมในการเปิดไฟล์ PDF หรือไม่
 
       ระบุรายการปลั๊กอินที่ผู้ใช้จะเปิดหรือปิดใช้ใน <ph name="PRODUCT_NAME" /> ได้
@@ -2350,6 +2440,17 @@
           หากคุณเปิดใช้หรือไม่ได้ตั้งค่านโยบายนี้ ผู้ใช้จะดูรหัสผ่านของตนได้อย่างชัดเจนในตัวจัดการรหัสผ่าน</translation>
 <translation id="5620392548325769024">เปิดใช้การแสดงหน้าต้อนรับเมื่อเปิดเบราว์เซอร์ครั้งแรกหลังการอัปเกรดระบบปฏิบัติการ</translation>
 <translation id="5630352020869108293">คืนค่าเซสชันล่าสุด</translation>
+<translation id="5643906875497889108">ควบคุมประเภทแอป/ส่วนขยายที่อนุญาตให้ติดตั้งและจำกัดการเข้าถึงรันไทม์
+
+          การตั้งค่านี้จะอนุญาตพิเศษประเภทส่วนขยาย/แอปที่อนุญาตซึ่งติดตั้งใน <ph name="PRODUCT_NAME" /> ได้และโฮสต์ที่โต้ตอบด้วยได้ ค่าคือรายการสตริง ซึ่งแต่ละค่าควรเป็นค่าใดค่าหนึ่งต่อไปนี้ "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app" ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทเหล่านี้ในเอกสารประกอบเกี่ยวกับส่วนขยาย <ph name="PRODUCT_NAME" />
+
+          โปรดทราบว่านโยบายนี้จะส่งผลต่อส่วนขยายและแอปที่จะบังคับให้ติดตั้งผ่าน ExtensionInstallForcelist ด้วย
+
+          หากกำหนดการตั้งค่านี้ ระบบจะไม่ติดตั้งส่วนขยาย/แอปซึ่งมีประเภทที่ไม่ได้อยู่ในรายการ
+
+          หากไม่ได้กำหนดการตั้งค่านี้ จะไม่มีการบังคับใช้ข้อจำกัดเกี่ยวกับประเภทส่วนขยาย/แอปที่ยอมรับได้
+
+          ระบบไม่รองรับการใช้รหัสส่วนขยายหลายรายการที่คั่นด้วยเครื่องหมายจุลภาคก่อนเวอร์ชัน 75 และจะข้ามรหัสดังกล่าว นโยบายส่วนที่เหลือจะยังมีผลต่อไป</translation>
 <translation id="5645779841392247734">อนุญาตให้ใช้คุกกี้บนไซต์เหล่านี้</translation>
 <translation id="5689430183304951538">ขนาดหน้าของการพิมพ์เริ่มต้น</translation>
 <translation id="5693469654327063861">อนุญาตให้ย้ายข้อมูล</translation>
@@ -2389,6 +2490,7 @@
 <translation id="5765780083710877561">คำอธิบาย:</translation>
 <translation id="5770738360657678870">เวอร์ชันที่กำลังพัฒนา (อาจไม่เสถียร)</translation>
 <translation id="5774856474228476867">URL การค้นหาของผู้ให้บริการการค้นหาเริ่มต้น</translation>
+<translation id="5775235485119094648">ชาร์จแบตเตอรี่ขณะอยู่ภายในช่วงคงที่</translation>
 <translation id="5776485039795852974">ถามทุกครั้งที่ไซต์ต้องการแสดงการแจ้งเตือนของเดสก์ท็อป</translation>
 <translation id="5781412041848781654">ระบุไลบรารี GSSAPI ที่จะใช้สำหรับการตรวจสอบสิทธิ์ HTTP คุณสามารถกำหนดเฉพาะชื่อไลบรารีหรือเส้นทางแบบเต็ม
 
@@ -2450,6 +2552,7 @@
 <translation id="5893553533827140852">หากเปิดใช้การตั้งค่านี้ คำขอตรวจสอบสิทธิ์ Gnubby จะส่งผ่านพร็อกซีโดยใช้การเชื่อมต่อโฮสต์ระยะไกล
 
           หากปิดใช้การตั้งค่านี้หรือไม่ได้กำหนดค่า คำขอตรวจสอบสิทธิ์ Gnubby จะไม่ส่งผ่านพร็อกซี</translation>
+<translation id="5897913798715600338">ชาร์จแบตเตอรี่โดยใช้เทคโนโลยีการชาร์จเร็ว</translation>
 <translation id="5898486742390981550">เมื่อมีผู้ใช้หลายคนอยู่ในระบบ จะมีเพียงผู้ใช้หลักเท่านั้นที่ใช้แอป Android ได้</translation>
 <translation id="5900196529149231477">
       นโยบายนี้ใช้กับหน้าจอลงชื่อเข้าใช้ โปรดดูนโยบาย <ph name="ISOLATE_ORIGINS_POLICY_NAME" /> ซึ่งใช้กับเซสชันของผู้ใช้ด้วย ขอแนะนำให้ตั้งทั้ง 2 นโยบายเป็นค่าเดียวกัน ค่าที่ไม่ตรงกันอาจทำให้เกิดความล่าช้าเมื่อเข้าสู่เซสชันผู้ใช้ขณะที่ใช้ค่าตามที่นโยบายผู้ใช้ระบุ
@@ -2458,12 +2561,14 @@
       หากไม่ได้กำหนดค่านโยบายนี้ไว้ ระบบจะใช้การตั้งค่าการแยกเว็บไซต์ที่เป็นค่าเริ่มต้นของแพลตฟอร์มกับหน้าจอการลงชื่อเข้าใช้
       </translation>
 <translation id="5901427587865226597">การพิมพ์ 2 ด้านเท่านั้น</translation>
+<translation id="5905473632148429217">เปิดใช้การตรวจสอบ OCSP/CRL ออนไลน์</translation>
 <translation id="5906199912611534122">อนุญาตการเปิดหรือปิดใช้การควบคุมการใช้งานเครือข่าย
       การเลือกจะมีผลต่อผู้ใช้ทุกคนและกับทุกอินเทอร์เฟซในอุปกรณ์ เมื่อตั้งค่าแล้ว
       การควบคุมการใช้งานเครือข่ายจะเปิดใช้จนกว่าจะเปลี่ยนนโยบายเพื่อปิดใช้
 
       หากตั้งค่าเป็น False จะไม่มีการควบคุมการใช้งานเครือข่าย
       หากตั้งค่าเป็น True ระบบจะถูกควบคุมการใช้งานเครือข่ายเพื่อให้ได้อัตราการอัปโหลดและดาวน์โหลดที่ระบุไว้ (หน่วยเป็น kbits/s)</translation>
+<translation id="591088232153082363">ชาร์จแบตเตอรี่แบบปรับอัตโนมัติโดยอิงตามรูปแบบการชาร์จแบตเตอรี่</translation>
 <translation id="5921713479449475707">อนุญาตการดาวน์โหลดการอัปเดตอัตโนมัติผ่านทาง HTTP</translation>
 <translation id="5921888683953999946">ตั้งค่าสถานะเริ่มต้นของฟีเจอร์การเข้าถึงเคอร์เซอร์ขนาดใหญ่บนหน้าจอการเข้าสู่ระบบ
 
@@ -2485,6 +2590,7 @@
 <translation id="5950205771952201658">ด้วยข้อเท็จจริงที่การตรวจสอบการเพิกถอนออนไลน์แบบ Soft-fail ไม่มีประโยชน์ในด้านการรักษาความปลอดภัยอย่างชัดเจน จึงมีการปิดใช้ไว้โดยค่าเริ่มต้นใน <ph name="PRODUCT_NAME" /> เวอร์ชัน 19 และเวอร์ชันที่ใหม่กว่า หากตั้งค่านโยบายนี้เป็น True จะมีการนำลักษณะการทำงานก่อนหน้านี้มาใช้และการตรวจสอบ OCSP/CRL แบบออนไลน์จะมีการทำงาน
 
       หากไม่ได้ตั้งค่านโยบายนี้หรือตั้งเป็น False จะทำให้ <ph name="PRODUCT_NAME" /> ไม่ตรวจสอบการเพิกถอนแบบออนไลน์ใน <ph name="PRODUCT_NAME" /> 19 และเวอร์ชันที่ใหม่กว่า</translation>
+<translation id="5961137303188584693">ที่อยู่ MAC ของ NIC ในตัวของอุปกรณ์</translation>
 <translation id="5966615072639944554">ส่วนขยายได้รับอนุญาตให้ใช้ API การยืนยันระยะไกล</translation>
 <translation id="5983708779415553259">ลักษณะการทำงานเริ่มต้นสำหรับเว็บไซต์ที่ไม่ได้อยู่ในชุดเนื้อหาใดๆ</translation>
 <translation id="5997543603646547632">ใช้เวลารูปแบบ 24 ชั่วโมงโดยค่าเริ่มต้น</translation>
@@ -2575,6 +2681,17 @@
 <translation id="6111936128861357925">อนุญาตให้เล่นเกมไดโนเสาร์ที่ซ่อนไว้ได้</translation>
 <translation id="6114416803310251055">ถูกกำหนดให้เลิกใช้</translation>
 <translation id="6133088669883929098">อนุญาตให้เว็บไซต์ทั้งหมดใช้การสร้างคีย์</translation>
+<translation id="6136537398661737682">นโยบายนี้ควบคุมสถานะเริ่มต้นของบริการตำแหน่งของ Google
+
+      เมื่อไม่ได้กำหนดค่านโยบายนี้หรือตั้งค่าเป็น <ph name="GLS_DISABLED" /> บริการตำแหน่งของ Google จะปิดใช้ตั้งแต่เริ่มต้น
+
+      เมื่อตั้งค่านโยบายนี้เป็น <ph name="GLS_ENABLED" /> บริการตำแหน่งของ Google จะเปิดใช้ตั้งค่าเริ่มต้น
+
+      เมื่อตั้งค่านโยบายนี้เป็น <ph name="GLS_UNDER_USER_CONTROL" /> ระบบจะขอให้ผู้ใช้เลือกว่าจะใช้บริการตำแหน่งของ Google หรือไม่ การตั้งค่านี้จะทำให้แอป Android ใช้บริการต่างๆ เพื่อค้นหาตำแหน่งของอุปกรณ์ และจะเปิดใช้การส่งข้อมูลตำแหน่งแบบไม่ระบุตัวตนไปยัง Google ด้วย
+
+      โปรดทราบว่านโยบายนี้จะควบคุมสถานะของบริการตำแหน่งของ Google ระหว่างการตั้งค่าเริ่มต้นเท่านั้น ผู้ใช้จะเปิดการตั้งค่า Android ได้หลังจากนั้นและเปิด/ปิดบริการตำแหน่งของ Google ได้
+
+      โปรดทราบว่าระบบจะไม่สนใจนโยบายนี้และบริการตำแหน่งของ Google จะปิดใช้อยู่เสมอเมื่อตั้งค่านโยบาย <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> เป็น <ph name="BLOCK_GEOLOCATION_SETTING" /></translation>
 <translation id="6141402445226505817">ใช้การตรวจหาเขตเวลาคร่าวๆ ทุกครั้ง</translation>
 <translation id="6145799962557135888">ช่วยให้คุณกำหนดรายการของรูปแบบ URL ที่ระบุไซต์ที่ได้รับอนุญาตให้เรียกใช้ JavaScript หากนโยบายนี้ไม่มีการกำหนดไว้ จะใช้ค่าเริ่มต้นทั่วไปสำหรับไซต์ทั้งหมด ทั้งจากนโยบาย "DefaultJavaScriptSetting" หากมีการตั้งค่าไว้ หรือจากการกำหนดค่าส่วนบุคคลของผู้ใช้เอง</translation>
 <translation id="614662973812186053">นโยบายนี้จะยังควบคุมการใช้งาน Android และการรวบรวมข้อมูลการวินิจฉัยด้วยเช่นกัน</translation>
@@ -2648,9 +2765,17 @@
       หากปิดใช้ จะไม่มีการนำเข้าข้อมูลแบบฟอร์มที่ป้อนอัตโนมัติ
 
       หากไม่ได้ตั้งค่า ระบบอาจถามผู้ใช้ว่าจะนำเข้าข้อมูลดังกล่าวไหม หรือการนำเข้าอาจเกิดขึ้นโดยอัตโนมัติ</translation>
+<translation id="6221175752766085998">อนุญาตใบรับรองที่ออกโดย Trust Anchor ในพื้นที่ที่ไม่มีส่วนขยาย subjectAlternativeName</translation>
 <translation id="6224304369267200483">URL/โดเมนอนุญาตการยืนยันกุญแจรักษาความปลอดภัยโดยตรงโดยอัตโนมัติ</translation>
 <translation id="6233173491898450179">ตั้งค่าไดเรกทอรีสำหรับดาวน์โหลด</translation>
 <translation id="6244210204546589761">URL ที่จะเปิดเมื่อเริ่มต้นใช้งาน</translation>
+<translation id="6255387031094435995">อนุญาตให้รวมนโยบายเมื่อนโยบายมาจากแหล่งที่มาต่างๆ ซึ่งมีขอบเขตและระดับเดียวกัน
+
+        หากนโยบายอยู่ในรายการ ในกรณีที่มีความขัดแย้งระหว่างแหล่งที่มา 2 แห่งซึ่งมีขอบเขตและระดับเดียวกัน จะมีการรวมค่าเป็นรายการนโยบายใหม่
+
+        หากนโยบายอยู่ในรายการ ในกรณีที่มีความขัดแย้งระหว่างแหล่งที่มา 2 แห่งแต่ก็มีขอบเขตและ/หรือระดับต่างกันด้วย ระบบจะใช้นโยบายที่มีลำดับความสำคัญสูงสุด
+
+        หากนโยบายไม่ได้อยู่ในรายการ ในกรณีที่มีความขัดแย้งระหว่างแหล่งที่มา ขอบเขต และ/หรือระดับ ระบบจะใช้นโยบายที่มีลำดับความสำคัญสูงสุด</translation>
 <translation id="6258193603492867656">ระบุว่า Kerberos SPN ที่สร้างขึ้นควรจะรวมพอร์ตที่ไม่ใช่แบบมาตรฐานไว้หรือไม่ หากคุณเปิดใช้งานการตั้งค่านี้และป้อนพอร์ตที่ไม่ใช่แบบมาตรฐาน (เช่น พอร์ตอื่นๆ นอกจาก 80 หรือ 443) เข้าไป พอร์ตดังกล่าวจะถูกรวมไว้ใน Kerberos SPN ที่สร้างขึ้น หากคุณปิดใช้งานการตั้งค่านี้หรือปล่อยให้ไม่มีการตั้งค่า Kerberos SPN ที่สร้างขึ้นจะไม่รวมพอร์ตไม่ว่าในกรณีใดๆ</translation>
 <translation id="6261643884958898336">รายงานข้อมูลการระบุเครื่อง</translation>
 <translation id="6281043242780654992">กำหนดค่านโยบายสำหรับการรับส่งข้อความดั้งเดิม โฮสต์การรับส่งข้อความดั้งเดิมที่อยู่ในบัญชีดำจะไม่ได้รับอนุญาตเว้นเสียแต่ว่าจะถูกกำหนดให้อยู่ในรายการที่อนุญาตพิเศษ</translation>
@@ -2848,6 +2973,7 @@
 <translation id="6757438632136860443">อนุญาตให้คุณกำหนดรูปแบบ URL ที่ระบุไซต์ซึ่งไม่ได้รับอนุญาตให้เรียกใช้ปลั๊กอิน <ph name="FLASH_PLUGIN_NAME" />
 
           หากไม่ได้ตั้งค่านโยบายนี้ ระบบจะใช้ค่าเริ่มต้นทั่วไปกับเว็บไซต์ทั้งหมด ทั้งจากนโยบาย "DefaultPluginsSetting" หากมีการตั้งค่า หรือจากการกำหนดค่าส่วนตัวของผู้ใช้</translation>
+<translation id="6757613329154374267">การสำรองและกู้คืนข้อมูลเปิดใช้อยู่</translation>
 <translation id="6762235610019366960">ให้คุณควบคุมการนำเสนอเนื้อหาโปรโมตและ/หรือเนื้อหาด้านการศึกษาใน <ph name="PRODUCT_NAME" /> แบบเต็มแท็บ
 
       หากไม่ได้กำหนดค่าหรือเปิดใช้ (ตั้งค่าเป็นจริง) <ph name="PRODUCT_NAME" /> สามารถแสดงเนื้อหาแบบเต็มแท็บต่อผู้ใช้เพื่อให้ข้อมูลผลิตภัณฑ์
@@ -2870,6 +2996,7 @@
       สตริงมีตัวแปร ${ASSET_ID}, ${SERIAL_NUM}, ${MAC_ADDR}, ${MACHINE_NAME} ได้ ซึ่งจะแทนที่ด้วยค่าในอุปกรณ์ก่อนที่จะใช้เป็นชื่อโฮสต์ ชื่อทดแทนที่ได้จะต้องเป็นชื่อโฮสต์ที่ถูกต้อง (ตาม RFC 1035 ส่วน 3.1)
 
       หากไม่ได้ตั้งค่านโยบายนี้ หรือค่าหลังการแทนที่ไม่ใช่ชื่อโฮสต์ที่ถูกต้อง ก็จะไม่มีการกำหนดชื่อโฮสต์ในคำขอ DHCP </translation>
+<translation id="6833988859168635883">เริ่มต้นใช้งาน หน้าแรก และหน้าแท็บใหม่</translation>
 <translation id="6835883744948188639">แสดงข้อความแจ้งที่ปรากฏขึ้นซ้ำๆ แก่ผู้ใช้เพื่อแจ้งว่าควรเปิดเบราว์เซอร์ขึ้นมาใหม่</translation>
 <translation id="6837480141980366278">ควบคุมว่าจะใช้ไคลเอ็นต์ DNS ในตัวใน <ph name="PRODUCT_NAME" /> หรือไม่
 
@@ -2979,6 +3106,17 @@
 
       เมื่อหน้าจอกำลังจะหรี่แสง รูปแบบการหรี่แสงอัจฉริยะจะประเมินว่าควรเลื่อนการหรี่แสงหน้าจอออกไปก่อนหรือไม่ หากรูปแบบการหรี่แสงอัจฉริยะเลื่อนการหรี่แสง จะมีการขยายเวลาอย่างมีประสิทธิภาพจนกว่าแสงหน้าจอจะหรี่ลง ในกรณีนี้ ระบบจะปรับการปิดหน้าจอ การล็อกหน้าจอ และการหน่วงเวลาของการไม่ใช้งาน เพื่อรักษาระยะจากการหน่วงเวลาการหรี่แสงหน้าจอให้อยู่ในระดับเดียวกันกับค่ากำหนดเดิม
       หากตั้งค่านโยบายนี้เป็น "จริง" หรือไม่ได้ตั้งค่า ระบบจะเปิดใช้รูปแบบการหรี่แสงอัจฉริยะและอนุญาตให้ขยายเวลาจนกว่าแสงหน้าจอจะหรี่ลง หากตั้งค่านโยบายนี้เป็น "เท็จ" รูปแบบการหรี่แสงอัจฉริยะจะไม่มีผลต่อการหรี่แสงหน้าจอ</translation>
+<translation id="6967394885063085697">เปิดใช้นโยบายการจัดการพลังงานของโหมดการชาร์จแบตเตอรี่ขั้นสูง
+
+          โหมดการชาร์จแบตเตอรี่ขั้นสูงช่วยให้ผู้ใช้เพิ่มประสิทธิภาพแบตเตอรี่ได้สูงสุด ในโหมดการชาร์จขั้นสูง ระบบจะใช้อัลกอริทึมการชาร์จมาตรฐานและเทคนิคอื่นๆ ในช่วงที่ไม่มีการทำงานเพื่อเพิ่มประสิทธิภาพแบตเตอรี่สูงสุด ในช่วงที่มีการทำงาน ระบบจะใช้การชาร์จด่วน การชาร์จด่วนนี้ช่วยให้ชาร์จแบตเตอรี่ได้เร็วขึ้น แบตเตอรี่จึงชาร์จเต็มเร็วขึ้น เวลาที่จะมีการใช้งานระบบมากที่สุดในแต่ละวันจะระบุโดยวันที่เริ่มต้นและระยะเวลา
+
+          หากตั้งค่านโยบายนี้เป็น "จริง" และมีการตั้งค่า DeviceAdvancedBatteryChargeModeDayConfig ระบบจะเปิดใช้โหมดการชาร์จแบตเตอรี่ขั้นสูงอยู่เสมอหากอุปกรณ์รองรับ
+
+          หากตั้งค่านโยบายนี้เป็น "เท็จ" ระบบจะปิดใช้โหมดการชาร์จแบตเตอรี่ขั้นสูงอยู่เสมอ
+
+          หากตั้งค่านโยบายนี้ ผู้ใช้จะเปลี่ยนหรือลบล้างไม่ได้
+
+          หากไม่ได้ตั้งค่านโยบายนี้ ระบบจะปิดใช้โหมดการชาร์จแบตเตอรี่ขั้นสูงและผู้ใช้จะเปิดใช้โหมดนี้ไม่ได้</translation>
 <translation id="6972540544240464302">เลือกการกำหนดค่าเครื่องจัดตารางเวลางาน</translation>
 <translation id="6979158407327259162">Google ไดรฟ์</translation>
 <translation id="6994082778848658360">ระบุวิธีที่สามารถใช้ฮาร์ดแวร์องค์ประกอบความปลอดภัยในเครื่องเพื่อทำการตรวจสอบสิทธิ์จากปัจจัยที่สอง หากขั้นตอนดังกล่าวใช้ได้กับฟีเจอร์นี้ จะมีการใช้ปุ่มเปิด/ปิดของเครื่องในการตรวจหาตัวตนจริงของผู้ใช้
@@ -3044,6 +3182,17 @@
       หากคุณเปิดหรือปิดใช้การตั้งค่านี้ ผู้ใช้จะไม่สามารถเปลี่ยนหรือลบล้างการตั้งค่านี้ได้
 
       หากไม่ได้ตั้งค่านโยบายนี้ ผู้ใช้สามารถเลือกได้ว่าเขาต้องการให้มีการสอบถามรหัสผ่านเพื่อปลดล็อกอุปกรณ์หรือไม่</translation>
+<translation id="7107148737865880402">เปิดใช้นโยบายการจัดการพลังงานของการแชร์พลังงานผ่าน USB
+
+          อุปกรณ์บางเครื่องจะมีพอร์ต USB ที่เจาะจงซึ่งมีไอคอนรูปสายฟ้าหรือรูปแบตเตอรี่ที่ใช้เพื่อชาร์จอุปกรณ์อย่างเช่น โทรศัพท์มือถือ โดยใช้แบตเตอรี่ของระบบได้ นโยบายนี้ส่งผลต่อลักษณะการชาร์จของพอร์ตนี้ขณะที่ระบบอยู่ในโหมดสลีปและโหมดปิดเครื่อง นโยบายนี้ไม่ส่งผลต่อพอร์ต USB อื่นๆ และลักษณะการชาร์จขณะที่ระบบทำงานอยู่
+
+          เมื่อระบบทำงานอยู่ พอร์ต USB จะจ่ายไฟอยู่เสมอ
+
+          เมื่อระบบอยู่ในโหมดสลีป หากตั้งค่านโยบายนี้เป็น "จริง" จะมีการจ่ายไฟไปยังพอร์ต USB เมื่ออุปกรณ์เสียบอยู่กับที่ชาร์จแบบเสียบผนังหรือหากระดับแบตเตอรี่มากกว่า 50% มิเช่นนั้นจะไม่มีการจ่ายไฟ
+
+          เมื่อระบบอยู่ในโหมดปิดเครื่อง หากตั้งค่านโยบายนี้เป็น "จริง" จะมีการจ่ายไฟไปยังพอร์ต USB เมื่ออุปกรณ์เสียบอยู่กับที่ชาร์จแบบเสียบผนัง มิเช่นนั้นจะไม่มีการจ่ายไฟ
+
+          หากไม่ได้ตั้งค่านโยบายนี้ ระบบจะเปิดใช้นโยบายและผู้ใช้จะปิดใช้นโยบายนี้ไม่ได้</translation>
 <translation id="7115494316187648452">กำหนดว่าการดำเนินการ <ph name="PRODUCT_NAME" /> จะเริ่มต้นบนการเข้าสู่ระบบของระบบปฏิบัติการและทำงานต่อเมื่อหน้าต่างเบราว์เซอร์สุดท้ายปิดลงไหม เพื่อให้แอปพื้นหลังและเซสชันการเรียกดูปัจจุบันยังคงใช้งานได้อยู่ ซึ่งรวมถึงคุกกี้เซสชันทั้งหมด การดำเนินการในพื้นหลังจะแสดงไอคอนในถาดระบบและสามารถปิดได้จากตรงนั้น
 
       หากนโยบายนี้ตั้งค่าเป็น True โหมดพื้นหลังจะเปิดใช้และผู้ใช้จะควบคุมไม่ได้ในการตั้งค่าเบราว์เซอร์
@@ -3093,6 +3242,7 @@
           หากตั้งค่านโยบายนี้เป็น "จริง" หรือไม่ได้ตั้งค่า ระบบจะยอมรับการทำงานขณะล็อกหน้าจอสำหรับการจัดการพลังงาน เว้นแต่มีการตั้งค่า AllowWakeLocks เป็น "เท็จ"
 
           หากตั้งค่านโยบายนี้เป็น "เท็จ" ระบบจะลดระดับคำขอการทำงานขณะล็อกหน้าจอเป็นคำขอการทำงานขณะล็อกระบบ</translation>
+<translation id="7177857088692019405">ปลดล็อกด่วน</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
 <translation id="718956142899066210">ประเภทการเชื่อมต่อที่อนุญาตสำหรับการอัปเดต</translation>
 <translation id="7194407337890404814">ชื่อผู้ให้บริการการค้นหาเริ่มต้น</translation>
@@ -3157,6 +3307,7 @@
 <translation id="7273823081800296768">หากการตั้งค่านี้เปิดใช้งานหรือไม่ได้กำหนดค่า ผู้ใช้สามารถเลือกที่จะจับคู่ลูกค้าและโฮสต์ในเวลาเชื่อมต่อ โดยไม่จำเป็นต้องป้อน PIN ทุกครั้ง
 
           หากการตั้งค่านี้ถูกปิดใช้งาน ฟีเจอร์นี้จะไม่สามารถใช้ได้</translation>
+<translation id="7274077256421167535">เปิดใช้การแชร์พลังงานผ่าน USB</translation>
 <translation id="7275334191706090484">บุ๊กมาร์กที่มีการจัดการ</translation>
 <translation id="7291084543582732020">หากเปิดใช้การตั้งค่านี้ ผู้ใช้จะใช้ Smart Lock ได้หากปฏิบัติตามข้อกำหนดของฟีเจอร์นี้
 
@@ -3170,6 +3321,7 @@
 
           นโยบายนี้จะสามารถใช้ได้เฉพาะเมื่อเปิดใช้งานนโยบาย "DefaultSearchProviderEnabled" เท่านั้น</translation>
 <translation id="7302043767260300182">ระยะหน่วงเวลาการล็อกหน้าจอเมื่อทำงานโดยใช้ไฟ AC</translation>
+<translation id="7305262223970835999">เปิดใช้หน้าสำหรับการเปลี่ยนรหัสผ่านในเซสชันของผู้ใช้ SAML</translation>
 <translation id="7311458740754205918">หากตั้งค่าเป็น True หรือไม่ได้ตั้งค่า หน้า "แท็บใหม่" อาจแสดงคำแนะนำเนื้อหาโดยอิงจากประวัติการท่องเว็บ ความสนใจ หรือสถานที่ของผู้ใช้
 
       หากตั้งค่าเป็น False คำแนะนำเนื้อหาที่สร้างขึ้นโดยอัตโนมัติจะไม่แสดงในหน้า "แท็บใหม่"</translation>
@@ -3298,6 +3450,15 @@
 
 
       หากไม่มีการตั้งค่านโยบายนี้ จะมีการใช้ขนาดเริ่มต้นและผู้ใช้จะสามารถลบล้างด้วยธง --disk-cache-size</translation>
+<translation id="759389052790680884">ตั้งค่าการหยุดชาร์จแบตเตอรี่ที่กำหนดเองเป็นเปอร์เซ็นต์
+
+          แบตเตอรี่จะหยุดชาร์จเมื่อถึงค่าการหยุดชาร์จแบตเตอรี่ที่กำหนดเอง
+
+          DeviceBatteryChargeCustomStartCharging ต้องน้อยกว่า DeviceBatteryChargeCustomStopCharging
+
+          ระบบจะใช้นโยบายนี้เมื่อตั้งค่า DeviceBatteryChargeMode เป็นกำหนดเองเท่านั้น
+
+          หากไม่ได้กำหนดค่านโยบายนี้หรือไม่ได้ตั้งค่า อาจมีการใช้โหมดการชาร์จแบตเตอรี่มาตรฐาน</translation>
 <translation id="759957074386651883">การตั้งค่า Safe Browsing</translation>
 <translation id="7604169113182304895">แอป Android อาจเลือกใช้รายการด้วยความสมัครใจ คุณไม่สามารถบังคับแอปให้เลือกได้</translation>
 <translation id="7612157962821894603">การตั้งค่าสถานะที่ใช้ทั้งระบบที่จะนำไปใช้กับการเริ่มต้นใช้งาน <ph name="PRODUCT_NAME" /></translation>
@@ -3372,6 +3533,15 @@
 <translation id="7712109699186360774">ถามทุกครั้งที่ไซต์ต้องการเข้าถึงกล้องและ/หรือไมโครโฟน</translation>
 <translation id="7713608076604149344">ข้อจำกัดในการดาวน์โหลด</translation>
 <translation id="7715711044277116530">เปอร์เซ็นต์ของระดับการปรับการหน่วงเวลาการสลัวหน้าจอในโหมดการนำเสนอ</translation>
+<translation id="7716781462866245042">ตั้งค่ากำหนดวันของโหมดการชาร์จแบตเตอรี่ขั้นสูง
+
+          ระบบจะใช้นโยบายนี้หากตั้งค่า DeviceAdvancedBatteryChargeModeEnabled เป็น "จริง" เท่านั้น
+
+          หากไม่ได้กำหนดค่านโยบายนี้หรือไม่ได้ตั้งค่า ระบบจะปิดใช้โหมดการชาร์จแบตเตอรี่ขั้นสูงอยู่เสมอ
+
+          หมายเหตุ: <ph name="CHARGE_START_TIME_FIELD_NAME" /> ต้องน้อยกว่า <ph name="CHARGE_END_TIME_FIELD_NAME" />
+
+          หมายเหตุ: ค่าที่อนุญาตสำหรับช่อง <ph name="MINUTE_FIELD_NAME" /> ใน <ph name="CHARGE_START_TIME_FIELD_NAME" /> และ <ph name="CHARGE_END_TIME_FIELD_NAME" /> คือ 0, 15, 30, 45</translation>
 <translation id="7717938661004793600">กำหนดค่าฟีเจอร์การเข้าถึงของ <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="7724994675283793633">นโยบายนี้เปิดใช้ HTTP/0.9 บนพอร์ตอื่นนอกเหนือจากพอร์ต 80 สำหรับ HTTP และพอร์ต 443 สำหรับ HTTPS
 
@@ -3445,6 +3615,7 @@
       กำหนด ID ของส่วนขยายที่จะใช้เป็นโปรแกรมรักษาหน้าจอบนหน้าจอลงชื่อเข้าใช้ ส่วนขยายนี้ต้องเป็นส่วนหนึ่งของ AppPack ซึ่งได้รับการกำหนดค่าสำหรับโดเมนนี้ผ่านทางนโยบาย DeviceAppPack</translation>
 <translation id="7882857838942884046">การปิดใช้ Google Sync จะทำให้การสำรองข้อมูลและการคืนค่าของ Android ทำงานได้อย่างไม่สมบูรณ์</translation>
 <translation id="7882890448959833986">ระงับคำเตือนระบบปฏิบัติการที่ไม่ได้รับการสนับสนุน</translation>
+<translation id="7895553628261067384">การเข้าถึงระยะไกล</translation>
 <translation id="7902255855035461275">รูปแบบในรายการนี้จะจับคู่กับต้นทาง
       การรักษาความปลอดภัยของ URL ที่ขอ หากพบต้นทางที่ตรงกัน ระบบจะอนุญาตให้
       เข้าถึงอุปกรณ์จับภาพวิดีโอโดยไม่แจ้งเตือน
@@ -3458,6 +3629,11 @@
 <translation id="7937491150792971922">รวมนโยบายรายการการติดตั้งส่วนขยายจากแหล่งที่มาหลายๆ แห่ง</translation>
 <translation id="7937766917976512374">อนุญาตหรือปฏิเสธการจับวิดีโอ</translation>
 <translation id="7941975817681987555">อย่าคาดการณ์การทำงานของเครือข่ายจากการเชื่อมต่อเครือข่ายใดๆ</translation>
+<translation id="7952007677054834789">กำหนดค่าหน้าที่จะโหลดเมื่อเริ่มต้นใช้งาน หน้าแรกเริ่มต้นและหน้าแท็บใหม่เริ่มต้นใน <ph name="PRODUCT_NAME" /> และป้องกันไม่ให้ผู้ใช้เปลี่ยนแปลงหน้าเหล่านี้
+
+      การตั้งค่าหน้าแรกของผู้ใช้จะถูกล็อกโดยสมบูรณ์ หากคุณเลือกหน้าแรกเป็นหน้าแท็บใหม่ หรือตั้งค่าให้เป็น URL และระบุ URL ของหน้าแรก หากคุณไม่ได้ระบุ URL ของหน้าแรก ผู้ใช้จะยังตั้งค่าหน้าแรกเป็นหน้าแท็บใหม่ได้โดยระบุ "chrome://newtab"
+
+      ระบบจะไม่สนใจนโยบาย "URL ที่จะเปิดเมื่อเริ่มต้นใช้งาน" เว้นแต่ว่าคุณจะเลือก "เปิดรายการ URL" ใน "การดำเนินการเมื่อเริ่มต้นใช้งาน"</translation>
 <translation id="7952958573604504839">เราเลิกใช้งานนโยบายนี้แล้วใน M48 เพื่อใช้นโยบาย <ph name="NETWORK_PREDICTION_OPTIONS_POLICY_NAME" /> และได้นำออกใน M54
 
       เปิดใช้การคาดคะเนเครือข่ายใน <ph name="PRODUCT_NAME" /> และป้องกันไม่ให้ผู้ใช้เปลี่ยนการตั้งค่านี้
@@ -3595,6 +3771,7 @@
 <translation id="8176035528522326671">อนุญาตให้ผู้ใช้ขององค์กรเป็นผู้ใช้หลักแบบหลายโปรไฟล์เท่านั้น (ค่าเริ่มต้นสำหรับผู้ใช้ที่มีองค์กรเป็นผู้จัดการ)</translation>
 <translation id="8214600119442850823">กำหนดค่าตัวจัดการรหัสผ่าน</translation>
 <translation id="8217516105848565518">นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้ RemoteAccessHostDomainList แทน</translation>
+<translation id="8244171102276095471">เปิดใช้ชุดการเข้ารหัส RC4 ใน TLS</translation>
 <translation id="8244525275280476362">การหน่วงเวลาสูงสุดในการดึงข้อมูลภายหลังการลบล้างนโยบาย</translation>
 <translation id="8256688113167012935">ควบคุมชื่อบัญชี <ph name="PRODUCT_OS_NAME" /> ที่แสดงในหน้าลงชื่อเข้าใช้สำหรับบัญชีภายในอุปกรณ์ที่เกี่ยวข้องกัน
 
@@ -3635,6 +3812,7 @@
 <translation id="8312129124898414409">ช่วยให้คุณกำหนดว่าเว็บไซต์ได้รับอนุญาตให้ใช้การสร้างคีย์หรือไม่ โดยสามารถอนุญาตหรือไม่อนุญาตให้เว็บไซต์ทั้งหมดใช้การสร้างคีย์
 
           หากไม่ได้ตั้งค่านโยบายนี้ไว้ ระบบจะใช้ "BlockKeygen" และผู้ใช้จะสามารถเปลี่ยนแปลงได้</translation>
+<translation id="8320149248919453401">โหมดการชาร์จแบตเตอรี่</translation>
 <translation id="8329984337216493753">นโยบายนี้ใช้งานได้ในโหมดปลีกเท่านั้น
 
       เมื่อมีการระบุค่า DeviceIdleLogoutTimeout นโยบายนี้จะกำหนดระยะเวลาของช่องเตือนที่มีตัวเลขนับถอยหลังซึ่งจะแสดงให้ผู้ใช้เห็นก่อนที่จะดำเนินการออกจากระบบ
@@ -3799,6 +3977,7 @@
       หากไม่ได้ตั้งค่า ระบบจะใช้ระยะเวลาเริ่มต้นที่ 345,600,000 มิลลิวินาที (4 วัน) สำหรับอุปกรณ์ <ph name="PRODUCT_OS_NAME" /> และ 604,800,000 มิลลิวินาที (1 สัปดาห์) สำหรับ <ph name="PRODUCT_NAME" /></translation>
 <translation id="8685024486845674965">เรียกใช้การแจ้งเตือนการป้องกันด้วยรหัสผ่านเมื่อมีการใช้รหัสผ่านซ้ำ</translation>
 <translation id="8693243869659262736">ใช้ไคลเอ็นต์ DNS ในตัว</translation>
+<translation id="8698286761337647563">จำนวนวันที่จะแจ้งผู้ใช้ SAML ล่วงหน้าเมื่อรหัสผ่านจะหมดอายุ</translation>
 <translation id="8703488928438047864">รายงานสถานะของบอร์ด</translation>
 <translation id="8703872185032220081">กำหนดค่าวันที่เปิดใช้พาวเวอร์พีคชิฟต์
 
@@ -3843,6 +4022,7 @@
       หากปิดใช้การตั้งค่านี้หรือไม่ได้ตั้งค่า บริการปกป้องรหัสผ่านจะส่งผู้ใช้ไปที่ https://myaccounts.google.com เพื่อเปลี่ยนรหัสผ่าน
       นโยบายนี้ใช้ได้เฉพาะในอินสแตนซ์ Windows ซึ่งเข้าร่วมโดเมน <ph name="MS_AD_NAME" /> หรืออินสแตนซ์ Windows 10 Pro หรือ Enterprise ที่เข้าร่วมการจัดการอุปกรณ์</translation>
 <translation id="8798099450830957504">ค่าเริ่มต้น</translation>
+<translation id="8800453707696044281">ตั้งค่าการหยุดชาร์จแบตเตอรี่ที่กำหนดเองเป็นเปอร์เซ็นต์</translation>
 <translation id="8801680448782904838">แจ้งผู้ใช้ว่าควรหรือจำเป็นต้องเปิดเบราว์เซอร์ขึ้นมาใหม่หรือรีสตาร์ทอุปกรณ์</translation>
 <translation id="8818173863808665831">รายงานตำแหน่งทางภูมิศาสตร์ของอุปกรณ์
 
@@ -3970,6 +4150,11 @@
       นโยบายนี้จะมีผลเฉพาะกับผู้ใช้ที่ตรวจสอบสิทธิ์โดยใช้ SAML
 
       ค่านโยบายต้องมีหน่วยเป็นวินาที</translation>
+<translation id="9018338365267278833">นโยบายนี้จะนำส่วนขยายที่ปรากฏใน <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> หรือส่วนขยายที่ปรากฏใน <ph name="EXTENSION_SETTINGS_POLICY_NAME" /> ซึ่งตั้งค่าโหมดการติดตั้งเป็นถูกบล็อก และจะลบข้อมูลผู้ใช้ในเครื่องอย่างถาวร  โปรดอ่านนโยบายความเป็นส่วนตัวของส่วนขยายหรือนโยบายการเก็บรักษาข้อมูลเพื่อทำความเข้าใจสิ่งที่อาจเกิดขึ้นกับข้อมูลผู้ใช้ที่ไม่ได้เก็บไว้ในเครื่อง
+
+      เมื่อตั้งค่านโยบายนี้เป็นเปิดใช้ ระบบจะนำส่วนขยายซึ่งอยู่ในรายการที่ระบุไว้ก่อนหน้านี้ (หากมีการติดตั้งไว้) ออกจากเครื่องทั้งหมด (รวมถึงข้อมูลผู้ใช้ในเครื่องด้วย)
+
+      เมื่อตั้งค่านโยบายนี้เป็นปิดใช้หรือไม่ได้ตั้งค่า ระบบจะปิดใช้ส่วนขยายในเครื่องซึ่งอยู่ในรายการที่ระบุไว้ก่อนหน้านี้ (หากมีการติดตั้งไว้และอยู่ในบัญชีดำ <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />) และจะไม่ถอนการติดตั้ง</translation>
 <translation id="9027787254195333560">นโยบายนี้ให้คุณกำหนดค่ารูปโปรไฟล์ที่ใช้แสดงแทนผู้ใช้ในหน้าจอเข้าสู่ระบบ นโยบายนี้กำหนดได้ด้วยการระบุ URL ที่ <ph name="PRODUCT_OS_NAME" /> สามารถดาวน์โหลดรูปโปรไฟล์และการแฮชแบบเข้ารหัสที่ใช้ในการยืนยันความสมบูรณ์ของการดาวน์โหลด รูปภาพต้องอยู่ในรูปแบบ JPEG และมีขนาดไม่เกิน 512 KB ส่วน URL ก็ต้องเข้าถึงได้โดยไม่ต้องตรวจสอบสิทธิ์
 
       ระบบจะดาวน์โหลดและแคชรูปโปรไฟล์ แล้วจะดาวน์โหลดอีกครั้งเมื่อ URL หรือแฮชมีการเปลี่ยนแปลง
diff --git a/components/previews/core/previews_experiments.cc b/components/previews/core/previews_experiments.cc
index 70610826..6af6e4a 100644
--- a/components/previews/core/previews_experiments.cc
+++ b/components/previews/core/previews_experiments.cc
@@ -387,6 +387,12 @@
       features::kResourceLoadingHints, kResourceLoadingHintsInflationBytes, 0);
 }
 
+size_t OfflinePreviewsHelperMaxPrefSize() {
+  return GetFieldTrialParamByFeatureAsInt(
+      features::kOfflinePreviewsFalsePositivePrevention, "max_pref_entries",
+      100);
+}
+
 }  // namespace params
 
 std::string GetStringNameForType(PreviewsType type) {
diff --git a/components/previews/core/previews_experiments.h b/components/previews/core/previews_experiments.h
index 98d06e47..53cc42e 100644
--- a/components/previews/core/previews_experiments.h
+++ b/components/previews/core/previews_experiments.h
@@ -195,6 +195,10 @@
 // bytes to for inflating the original_bytes count.
 int ResourceLoadingHintsPreviewsInflationBytes();
 
+// The maximum number of pref entries that should be kept by
+// PreviewsOfflineHelper.
+size_t OfflinePreviewsHelperMaxPrefSize();
+
 }  // namespace params
 
 }  // namespace previews
diff --git a/components/strings/components_chromium_strings_mr.xtb b/components/strings/components_chromium_strings_mr.xtb
index 56193033..d863c35 100644
--- a/components/strings/components_chromium_strings_mr.xtb
+++ b/components/strings/components_chromium_strings_mr.xtb
@@ -34,7 +34,7 @@
           हे समस्‍येचे निराकरण करीत नसल्‍यास, आम्‍ही
 सुधारित कार्यप्रदर्शनासाठी पुन्हा
           हा पर्याय निवडण्याची शिफारस करतो.</translation>
-<translation id="8187289872471304532">अॅप्लिकेशन &gt; सिस्टम प्राधान्ये &gt; नेटवर्क &gt; प्रगत &gt; प्रॉक्सी
+<translation id="8187289872471304532">ॲप्लिकेशन &gt; सिस्टम प्राधान्ये &gt; नेटवर्क &gt; प्रगत &gt; प्रॉक्सी
           वर जा आणि निवडलेल्या कोणत्याही प्रॉक्सींची निवड रद्द करा.</translation>
 <translation id="8684913864886094367">Chromium योग्यरित्या बंद केले नव्‍हते.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/strings/components_google_chrome_strings_mr.xtb b/components/strings/components_google_chrome_strings_mr.xtb
index 060733d..5968f55 100644
--- a/components/strings/components_google_chrome_strings_mr.xtb
+++ b/components/strings/components_google_chrome_strings_mr.xtb
@@ -34,6 +34,6 @@
           &gt;
           LAN सेटिंग्ज
           वर जा आणि "आपल्या LAN साठी एक प्रॉक्सी सर्व्हर वापरा" निवड रद्द करा.</translation>
-<translation id="8187289872471304532">अॅप्लिकेशन &gt; सिस्टम प्राधान्ये &gt; नेटवर्क &gt; प्रगत &gt; प्रॉक्सी
+<translation id="8187289872471304532">ॲप्लिकेशन &gt; सिस्टम प्राधान्ये &gt; नेटवर्क &gt; प्रगत &gt; प्रॉक्सी
           वर जा आणि निवडलेल्या कोणत्याही प्रॉक्सींची निवड रद्द करा.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb
index 8bc2622..5538c48b 100644
--- a/components/strings/components_strings_ar.xtb
+++ b/components/strings/components_strings_ar.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="ar">
+<translation id="1001338328714563407">بصفتك مدير الجهاز والحساب، <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">ليس الآن</translation>
 <translation id="1010200102790553230">تحميل الصفحة لاحقًا</translation>
 <translation id="1015730422737071372">تقديم تفاصيل إضافية</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">الحافظة</translation>
 <translation id="2587730715158995865">من <ph name="ARTICLE_PUBLISHER" />. يمكنك قراءة هذه المقالة و<ph name="OTHER_ARTICLE_COUNT" /> قصص أخرى.</translation>
 <translation id="2587841377698384444">رقم تعريف واجهة برمجة التطبيقات الدليل:</translation>
+<translation id="2595719060046994702">لا تتم إدارة جهازك وحسابك من خلال شركة أو مؤسسة أخرى.</translation>
 <translation id="2597378329261239068">هذا المستند محمي بكلمة المرور.  يُرجى إدخال كلمة مرور.</translation>
 <translation id="2609632851001447353">الاختلافات</translation>
 <translation id="2618023639789766142">‏C10 (مغلف)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">تمت إعادة تعيين الاتصال.</translation>
 <translation id="2788784517760473862">بطاقات الائتمان المقبولة</translation>
+<translation id="2792012897584536778">أعدّ مشرفو هذا الجهاز شهادات الأمان التي قد تسمح لهم بالاطّلاع على محتوى مواقع الويب التي تزورها.</translation>
 <translation id="2794233252405721443">تم حظر الموقع</translation>
 <translation id="2799020568854403057">يحتوي موقع الويب المقصود على تطبيقات ضارة</translation>
 <translation id="2799223571221894425">إعادة تشغيل</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">العناوين</translation>
 <translation id="290376772003165898">أليست الصفحة باللغة <ph name="LANGUAGE" />؟</translation>
 <translation id="2909946352844186028">تم اكتشاف حدوث تغيير في الشبكة.</translation>
+<translation id="2910133103376701357">يدير <ph name="ENROLLMENT_DOMAIN" /> جهازك وحسابك.</translation>
 <translation id="2916038427272391327">إغلاق البرامج الأخرى</translation>
 <translation id="2922350208395188000">لا يمكن التحقق من شهادة الخادم.</translation>
 <translation id="2925673989565098301">طريقة التسليم</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">يمكنك إيقاف أي خوادم وكيلة تمت تهيئتها لاتصال من صفحة الإعدادات.</translation>
 <translation id="2955913368246107853">إغلاق شريط البحث</translation>
 <translation id="2969319727213777354">‏لإنشاء اتصال آمن، فإنك بحاجة إلى ضبط ساعتك بشكل صحيح. وذلك لأن الشهادات التي تستخدمها مواقع الويب لتعريف نفسها تكون صالحة فقط لفترات محددة من الوقت. فإذا كانت ساعة جهازك غير صحيحة، فلن يتمكن Google Chrome من التحقق من هذه الشهادات.</translation>
+<translation id="2970515157925768593">يمكن تغيير إعداد الجهاز والحساب عن بُعد.</translation>
 <translation id="2972581237482394796">إعا&amp;دة</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" />، تم تحديده حاليًا. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">محو البيانات</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">عرض نسخة محفوظة</translation>
 <translation id="3008447029300691911">‏أدخل رمز التحقق من البطاقة (CVC) لـ <ph name="CREDIT_CARD" />. بعد تأكيدك، ستتم مشاركة تفاصيل بطاقتك مع هذا الموقع.</translation>
 <translation id="3010559122411665027">إدخال القائمة "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">بصفتك مدير هذا الجهاز، <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">تم الحظر تلقائيًا</translation>
 <translation id="3023071826883856138">‏You4 (مغلف)</translation>
 <translation id="3024663005179499861">نوع السياسة غير صحيح</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">التنزيل عند الاتصال بالإنترنت</translation>
 <translation id="3293642807462928945">مزيد من المعلومات عن سياسة <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">لم يتم العثور على أي نتائج بحث</translation>
+<translation id="3311730110465560799">يمكن تغيير إعداد الجهاز عن بُعد.</translation>
 <translation id="3320021301628644560">إضافة عنوان إرسال الفواتير</translation>
 <translation id="3324983252691184275">قرمزي</translation>
 <translation id="3338095232262050444">آمن</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">إخفاء الحالة</translation>
 <translation id="3765032636089507299">صفحة التصفح الآمن تحت الإنشاء.</translation>
 <translation id="3778403066972421603">‏هل تريد حفظ هذه البطاقة في حسابك في Google وعلى هذا الجهاز؟</translation>
+<translation id="3779973883630527594">الشركة أو المؤسسة التعليمية أو المؤسسة التي تدير هذا الحساب:</translation>
 <translation id="3781428340399460090">وردي برّاق</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">تنتهي في <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">حدث خطأ أثناء معالجة طلبك. يُرجى إعادة المحاولة.</translation>
 <translation id="4075732493274867456">لا يدعم كل من العميل والخادم مجموعة تشفير أو إصدار بروتوكول طبقة المقابس الآمنة الشائع.</translation>
 <translation id="4079302484614802869">‏تم تعيين تهيئة الخادم الوكيل لاستخدام عنوان URL نص برمجي ‎.pac وليس الخوادم الوكيلة الثابتة.</translation>
+<translation id="4082393374666368382">الإعدادات - الإدارة</translation>
 <translation id="4092411512356034591">هل ترغب في المتابعة إلى النطاق <ph name="DOMAIN" />؟</translation>
 <translation id="4098354747657067197">موقع مخادع في انتظارك</translation>
 <translation id="4103249731201008433">الرقم التسلسلي للجهاز غير صالح</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">تم إيقاف الملء التلقائي لعملية الدفع</translation>
 <translation id="4764776831041365478">قد تكون صفحة الويب على العنوان <ph name="URL" /> غير متاحة مؤقتًا أو قد يكون تم نقلها نهائيًا إلى عنوان ويب جديد.</translation>
 <translation id="4771973620359291008">حدث خطأ غير محدّد.</translation>
+<translation id="4780900888022378816">يدير <ph name="ENROLLMENT_DOMAIN" /> جهازك ويدير <ph name="ACCOUNT_DOMAIN" /> حسابك.</translation>
 <translation id="4785689107224900852">التبديل إلى علامة التبويب هذه</translation>
 <translation id="4798078619018708837">‏يمكنك إدخال تاريخ انتهاء الصلاحية ورمز التحقُّق من البطاقة (CVC) لبطاقة <ph name="CREDIT_CARD" /> لتحديث تفاصيلها. وبعد التأكيد، ستتم مشاركة تفاصيل البطاقة من حسابك على Google مع هذا الموقع الإلكتروني.</translation>
 <translation id="4800132727771399293">‏تحقق من تاريخ انتهاء الصلاحية ورمز التحقق من البطاقة (CVC) وأعد المحاولة مرة أخرى.</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046">يعرض موقع <ph name="SITE" /></translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">لا نتائج</translation>
+<translation id="4945672369594656571">‏يتحكّم في كيفية التعامل مع الجهاز وبيانات الحساب. ستعالج Google بيانات جهازك وحسابك حصريًا ضمن عملية إدارة مدير الحساب وللأغراض المُحدّدة فقط عن طريق مدير الجهاز والحساب.</translation>
 <translation id="4950898438188848926">‏زر التبديل بين علامات التبويب، اضغط على Enter للتبديل إلى علامة التبويب المفتوحة هذه <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">إجراءات</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">النص الذي نسخته</translation>
 <translation id="5018422839182700155">يتعذّر فتح هذه الصفحة</translation>
 <translation id="5019198164206649151">التخزين المساعد في حالة سيئة</translation>
+<translation id="5020154601324912079">‏يتحكّم في كيفية التعامل مع بيانات الجهاز. ستعالج Google بيانات جهازك حصريًا ضمن عملية إدارة مدير الجهاز وللأغراض المُحدّدة فقط من خلال مدير الجهاز.</translation>
 <translation id="5023310440958281426">التحقق من سياسات المشرف</translation>
 <translation id="5029568752722684782">محو النسخة</translation>
 <translation id="503069730517007720">يلزم شهادة جذر لـ "<ph name="SOFTWARE_NAME" />" ولكن لم يتم تثبيتها. ينبغي على مشرف تقنية المعلومات أن يلقي نظرة على تعليمات التهيئة لـ "<ph name="SOFTWARE_NAME" />" لإصلاح تلك المشكلة. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">يجب عدم إدخال معلومات حسّاسة على هذا الموقع (مثل كلمات المرور أو بطاقات الائتمان) لأنه قد تتم سرقتها من قِبل المهاجمين.</translation>
 <translation id="5860033963881614850">غير مفعّل</translation>
 <translation id="5863847714970149516">قد تحاول الصفحة التالية تحصيل رسوم منك</translation>
+<translation id="5865951947699094510">يمكن تغيير إعداد الحساب عن بُعد.</translation>
 <translation id="5866257070973731571">إضافة رقم الهاتف</translation>
 <translation id="5869405914158311789">لا يمكن الوصول إلى موقع الويب هذا</translation>
 <translation id="5869522115854928033">كلمات المرور المحفوظة</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">على هذا الجهاز</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">لا يمكن فتح تطبيق الدفع</translation>
+<translation id="5988826871883769516">يدير حسابك <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">‏لم يتم تحديد أي من الخوادم الوكيلة الثابتة ولا عنوان URL للنص البرمجي pac.</translation>
 <translation id="5990559369517809815">تم حظر الطلبات المقدمة إلى الخادم بواسطة إحدى الإضافات.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">إذا كنت على دراية بالمخاطر التي تهدد أمانك، يمكنك <ph name="BEGIN_LINK" />زيارة موقع الويب هذا<ph name="END_LINK" /> قبل أن تتم إزالة التطبيقات الضارة.</translation>
 <translation id="6047927260846328439">قد يحاول هذا المحتوى خداعك لتثبيت برامج أو الكشف عن معلومات شخصية. <ph name="BEGIN_LINK" />عرض على أي حال<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">لا يمكنك زيارة <ph name="SITE" /> في الوقت الحالي لأن الموقع يستخدم أداة التحقق من صحة الشهادات. أخطاء الشبكة والهجمات عليها عادةً ما تكون مؤقتة، لذا ستعمل هذه الصفحة في وقت لاحق على الأرجح.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">هل تستخدم بطاقاتك على جميع أجهزتك؟</translation>
 <translation id="6059925163896151826">‏أجهزة USB</translation>
 <translation id="6080696365213338172">لقد دخلت إلى المحتوى باستخدام شهادة وفرها المشرف. ويمكن أن يعترض المشرف طريق البيانات التي تقدمها إلى <ph name="DOMAIN" />.</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">‏إعادة تشغيل Chrome</translation>
 <translation id="6529602333819889595">إعادة الح&amp;ذف</translation>
 <translation id="6534179046333460208">اقتراحات الشبكة المادية</translation>
+<translation id="6554795675067793129">تتم إدارة حسابك من خلال <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">إعادة</translation>
 <translation id="6563469144985748109">لم يوافق عليه مديرك حتى الآن</translation>
 <translation id="6569060085658103619">أنت تعرض صفحة إضافة</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">أزرق مخضر</translation>
 <translation id="7064851114919012435">معلومات الاتصال</translation>
 <translation id="7079718277001814089">يحتوي هذا الموقع على برامج ضارة</translation>
+<translation id="7081564429925484109">‏تحذير: لم يتم دمج هذه السياسة كما هو موضح في سياسة PolicyListMultipleSourceMergeList لأنها ليست قائمة.</translation>
 <translation id="7087282848513945231">مقاطعة</translation>
 <translation id="7090678807593890770">‏البحث في Google عن <ph name="LINK" /></translation>
 <translation id="7108338896283013870">إخفاء</translation>
@@ -1150,6 +1167,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">إدارة كلمات المرور…</translation>
 <translation id="7419106976560586862">مسار الملف الشخصي</translation>
+<translation id="7424427397225027541">‏يتحكّم في كيفية التعامل مع بيانات الحساب. ستعالج Google بيانات حسابك حصريًا ضمن عملية إدارة مدير الحساب وللأغراض المُحدّدة فقط عن طريق مدير الحساب.</translation>
 <translation id="7437289804838430631">إضافة معلومات الاتصال</translation>
 <translation id="7440140511386898319">الاستكشاف أثناء عدم الاتصال بالإنترنت</translation>
 <translation id="7441627299479586546">موضوع السياسة غير صحيح</translation>
@@ -1236,6 +1254,7 @@
 <translation id="780301667611848630">لا، شكرًا</translation>
 <translation id="7805768142964895445">الحالة</translation>
 <translation id="7806344367022510803">‏تغيير إعدادات محرّك البحث في Chrome</translation>
+<translation id="7810209002420871817">بصفتك مدير الحساب، <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">‏هل تريد إزالة اقتراح النموذج من Chrome؟</translation>
 <translation id="7815407501681723534">تم العثور على <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> لـ "<ph name="SEARCH_STRING" />"</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb
index 6729cf0..189f347 100644
--- a/components/strings/components_strings_bn.xtb
+++ b/components/strings/components_strings_bn.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="bn">
+<translation id="1001338328714563407">আপনার ডিভাইস ও অ্যাকাউন্টের ম্যানেজার হিসেবে, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">এখনই নয়</translation>
 <translation id="1010200102790553230">পৃষ্ঠা পরে দেখার জন্য লোড করে রাখুন</translation>
 <translation id="1015730422737071372">অতিরিক্ত বিবরণ দিন</translation>
@@ -309,6 +310,7 @@
 <translation id="2586657967955657006">ক্লিপবোর্ড</translation>
 <translation id="2587730715158995865"><ph name="ARTICLE_PUBLISHER" /> থেকে পাওয়া। এটি এবং আরও <ph name="OTHER_ARTICLE_COUNT" />টি গল্প পড়ুন।</translation>
 <translation id="2587841377698384444">ডিরেক্টরি এপিআই আইডি:</translation>
+<translation id="2595719060046994702">কোনও কোম্পানি বা সংস্থা এই ডিভাইস ও অ্যাকাউন্ট ম্যানেজ করে না।</translation>
 <translation id="2597378329261239068">এই দস্তাবেজটি পাসওয়ার্ড সুরক্ষিত৷  দয়া করে একটি পাসওয়ার্ড লিখুন৷</translation>
 <translation id="2609632851001447353">বৈচিত্রতা</translation>
 <translation id="2618023639789766142">C10 (Envelope)</translation>
@@ -343,6 +345,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">সংযোগ পুনঃসেট করা হয়েছে৷</translation>
 <translation id="2788784517760473862">ক্রেডিট কার্ড গ্রহণ করা হয়</translation>
+<translation id="2792012897584536778">এই ডিভাইসের অ্যাডমিনিস্ট্রেটর যে নিরাপত্তার সার্টিফিকেট সেট-আপ করেছেন সেটি তাকে আপনার ঘোরা ওয়েবসাইটগুলির কন্টেন্ট দেখার অনুমতি দিতে পারে।</translation>
 <translation id="2794233252405721443">সাইট অবরুদ্ধ করা হয়েছে</translation>
 <translation id="2799020568854403057">যে সাইট খুলতে চলেছেন সেটিতে ক্ষতিকারক অ্যাপ আছে</translation>
 <translation id="2799223571221894425">পুনঃশুরু</translation>
@@ -359,6 +362,7 @@
 <translation id="2903493209154104877">ঠিকানা</translation>
 <translation id="290376772003165898">পৃষ্ঠাটি <ph name="LANGUAGE" /> ভাষায় নয়?</translation>
 <translation id="2909946352844186028">একটি নেটওয়ার্ক পরিবর্তন শনাক্ত হয়েছে৷</translation>
+<translation id="2910133103376701357">আপনার ডিভাইস ও অ্যাকাউন্ট <ph name="ENROLLMENT_DOMAIN" /> ম্যানেজ করছে।</translation>
 <translation id="2916038427272391327">অন্যান্য প্রোগ্রামগুলি বন্ধ করুন</translation>
 <translation id="2922350208395188000">সার্ভারের সার্টিফিকেট চেক করা যাবে না৷</translation>
 <translation id="2925673989565098301">ডেলিভারির পদ্ধতি</translation>
@@ -369,6 +373,7 @@
 <translation id="2948083400971632585">আপনি সেটিংস পৃষ্ঠা থেকে কানেকশনের জন্য কনফিগার করা যেকোনো প্রক্সি নিষ্ক্রিয় করতে পারেন৷</translation>
 <translation id="2955913368246107853">খোঁজ দণ্ড বন্ধ করুন</translation>
 <translation id="2969319727213777354">নিরাপদ নেটওয়ার্ক সংযোগ স্থাপন করতে আপনার ঘড়িকে সঠিকভাবে সেট করতে হবে। এমন হওয়ার কারণ হলো, নিরাপদ সংযোগ স্থাপন করার জন্য নিজেদের শনাক্ত করার জন্য ওয়েবসাইটগুলি যে শংসাপত্রগুলি ব্যবহার করে, সেগুলি শুধুমাত্র নির্দিষ্ট সময়ের জন্য বৈধ থাকে। যেহেতু আপনার ডিভাইসের ঘড়িটি ভুল, সেই জন্য Google Chrome সঠিকভাবে শংসাপত্রগুলি পরীক্ষা করতে পারছে না।</translation>
+<translation id="2970515157925768593">অন্য জায়গা থেকে আপনার ডিভাইস ও অ্যাকাউন্টের সেট-আপ পরিবর্তন করতে পারে।</translation>
 <translation id="2972581237482394796">&amp;পুনরায় করুন</translation>
 <translation id="2977665033722899841">এখন <ph name="ROW_NAME" /> বেছে নিয়েছেন। <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">ডেটা মুছুন</translation>
@@ -380,6 +385,7 @@
 <translation id="3005723025932146533">সংরক্ষিত প্রতিলিপি দেখান</translation>
 <translation id="3008447029300691911"><ph name="CREDIT_CARD" />-এর CVC লিখুন। আপনি নিশ্চিত করলে, আপনার কার্ডের বিবরণ এই সাইটের সাথে শেয়ার করা হবে।</translation>
 <translation id="3010559122411665027">তালিকার এন্ট্রি " <ph name="ENTRY_INDEX" /> ": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">এই ডিভাইসের ম্যানেজার হিসেবে, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">স্বয়ংক্রিয়ভাবে ব্লক করা হয়েছে</translation>
 <translation id="3023071826883856138">You4 (Envelope)</translation>
 <translation id="3024663005179499861">নীতির ভুল প্রকার</translation>
@@ -425,6 +431,7 @@
 <translation id="3287510313208355388">যখন অনলাইন হবেন তখন ডাউনলোড করবেন</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> নীতি সম্পর্কে আরও জানুন</translation>
 <translation id="3303855915957856445">কোনো সার্চ ফলাফল পাওয়া যায়নি</translation>
+<translation id="3311730110465560799">অন্য জায়গা থেকে আপনার ডিভাইসের সেট-আপ পরিবর্তন করতে পারে।</translation>
 <translation id="3320021301628644560">বিলিংয়ের ঠিকানা যোগ করুন</translation>
 <translation id="3324983252691184275">টকটকে লাল</translation>
 <translation id="3338095232262050444">সুরক্ষিত</translation>
@@ -519,6 +526,7 @@
 <translation id="3761718714832595332">স্ট্যাটাসটি লুকান</translation>
 <translation id="3765032636089507299">নিরাপদ ব্রাউজিং পৃষ্ঠা তৈরি করা হচ্ছে।</translation>
 <translation id="3778403066972421603">আপনি কি এই কার্ডটি আপনার Google অ্যাকাউন্টে ও এই ডিভাইসে সেভ করতে চান?</translation>
+<translation id="3779973883630527594">যে কোম্পানি, স্কুল বা সংস্থা এই অ্যাকাউন্ট ম্যানেজ করে:</translation>
 <translation id="3781428340399460090">হট গোলাপী</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569"><ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /> এ মেয়াদ শেষ হবে</translation>
@@ -559,6 +567,7 @@
 <translation id="4072486802667267160">আপনার অর্ডার প্রক্রিয়া করার সময় একটি সমস্যা হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।</translation>
 <translation id="4075732493274867456">ক্লায়েন্ট ও সার্ভারটি কোনো অভিন্ন SSL প্রোটোকল সংস্করণ বা সাইফার স্যুট সমর্থন করে না।</translation>
 <translation id="4079302484614802869">প্রক্সি কনফিগারেশনটি .pac স্ক্রিপ্ট URL-এ ব্যবহার করাতে সেট থাকে স্থির প্রক্সি সার্ভারগুলিতে নয়৷</translation>
+<translation id="4082393374666368382">সেটিংস - ম্যানেজমেন্ট</translation>
 <translation id="4092411512356034591"><ph name="DOMAIN" />-এ যেতে চান?</translation>
 <translation id="4098354747657067197">সামনে ধোঁকাবাজ সাইট</translation>
 <translation id="4103249731201008433">ডিভাইসের ক্রমিক সংখ্যা ভুল</translation>
@@ -691,6 +700,7 @@
 <translation id="4759118997339041434">পেমেন্ট স্বতঃপূর্ণকরণ অক্ষম করা হয়েছে</translation>
 <translation id="4764776831041365478"><ph name="URL" />-এ ওয়েবপৃষ্ঠাটি হতে পারে অস্থায়ীভাবে ডাউন আছে অথবা হতে পারে এটি স্থায়ীভাবে কোনো নতুন ওয়েব ঠিকানাতে সরানো হয়েছে৷</translation>
 <translation id="4771973620359291008">একটি অজানা ত্রুটি ঘটেছে৷</translation>
+<translation id="4780900888022378816">আপনার ডিভাইস <ph name="ENROLLMENT_DOMAIN" /> এবং আপনার অ্যাকাউন্ট <ph name="ACCOUNT_DOMAIN" /> ম্যানেজ করে।</translation>
 <translation id="4785689107224900852">এই ট্যাবে পরিবর্তন করুন</translation>
 <translation id="4798078619018708837">আপনার কার্ডের বিবরণ আপডেট করতে <ph name="CREDIT_CARD" />-এর মেয়াদ শেষের তারিখ এবং সিভিসি লিখুন। আপনি কনফার্ম করার পর আপনার Google অ্যাকাউন্ট থেকে কার্ডের বিবরণ এই সাইটে শেয়ার করা হবে।</translation>
 <translation id="4800132727771399293">Check your expiration date and CVC and try again</translation>
@@ -715,6 +725,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> এ এটি দেখানো হচ্ছে</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">কোন ফলাফল নেই</translation>
+<translation id="4945672369594656571">আপনার ডিভাইস ও অ্যাকাউন্টের ডেটা কীভাবে ব্যবহার করা হয় তা নিয়ন্ত্রণ করে। Google আপনার ডিভাইস ও অ্যাকাউন্টের ডেটা বিশেষভাবে ডিভাইস ও অ্যাকাউন্ট ম্যানেজারের নির্দেশ মেনে এবং শুধু তার উল্লেখ করা উদ্দেশ্যের জন্য প্রসেস করে।</translation>
 <translation id="4950898438188848926">একটি ট্যাব থেকে অন্য ট্যাবে যাওয়ার বোতাম, খোলা ট্যাবে যেতে এন্টার টিপুন, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">ক্রিয়াসমূহ</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -728,6 +739,7 @@
 <translation id="5017554619425969104">আপনার কপি করা টেক্সট</translation>
 <translation id="5018422839182700155">এই পৃষ্ঠাটি খোলা যাচ্ছে না</translation>
 <translation id="5019198164206649151">ব্যাকিং স্টোরটি ত্রুটিপূর্ণ অবস্থায় আছে</translation>
+<translation id="5020154601324912079">আপনার ডিভাইসের ডেটা কীভাবে ব্যবহার করা হয় তা নিয়ন্ত্রণ করে। Google আপনার ডিভাইসের ডেটা বিশেষভাবে ডিভাইস ম্যানেজারের নির্দেশ মেনে এবং শুধু তার উল্লেখ করা উদ্দেশ্যের জন্য প্রসেস করে।</translation>
 <translation id="5023310440958281426">আপনার প্রশাসকের নীতিগুলি দেখুন</translation>
 <translation id="5029568752722684782">প্রতিলিপি সাফ করুন</translation>
 <translation id="503069730517007720">"<ph name="SOFTWARE_NAME" />" এর জন্য একটি রুট সার্টিফিকেট প্রয়োজন কিন্তু সেটি ইনস্টল করা নেই। এই সমস্যাটি সমাধান করতে আপনার IT প্রশাসককে "<ph name="SOFTWARE_NAME" />" এর কনফিগারেশন নির্দেশ ভাল করে দেখে নিতে হবে। <ph name="FURTHER_EXPLANATION" /></translation>
@@ -885,6 +897,7 @@
 <translation id="5838278095973806738">এই সাইটে আপনার কোনো সংবেদনশীল তথ্য দেওয়া উচিত হবে না (উদাহরণস্বরূপ, পাসওয়ার্ড বা ক্রেডিট কার্ড) কারণ আক্রমণকারীরা এগুলি চুরি করতে পারে।</translation>
 <translation id="5860033963881614850">বন্ধ করুন</translation>
 <translation id="5863847714970149516">পরের পৃষ্ঠাতে আপনাকে চার্জ করা হতে পারে</translation>
+<translation id="5865951947699094510">অন্য জায়গা থেকে আপনার অ্যাকাউন্টের সেট-আপ পরিবর্তন করতে পারে।</translation>
 <translation id="5866257070973731571">ফোন নম্বর যোগ করুন</translation>
 <translation id="5869405914158311789">এই সাইটটিতে পৌছানো যাচ্ছে না</translation>
 <translation id="5869522115854928033">সংরক্ষিত পাসওয়ার্ড</translation>
@@ -905,6 +918,7 @@
 <translation id="5977976211062815271">এই ডিভাইসে</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">পেমেন্ট অ্যাপ খোলা যাচ্ছে না</translation>
+<translation id="5988826871883769516">আপনার ডিভাইস <ph name="ENROLLMENT_DOMAIN" /> ম্যানেজ করে।</translation>
 <translation id="5989320800837274978">কোনো নির্ধারিত প্রক্সি সার্ভার অথবা একটি.pac স্ক্রিপ্ট UR সুর্নিদিষ্টভাবে উল্লেখ করা হয়নি৷</translation>
 <translation id="5990559369517809815">সার্ভারে অনুরোধগুলি একটি এক্সটেনশন দিয়ে ব্লক করা আছে৷</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -922,6 +936,7 @@
 <translation id="6047233362582046994">আপনি যদি আপনার নিরাপত্তার ঝুঁকিগুলি বুঝে নিয়ে থাকেন, তাহলে ক্ষতিকারক অ্যাপগুলি সরানোর আগে <ph name="BEGIN_LINK" />এই সাইটে যেতে পারেন<ph name="END_LINK" />৷</translation>
 <translation id="6047927260846328439">এই কন্টেন্ট প্রতারণার মাধ্যমে আপনাকে দিয়ে কোনও সফ্টওয়্যার ইনস্টল করাতে অথবা আপনার ব্যক্তিগত তথ্য জেনে নেওয়ার চেষ্টা করতে পারে। <ph name="BEGIN_LINK" />তবুও এটি দেখতে চাই<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">ওয়েবসাইটটি পিন করা সার্টিফিকেট ব্যবহার করার কারণে আপনি এখন <ph name="SITE" /> এ যেতে পারবেন না। নেটওয়ার্ক সমস্যা এবং আক্রমণ সাধারণত সাময়িকভাবে হয়, তাই এই পৃষ্ঠাটি সম্ভবত পরে কাজ করবে।</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">আপনার সমস্ত ডিভাইসে কার্ডগুলি ব্যবহার করবেন?</translation>
 <translation id="6059925163896151826">USB ডিভাইসগুলি</translation>
 <translation id="6080696365213338172">অ্যাডমিনিস্ট্রেটরের দ্বারা সরবরাহ করা সার্টিফিকেট ব্যবহার করে আপনি কন্টেন্ট ব্যবহার করেছেন৷ <ph name="DOMAIN" />-কে আপনি যে ডেটা সরবরাহ করেন তাতে আপনার অ্যাডমিনিস্ট্রেটর বাধা দিতে পারে৷</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">Chrome পুনরায় চালু করুন</translation>
 <translation id="6529602333819889595">&amp;মুছে ফেলাকে আবার করুন</translation>
 <translation id="6534179046333460208">বাস্তবিক ওয়েব প্রস্তাবনাগুলি</translation>
+<translation id="6554795675067793129">আপনার অ্যাকাউন্ট <ph name="ENROLLMENT_DOMAIN" /> ম্যানেজ করে।</translation>
 <translation id="6556866813142980365">আবার করুন</translation>
 <translation id="6563469144985748109">আপনার পরিচালক এখনও এটি অনুমোদন করেন নি</translation>
 <translation id="6569060085658103619">আপনি একটি এক্সটেনশন পৃষ্ঠা দেখছেন</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">নীলচে সবুজ</translation>
 <translation id="7064851114919012435">পরিচিতি তথ্য</translation>
 <translation id="7079718277001814089">এই সাইটে মালওয়ের আছে</translation>
+<translation id="7081564429925484109">সতর্কতা: এই নীতি একটি তালিকা নয়, তাই PolicyListMultipleSourceMergeList নীতি অনুযায়ী এটিকে মার্জ করা হয়নি।</translation>
 <translation id="7087282848513945231">দেশ</translation>
 <translation id="7090678807593890770">Google এ <ph name="LINK" /> এর খুঁজুন</translation>
 <translation id="7108338896283013870">লুকান</translation>
@@ -1150,6 +1167,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">পাসওয়ার্ডগুলি পরিচালনা করুন…</translation>
 <translation id="7419106976560586862">প্রোফাইল পথ</translation>
+<translation id="7424427397225027541">আপনার অ্যাকাউন্টের ডেটা কীভাবে ব্যবহার করা হয় তা নিয়ন্ত্রণ করে। Google আপনার অ্যাকাউন্টের ডেটা বিশেষভাবে অ্যাকাউন্ট ম্যানেজারের নির্দেশ মেনে এবং শুধু তার উল্লেখ করা উদ্দেশ্যের জন্য প্রসেস করে।</translation>
 <translation id="7437289804838430631">পরিচিতির তথ্য যোগ করুন</translation>
 <translation id="7440140511386898319">অফলাইন থাকা অবস্থায় দেখুন</translation>
 <translation id="7441627299479586546">ভুল বিষয় বিশিষ্ট নীতি</translation>
@@ -1236,6 +1254,7 @@
 <translation id="780301667611848630">না থাক</translation>
 <translation id="7805768142964895445">স্থিতি</translation>
 <translation id="7806344367022510803">Chrome-এ সার্চ ইঞ্জিন সেটিংস পরিবর্তন করুন</translation>
+<translation id="7810209002420871817">আপনার অ্যাকাউন্টের ম্যানেজার হিসেবে, <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Chrome থেকে ফর্ম প্রস্তাবনা সরাবেন?</translation>
 <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' এর জন্য <ph name="NUMBER_OF_RESULTS" />টি <ph name="SEARCH_RESULTS" /> খুঁজে পাওয়া গেছে</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index 0623ccc..b7720e6 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -1411,7 +1411,7 @@
 <translation id="8996941253935762404">Aquest lloc web conté programes perjudicials</translation>
 <translation id="8997023839087525404">El servidor ha presentat un certificat que no s'ha divulgat públicament mitjançant la política Transparència de certificats. Això és un requisit d'alguns certificats per garantir que són de confiança i una mesura de protecció contra els atacants.</translation>
 <translation id="9001074447101275817">El servidor intermediari del domini <ph name="DOMAIN" /> requereix un nom d'usuari i una contrasenya.</translation>
-<translation id="9004367719664099443">Sessió de realitat virtual en curs</translation>
+<translation id="9004367719664099443">Hi ha una sessió de realitat virtual en curs</translation>
 <translation id="9005998258318286617">No es pot carregar el document PDF.</translation>
 <translation id="9008201768610948239">Ignora</translation>
 <translation id="9011424611726486705">Obre la configuració del lloc web</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb
index 25f99b48..bc2d2ba 100644
--- a/components/strings/components_strings_cs.xtb
+++ b/components/strings/components_strings_cs.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="cs">
+<translation id="1001338328714563407">Organizace <ph name="ENROLLMENT_DOMAIN" /> jako správce vašeho zařízení a účtu:</translation>
 <translation id="1008557486741366299">Teď ne</translation>
 <translation id="1010200102790553230">Načíst stránku později</translation>
 <translation id="1015730422737071372">Zadejte další podrobnosti</translation>
@@ -300,6 +301,7 @@
 <translation id="2586657967955657006">Schránka</translation>
 <translation id="2587730715158995865">Vydavatel: <ph name="ARTICLE_PUBLISHER" />. Přečtěte si tento článek a další (<ph name="OTHER_ARTICLE_COUNT" />).</translation>
 <translation id="2587841377698384444">ID rozhraní Directory API:</translation>
+<translation id="2595719060046994702">Toto zařízení a účet nespravuje žádná společnost ani organizace.</translation>
 <translation id="2597378329261239068">Tento dokument je chráněn heslem. Zadejte prosím heslo.</translation>
 <translation id="2609632851001447353">Varianty</translation>
 <translation id="2618023639789766142">C10 (obálka)</translation>
@@ -334,6 +336,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Připojení bylo resetováno.</translation>
 <translation id="2788784517760473862">Přijímané kreditní karty</translation>
+<translation id="2792012897584536778">Administrátoři tohoto zařízení nastavili bezpečnostní certifikáty, které jim mohou umožnit zobrazit obsah webů, které navštěvujete.</translation>
 <translation id="2794233252405721443">Web je blokován</translation>
 <translation id="2799020568854403057">Web, na který se chystáte přejít, obsahuje škodlivé aplikace</translation>
 <translation id="2799223571221894425">Restartovat</translation>
@@ -350,6 +353,7 @@
 <translation id="2903493209154104877">Adresy</translation>
 <translation id="290376772003165898">Není stránka v jazyce <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">Byla zjištěna změna sítě.</translation>
+<translation id="2910133103376701357">Vaše zařízení a účet jsou spravovány doménou <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Zavřete ostatní programy</translation>
 <translation id="2922350208395188000">Certifikát serveru nelze zkontrolovat.</translation>
 <translation id="2925673989565098301">Způsob doručení</translation>
@@ -360,6 +364,7 @@
 <translation id="2948083400971632585">Libovolné servery proxy nakonfigurované pro připojení můžete zakázat na stránce Nastavení.</translation>
 <translation id="2955913368246107853">Zavřít vyhledávací lištu</translation>
 <translation id="2969319727213777354">Aby bylo možné navázat zabezpečené spojení, musejí být správně nastaveny hodiny. Důvodem je, že certifikáty, pomocí kterých se weby identifikují, platí pouze pro konkrétní období. Jelikož hodiny v zařízení nejsou nastaveny správně, Google Chrome tyto certifikáty nemůže ověřit.</translation>
+<translation id="2970515157925768593">Může vzdáleně měnit nastavení vašeho zařízení a účtu.</translation>
 <translation id="2972581237482394796">&amp;Opakovat</translation>
 <translation id="2977665033722899841">Aktuálně je vybrán řádek <ph name="ROW_NAME" />. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Vymazat data</translation>
@@ -371,6 +376,7 @@
 <translation id="3005723025932146533">Zobrazit uloženou kopii</translation>
 <translation id="3008447029300691911">Zadejte kód CVC karty <ph name="CREDIT_CARD" />. Po ověření budou údaje o kartě sdíleny s tímto webem.</translation>
 <translation id="3010559122411665027">Položka seznamu „<ph name="ENTRY_INDEX" />“: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Organizace <ph name="ENROLLMENT_DOMAIN" /> jako správce tohoto zařízení:</translation>
 <translation id="301521992641321250">Automaticky blokováno</translation>
 <translation id="3023071826883856138">You4 (obálka)</translation>
 <translation id="3024663005179499861">Chybný typ zásady</translation>
@@ -413,6 +419,7 @@
 <translation id="3287510313208355388">Stáhnout, až bude zařízení online</translation>
 <translation id="3293642807462928945">Další informace o zásadě <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Nebyly nalezeny žádné výsledky</translation>
+<translation id="3311730110465560799">Může vzdáleně změnit nastavení zařízení.</translation>
 <translation id="3320021301628644560">Přidání fakturační adresy</translation>
 <translation id="3324983252691184275">Karmínová</translation>
 <translation id="3338095232262050444">Zabezpečeno</translation>
@@ -506,6 +513,7 @@
 <translation id="3761718714832595332">Skrýt stav</translation>
 <translation id="3765032636089507299">Stránka Bezpečného procházení je ve výstavbě.</translation>
 <translation id="3778403066972421603">Chcete tuto kartu uložit do svého účtu Google a do tohoto zařízení?</translation>
+<translation id="3779973883630527594">Společnost, škola nebo organizace, která spravuje tento účet:</translation>
 <translation id="3781428340399460090">Jasně růžová</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Platnost do: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -546,6 +554,7 @@
 <translation id="4072486802667267160">Při zpracování objednávky došlo k chybě. Zkuste to prosím znovu.</translation>
 <translation id="4075732493274867456">Klient a server nepodporují společnou verzi protokolu SSL nebo šifrovací sadu.</translation>
 <translation id="4079302484614802869">Proxy je nastaveno na používání adresy URL skriptu PAC, nikoliv pevně daných serverů proxy.</translation>
+<translation id="4082393374666368382">Nastavení – správa</translation>
 <translation id="4092411512356034591">Pokračovat na <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Chystáte se navštívit podvodné webové stránky</translation>
 <translation id="4103249731201008433">Sériové číslo zařízení je neplatné</translation>
@@ -678,6 +687,7 @@
 <translation id="4759118997339041434">Automatické vyplňování informací o platebních kartách je zakázáno</translation>
 <translation id="4764776831041365478">Webové stránky na adrese <ph name="URL" /> jsou možná dočasně nedostupné nebo mohly být přemístěny na novou webovou adresu.</translation>
 <translation id="4771973620359291008">Došlo k neznámé chybě.</translation>
+<translation id="4780900888022378816">Vaše zařízení spravuje doména <ph name="ENROLLMENT_DOMAIN" /> a váš účet spravuje doména <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Přejít na tuto kartu</translation>
 <translation id="4798078619018708837">Chcete-li aktualizovat údaje o kartě, zadejte datum vypršení platnosti a kód CVC karty <ph name="CREDIT_CARD" />. Po potvrzení budou údaje o kartě z vašeho účtu Google poskytnuty tomuto webu.</translation>
 <translation id="4800132727771399293">Zkontrolujte datum vypršení platnosti a kód CVC a zkuste to znovu.</translation>
@@ -702,6 +712,7 @@
 <translation id="4926159001844873046">Web <ph name="SITE" /> říká</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Žádné výsledky</translation>
+<translation id="4945672369594656571">Určuje způsob zpracování dat z vašeho zařízení a účtu. Společnost Google data ze zařízení a účtu zpracovává výhradně podle pokynů správce zařízení a účtu a výhradně pro účely určené správcem zařízení a účtu.</translation>
 <translation id="4950898438188848926">Tlačítko přepínání karet. Stisknutím klávesy Enter přejdete na otevřenou kartu (<ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" />)</translation>
 <translation id="495170559598752135">Akce</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -715,6 +726,7 @@
 <translation id="5017554619425969104">Zkopírovaný text</translation>
 <translation id="5018422839182700155">Tuto stránku nelze otevřít</translation>
 <translation id="5019198164206649151">Záložní úložiště je ve špatném stavu</translation>
+<translation id="5020154601324912079">Určuje způsob zpracování dat z vašeho zařízení. Společnost Google data ze zařízení zpracovává výhradně podle pokynů správce zařízení a výhradně pro účely určené správcem zařízení.</translation>
 <translation id="5023310440958281426">Zkontrolujte zásady svého správce</translation>
 <translation id="5029568752722684782">Vymazat kopii</translation>
 <translation id="503069730517007720">Je vyžadován kořenový certifikát pro software <ph name="SOFTWARE_NAME" />, ale není nainstalován. Při řešení tohoto problému by si měl administrátor IT prostudovat pokyny ke konfiguraci softwaru <ph name="SOFTWARE_NAME" />. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -872,6 +884,7 @@
 <translation id="5838278095973806738">Na tento web byste neměli zadávat citlivé údaje (například hesla nebo čísla platebních karet), protože by je mohli odcizit útočníci.</translation>
 <translation id="5860033963881614850">Vypnuto</translation>
 <translation id="5863847714970149516">Následující stránka se vám může pokusit naúčtovat poplatky</translation>
+<translation id="5865951947699094510">Může vzdáleně změnit nastavení vašeho účtu.</translation>
 <translation id="5866257070973731571">Přidání telefonního čísla</translation>
 <translation id="5869405914158311789">Tento web není dostupný</translation>
 <translation id="5869522115854928033">Uložená hesla</translation>
@@ -892,6 +905,7 @@
 <translation id="5977976211062815271">V tomto zařízení</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Platební aplikaci nelze otevřít</translation>
+<translation id="5988826871883769516">Toto zařízení spravuje organizace <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Nejsou určeny pevně dané servery proxy ani adresa URL skriptu PAC.</translation>
 <translation id="5990559369517809815">Žádosti na tento server jsou blokovány rozšířením.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -909,6 +923,7 @@
 <translation id="6047233362582046994">Pokud bezpečnostní rizika chápete, můžete <ph name="BEGIN_LINK" />tento web navštívit<ph name="END_LINK" /> před tím, než budou nebezpečné aplikace odstraněny.</translation>
 <translation id="6047927260846328439">Tento obsah by se vás podvodem mohl pokusit přimět k instalaci softwaru nebo odhalení osobních údajů. <ph name="BEGIN_LINK" />Přesto zobrazit<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Web <ph name="SITE" /> teď nemůžete navštívit, protože používá připínání certifikátů. Síťové chyby a útoky jsou obvykle dočasné, tato stránka pravděpodobně později bude fungovat.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Chcete své karty používat na všech svých zařízeních?</translation>
 <translation id="6059925163896151826">Zařízení USB</translation>
 <translation id="6080696365213338172">Získali jste přístup k obsahu pomocí certifikátu poskytnutého správcem. Údaje poskytovaná doméně <ph name="DOMAIN" /> bude správce moci zachytit.</translation>
@@ -977,6 +992,7 @@
 <translation id="6508722015517270189">Restartujte Chrome</translation>
 <translation id="6529602333819889595">&amp;Opakovat smazání</translation>
 <translation id="6534179046333460208">Návrhy fyzického webu</translation>
+<translation id="6554795675067793129">Váš účet je spravován doménou <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Opakovat</translation>
 <translation id="6563469144985748109">Správce vám přístup na web dosud neschválil.</translation>
 <translation id="6569060085658103619">Prohlížíte si stránku rozšíření</translation>
@@ -1061,6 +1077,7 @@
 <translation id="7062635574500127092">Šedozelená</translation>
 <translation id="7064851114919012435">Kontaktní údaje</translation>
 <translation id="7079718277001814089">Tento web obsahuje malware</translation>
+<translation id="7081564429925484109">Upozornění: Tato zásada nebyla sloučena podle zásady PolicyListMultipleSourceMergeList, protože se nejedná o seznam.</translation>
 <translation id="7087282848513945231">Okres</translation>
 <translation id="7090678807593890770">Vyhledejte na Googlu <ph name="LINK" /></translation>
 <translation id="7108338896283013870">Skrýt</translation>
@@ -1133,6 +1150,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Spravovat hesla…</translation>
 <translation id="7419106976560586862">Cesta k profilu</translation>
+<translation id="7424427397225027541">Určuje způsob zpracování dat z vašeho účtu. Společnost Google data z účtu zpracovává výhradně podle pokynů správce účtu a výhradně pro účely určené správcem účtu.</translation>
 <translation id="7437289804838430631">Přidat kontaktní údaje</translation>
 <translation id="7440140511386898319">Prozkoumávejte i offline</translation>
 <translation id="7441627299479586546">Chybný předmět zásady</translation>
@@ -1219,6 +1237,7 @@
 <translation id="780301667611848630">Ne, děkuji</translation>
 <translation id="7805768142964895445">Stav</translation>
 <translation id="7806344367022510803">Změnit nastavení vyhledávače v Chromu</translation>
+<translation id="7810209002420871817">Doména <ph name="ACCOUNT_DOMAIN" /> jako správce vašeho účtu:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Odstranit návrh položky formuláře z Chromu?</translation>
 <translation id="7815407501681723534">Nalezené <ph name="SEARCH_RESULTS" /> pro dotaz „<ph name="SEARCH_STRING" />“: <ph name="NUMBER_OF_RESULTS" /></translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb
index 1cd3a93..74e4744 100644
--- a/components/strings/components_strings_da.xtb
+++ b/components/strings/components_strings_da.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="da">
+<translation id="1001338328714563407">Som administrator for din enhed og konto <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Ikke nu</translation>
 <translation id="1010200102790553230">Indlæs side senere</translation>
 <translation id="1015730422737071372">Angiv yderligere oplysninger</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Udklipsholder</translation>
 <translation id="2587730715158995865">Fra <ph name="ARTICLE_PUBLISHER" />. Læs denne og <ph name="OTHER_ARTICLE_COUNT" /> andre historier.</translation>
 <translation id="2587841377698384444">Id for Directory API:</translation>
+<translation id="2595719060046994702">Denne enhed og konto administreres ikke af et selskab eller en organisation.</translation>
 <translation id="2597378329261239068">Dette dokument er adgangskodebeskyttet. Angiv en adgangskode.</translation>
 <translation id="2609632851001447353">Varianter</translation>
 <translation id="2618023639789766142">C10 (Envelope)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Forbindelsen blev nulstillet.</translation>
 <translation id="2788784517760473862">Accepterede kreditkort</translation>
+<translation id="2792012897584536778">Administratorer for denne enhed har konfigureret sikkerhedscertifikater, som muligvis giver dem mulighed for at se indholdet af de websites, du besøger.</translation>
 <translation id="2794233252405721443">Websitet er blokeret</translation>
 <translation id="2799020568854403057">Det website, du er på vej til, indeholder skadelige apps</translation>
 <translation id="2799223571221894425">Genstart</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Adresser</translation>
 <translation id="290376772003165898">Er siden ikke på <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">Der blev registreret en netværksændring.</translation>
+<translation id="2910133103376701357">Din enhed og konto administreres af <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Luk andre programmer</translation>
 <translation id="2922350208395188000">Serverens certifikat kan ikke kontrolleres.</translation>
 <translation id="2925673989565098301">Leveringsmetode</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Du kan deaktivere alle proxyer, der er konfigureret for en forbindelse, fra siden Indstillinger.</translation>
 <translation id="2955913368246107853">Luk søgefeltet</translation>
 <translation id="2969319727213777354">Uret på din enhed skal være indstillet korrekt, før du kan oprette en sikker forbindelse. Dette er vigtigt, da de certifikater, websites bruger til at identificere sig selv, kun er gyldige i bestemte perioder. Da uret på din enhed er indstillet forkert, kan Chrome ikke bekræfte disse certifikater.</translation>
+<translation id="2970515157925768593">Din enheds- og kontokonfiguration kan ændres eksternt.</translation>
 <translation id="2972581237482394796">&amp;Annuller fortryd</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" /> er i øjeblikket valgt. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Ryd data</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Vis gemt kopi</translation>
 <translation id="3008447029300691911">Angiv kontrolkoden for <ph name="CREDIT_CARD" />. Når du bekræfter, deles dine kortoplysninger med dette website.</translation>
 <translation id="3010559122411665027">Angiv posten "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Som administrator for denne enhed <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Automatisk blokering</translation>
 <translation id="3023071826883856138">You4 (Envelope)</translation>
 <translation id="3024663005179499861">Forkert politiktype</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Download, når du er online</translation>
 <translation id="3293642807462928945">Få flere oplysninger om politikken <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Der blev ikke fundet nogen søgeresultater</translation>
+<translation id="3311730110465560799">Din enhedskonfiguration kan ændres eksternt.</translation>
 <translation id="3320021301628644560">Tilføj faktureringsadresse</translation>
 <translation id="3324983252691184275">Højrød</translation>
 <translation id="3338095232262050444">Sikker</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">Skjul status</translation>
 <translation id="3765032636089507299">Siden Beskyttet browsing er under opførelse.</translation>
 <translation id="3778403066972421603">Vil du gemme dette kort på din Google-konto og på denne enhed?</translation>
+<translation id="3779973883630527594">Det selskab, den skole eller den organisation, som administrerer denne konto:</translation>
 <translation id="3781428340399460090">Varm lyserød</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Udløber <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">Der opstod en fejl under behandlingen af din ordre. Prøv igen.</translation>
 <translation id="4075732493274867456">Klienten og serveren understøtter ikke en fælles SSL-protokolversion eller et fælles krypteringsprogram.</translation>
 <translation id="4079302484614802869">Proxykonfiguration er angivet til at anvende en webadresse for .pac-script, ikke faste proxyservere.</translation>
+<translation id="4082393374666368382">Indstillinger – administration</translation>
 <translation id="4092411512356034591">Vil du fortsætte til <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Vildledende website forude</translation>
 <translation id="4103249731201008433">Enhedens serienummer er ugyldigt</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">Autofyld af betalingsoplysninger er deaktiveret</translation>
 <translation id="4764776831041365478">Websiden på <ph name="URL" /> kan være midlertidigt nede, eller også er den permanent flyttet til en ny webadresse.</translation>
 <translation id="4771973620359291008">Der er opstået en ukendt fejl.</translation>
+<translation id="4780900888022378816">Din enhed administreres af <ph name="ENROLLMENT_DOMAIN" />, og din konto administreres af <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Skift til denne fane</translation>
 <translation id="4798078619018708837">Opdater dine kortoplysninger ved at indtaste udløbsdatoen og kontrolkoden for <ph name="CREDIT_CARD" />. Når du bekræfter, deles kortoplysningerne på din Google-konto med dette website.</translation>
 <translation id="4800132727771399293">Kontrollér, om din kontrolkode og udløbsdato er korrekte, og prøv igen.</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> siger</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Ingen resultater</translation>
+<translation id="4945672369594656571">Styrer, hvordan dine enheds- og kontodata håndteres. Google behandler dine enheds- og kontodata efter eksklusiv anvisning fra din enheds- og kontoadministrator og kun med henblik på de formål, der er fastsat af enheds- og kontoadministratoren.</translation>
 <translation id="4950898438188848926">Knap til faneskift. Tryk på Enter for at skifte til den åbne fane, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Handlinger</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">Tekst, du har kopieret</translation>
 <translation id="5018422839182700155">Denne side kan ikke åbnes</translation>
 <translation id="5019198164206649151">Sikkerhedskopien er fejlbehæftet</translation>
+<translation id="5020154601324912079">Styrer, hvordan enhedens data håndteres. Google behandler enhedens data efter eksklusiv anvisning fra din enhedsadministrator og kun med henblik på de formål, der er fastsat af enhedsadministratoren.</translation>
 <translation id="5023310440958281426">Læs din administrators politikker</translation>
 <translation id="5029568752722684782">Slet kopi</translation>
 <translation id="503069730517007720">Et rodcertifikat for "<ph name="SOFTWARE_NAME" />" er påkrævet, men ikke installeret. Din IT-administrator bør kigge på konfigurationsvejledningen til "<ph name="SOFTWARE_NAME" />" for at løse dette problem. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -777,7 +789,7 @@
 <translation id="5252000469029418751">C7 (Envelope)</translation>
 <translation id="5254958791078852567">E1</translation>
 <translation id="5283044957620376778">B1</translation>
-<translation id="528468243742722775">End</translation>
+<translation id="528468243742722775">Afslut</translation>
 <translation id="5284909709419567258">Netværksadresser</translation>
 <translation id="5285570108065881030">Se alle gemte adgangskoder</translation>
 <translation id="5287240709317226393">Vis cookies</translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">Du bør ikke indtaste følsomme oplysninger på dette website (f.eks. adgangskoder eller kreditkortoplysninger), da de kan blive stjålet af hackere.</translation>
 <translation id="5860033963881614850">Fra</translation>
 <translation id="5863847714970149516">Siden forude kan forsøge at opkræve dig penge</translation>
+<translation id="5865951947699094510">Din kontokonfiguration kan ændres eksternt.</translation>
 <translation id="5866257070973731571">Tilføj telefonnummer</translation>
 <translation id="5869405914158311789">Der kan ikke oprettes forbindelse til dette website</translation>
 <translation id="5869522115854928033">Gemte adgangskoder</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">På denne enhed</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Betalingsappen kan ikke åbnes</translation>
+<translation id="5988826871883769516">Din enhed administreres af <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Der er hverken angivet faste proxyservere eller en .pac-scriptwebadresse.</translation>
 <translation id="5990559369517809815">Anmodninger til serveren er blokeret af en udvidelse.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">Hvis du er indforstået med de forbundne sikkerhedsrisici, kan du <ph name="BEGIN_LINK" />besøge dette website<ph name="END_LINK" />, inden de skadelige apps fjernes.</translation>
 <translation id="6047927260846328439">Dette indhold forsøger muligvis at narre dig til at installere software eller afsløre personlige oplysninger. <ph name="BEGIN_LINK" />Vis alligevel<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Du kan ikke besøge <ph name="SITE" /> lige nu, da websitet bruger certifikatlåsning. Netværksfejl og angreb er normalt midlertidige, så siden vil sandsynligvis fungere igen senere.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Vil du bruge kortene på alle dine enheder?</translation>
 <translation id="6059925163896151826">USB-enheder</translation>
 <translation id="6080696365213338172">Du har opnår adgang til indhold vha. et administratorcertifikat. De data, du angiver til <ph name="DOMAIN" />, kan indhentes af din administrator.</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">Genstart Chrome</translation>
 <translation id="6529602333819889595">&amp;Annuller fortryd slet</translation>
 <translation id="6534179046333460208">Forslag til Fysisk web</translation>
+<translation id="6554795675067793129">Din konto administreres af <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Gør det igen</translation>
 <translation id="6563469144985748109">Din administrator har ikke godkendt det endnu</translation>
 <translation id="6569060085658103619">Du ser en udvidelsesside</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">Grønblå</translation>
 <translation id="7064851114919012435">Kontaktoplysninger</translation>
 <translation id="7079718277001814089">Dette website indeholder malware</translation>
+<translation id="7081564429925484109">Advarsel! Denne politik blev ikke flettet som angivet i PolicyListMultipleSourceMergeList, da den ikke findes på en liste.</translation>
 <translation id="7087282848513945231">Amt/region</translation>
 <translation id="7090678807593890770">Søg efter <ph name="LINK" /> på Google</translation>
 <translation id="7108338896283013870">Skjul</translation>
@@ -1150,6 +1167,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Administrer adgangskoder…</translation>
 <translation id="7419106976560586862">Profilsti</translation>
+<translation id="7424427397225027541">Styrer, hvordan dine kontodata håndteres. Google behandler dine kontodata efter eksklusiv anvisning fra din kontoadministrator og kun med henblik på de formål, der er fastsat af kontoadministratoren.</translation>
 <translation id="7437289804838430631">Tilføj kontaktoplysninger</translation>
 <translation id="7440140511386898319">Udforsk, mens du er offline</translation>
 <translation id="7441627299479586546">Forkert emne for politik</translation>
@@ -1236,6 +1254,7 @@
 <translation id="780301667611848630">Nej tak</translation>
 <translation id="7805768142964895445">Status</translation>
 <translation id="7806344367022510803">Skift søgemaskineindstillinger i Chrome</translation>
+<translation id="7810209002420871817">Som administrator for din konto <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Vil du fjerne formularforslaget fra Chrome?</translation>
 <translation id="7815407501681723534">Der blev fundet <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> for "<ph name="SEARCH_STRING" />"</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb
index 96863e7..c8d52143 100644
--- a/components/strings/components_strings_el.xtb
+++ b/components/strings/components_strings_el.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="el">
+<translation id="1001338328714563407">Ως διαχειριστής της συσκευής και του λογαριασμού σας από τον τομέα <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Όχι τώρα</translation>
 <translation id="1010200102790553230">Φόρτωση σελίδας αργότερα</translation>
 <translation id="1015730422737071372">Καταχωρίστε επιπλέον λεπτομέρειες</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Πρόχειρο</translation>
 <translation id="2587730715158995865">Από <ph name="ARTICLE_PUBLISHER" />. Διαβάστε αυτό το άρθρο και <ph name="OTHER_ARTICLE_COUNT" /> ακόμα ιστορίες.</translation>
 <translation id="2587841377698384444">Αναγνωριστικό API καταλόγου:</translation>
+<translation id="2595719060046994702">Αυτή η συσκευή και αυτός ο λογαριασμός δεν είναι υπό τη διαχείριση μιας εταιρείας ή ενός οργανισμού.</translation>
 <translation id="2597378329261239068">Αυτό το έγγραφο προστατεύεται με κωδικό πρόσβασης.  Πληκτρολογήστε έναν κωδικό πρόσβασης.</translation>
 <translation id="2609632851001447353">Παραλλαγές</translation>
 <translation id="2618023639789766142">C10 (Φάκελος)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Έγινε επαναφορά της σύνδεσης.</translation>
 <translation id="2788784517760473862">Αποδεκτές πιστωτικές κάρτες</translation>
+<translation id="2792012897584536778">Οι διαχειριστές αυτής της συσκευής έχουν εγκαταστήσει πιστοποιητικά ασφαλείας που μπορεί να τους επιτρέπουν να βλέπουν το περιεχόμενο των ιστοτόπων που επισκέπτεστε.</translation>
 <translation id="2794233252405721443">Ο ιστότοπος έχει αποκλειστεί</translation>
 <translation id="2799020568854403057">Ο ιστότοπος που πρόκειται να επισκεφτείτε περιέχει επιβλαβείς εφαρμογές</translation>
 <translation id="2799223571221894425">Επανεκκίνηση</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Διευθύνσεις</translation>
 <translation id="290376772003165898">Η σελίδα δεν είναι στα <ph name="LANGUAGE" />;</translation>
 <translation id="2909946352844186028">Εντοπίστηκε μια αλλαγή δικτύου.</translation>
+<translation id="2910133103376701357">Η διαχείριση της συσκευής και του λογαριασμού γίνεται από τον τομέα <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Κλείστε τα άλλα προγράμματα</translation>
 <translation id="2922350208395188000">Δεν είναι δυνατός ο έλεγχος του πιστοποιητικού του διακομιστή.</translation>
 <translation id="2925673989565098301">Τρόπος προβολής</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Μπορείτε να απενεργοποιήσετε τυχόν διακομιστές μεσολάβησης που έχουν διαμορφωθεί για μια σύνδεση από τη σελίδα ρυθμίσεων.</translation>
 <translation id="2955913368246107853">Κλείσιμο γραμμής εύρεσης</translation>
 <translation id="2969319727213777354">Για την επίτευξη μιας ασφαλούς σύνδεσης, θα πρέπει να γίνει σωστή ρύθμιση του ρολογιού σας. Αυτό οφείλεται στο γεγονός ότι τα πιστοποιητικά που χρησιμοποιούν οι ιστότοποι για την ταυτοποίησή τους είναι έγκυρα μόνο για συγκεκριμένες χρονικές περιόδους. Εφόσον το ρολόι της συσκευής σας δεν είναι σωστά ρυθμισμένο, το Google Chrome δεν μπορεί να επαληθεύσει αυτά τα πιστοποιητικά.</translation>
+<translation id="2970515157925768593">Μπορεί να αλλάξει από απόσταση τη ρύθμιση της συσκευής και του λογαριασμού σας.</translation>
 <translation id="2972581237482394796">&amp;Επανάληψη ενέργειας</translation>
 <translation id="2977665033722899841">Έχει επιλεγεί ο λογαριασμός <ph name="ROW_NAME" />. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Διαγραφή δεδομένων</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Εμφάνιση αποθηκευμένου αντιγράφου</translation>
 <translation id="3008447029300691911">Εισαγάγετε τον κωδικό CVC για την πιστωτική κάρτα <ph name="CREDIT_CARD" />. Μετά την επιβεβαίωση, θα κοινοποιηθούν τα στοιχεία της κάρτας σας με αυτόν τον ιστότοπο.</translation>
 <translation id="3010559122411665027">Καταχώριση λίστας "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Ως διαχειριστής αυτής της συσκευής από τον τομέα <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Αποκλείστηκε αυτόματα</translation>
 <translation id="3023071826883856138">You4 (Φάκελος)</translation>
 <translation id="3024663005179499861">Λανθασμένος τύπος πολιτικής</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Να γίνει λήψη όταν πραγματοποιηθεί σύνδεση</translation>
 <translation id="3293642807462928945">Μάθετε περισσότερα σχετικά με την πολιτική <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Δεν βρέθηκαν αποτελέσματα αναζήτησης</translation>
+<translation id="3311730110465560799">Μπορεί να αλλάξει από απόσταση τη ρύθμιση της συσκευής σας.</translation>
 <translation id="3320021301628644560">Προσθήκη διεύθυνσης χρέωσης</translation>
 <translation id="3324983252691184275">Βαθύ κόκκινο</translation>
 <translation id="3338095232262050444">Ασφαλές</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">Απόκρυψη κατάστασης</translation>
 <translation id="3765032636089507299">Η σελίδα Ασφαλούς περιήγησης είναι υπό κατασκευή.</translation>
 <translation id="3778403066972421603">Θέλετε να αποθηκεύσετε αυτήν την κάρτα στον Λογαριασμό σας Google και σε αυτήν τη συσκευή;</translation>
+<translation id="3779973883630527594">Η εταιρεία, το εκπαιδευτικό ίδρυμα ή ο οργανισμός που διαχειρίζεται αυτόν τον λογαριασμό:</translation>
 <translation id="3781428340399460090">Έντονο ροζ</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Λήγει <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">Προέκυψε σφάλμα κατά την επεξεργασία της παραγγελίας σας. Δοκιμάστε ξανά.</translation>
 <translation id="4075732493274867456">Η εφαρμογή πελάτης και ο διακομιστής δεν υποστηρίζουν κάποια κοινή έκδοση πρωτοκόλλου SSL ή σουίτα κρυπτογράφησης.</translation>
 <translation id="4079302484614802869">Η διαμόρφωση του διακομιστή μεσολάβησης είναι ορισμένη να χρησιμοποιεί μια διεύθυνση URL σεναρίου .pac και όχι σταθερούς διακομιστές μεσολάβησης.</translation>
+<translation id="4082393374666368382">Ρυθμίσεις - Διαχείριση</translation>
 <translation id="4092411512356034591">Συνέχεια στο <ph name="DOMAIN" />;</translation>
 <translation id="4098354747657067197">Ακολουθεί παραπλανητικός ιστότοπος</translation>
 <translation id="4103249731201008433">Ο σειριακός αριθμός της συσκευής δεν είναι έγκυρος</translation>
@@ -691,6 +700,7 @@
 <translation id="4759118997339041434">Η αυτόματη συμπλήρωση στοιχείων πληρωμής είναι απενεργοποιημένη</translation>
 <translation id="4764776831041365478">Η ιστοσελίδα στη διεύθυνση <ph name="URL" /> μπορεί να βρίσκεται προσωρινά εκτός λειτουργίας ή ίσως έχει μεταφερθεί μόνιμα σε νέα διεύθυνση ιστού.</translation>
 <translation id="4771973620359291008">Παρουσιάστηκε άγνωστο σφάλμα.</translation>
+<translation id="4780900888022378816">Η διαχείριση της συσκευής σας γίνεται από τον τομέα <ph name="ENROLLMENT_DOMAIN" /> και του λογαριασμού σας από τον τομέα <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Εναλλαγή σε αυτήν την καρτέλα</translation>
 <translation id="4798078619018708837">Καταχωρίστε την ημερομηνία λήξης και τον κωδικό CVC για την πιστωτική κάρτα <ph name="CREDIT_CARD" />, προκειμένου να ενημερώσετε τα στοιχεία της κάρτας σας. Μετά την επιβεβαίωση, τα στοιχεία της κάρτας από τον Λογαριασμό Google θα κοινοποιηθούν σε αυτόν τον ιστότοπο.</translation>
 <translation id="4800132727771399293">Ελέγξτε την ημερομηνία λήξης και τον κωδικό σας CVC και δοκιμάστε ξανά</translation>
@@ -715,6 +725,7 @@
 <translation id="4926159001844873046">Ο ιστότοπος <ph name="SITE" /> λέει</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Δεν υπάρχουν αποτελέσματα</translation>
+<translation id="4945672369594656571">Ελέγχει τον τρόπο χειρισμού των δεδομένων της συσκευής και του λογαριασμού σας. To Google επεξεργάζεται τα δεδομένα της συσκευής και του λογαριασμού σας σύμφωνα με την καθοδήγηση του διαχειριστή της συσκευής και του λογαριασμού σας και μόνο για τους σκοπούς που ορίζονται από τον διαχειριστή της συσκευής και του λογαριασμού σας.</translation>
 <translation id="4950898438188848926">Κουμπί εναλλαγής καρτέλας, πατήστε Enter για μετάβαση στην ανοιχτή καρτέλα, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Ενέργειες</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -728,6 +739,7 @@
 <translation id="5017554619425969104">Κείμενο που αντιγράψατε</translation>
 <translation id="5018422839182700155">Δεν είναι δυνατό το άνοιγμα αυτής της σελίδας</translation>
 <translation id="5019198164206649151">Η αποθήκευση αντιγράφων ασφαλείας είναι σε κακή κατάσταση</translation>
+<translation id="5020154601324912079">Ελέγχει τον τρόπο χειρισμού των δεδομένων της συσκευής σας. To Google επεξεργάζεται τα δεδομένα της συσκευής σας αποκλειστικά σύμφωνα με την καθοδήγηση του διαχειριστή της συσκευής σας και μόνο για τους σκοπούς που ορίζονται από τον διαχειριστή της συσκευής σας.</translation>
 <translation id="5023310440958281426">Ελέγξτε τις πολιτικές του διαχειριστή</translation>
 <translation id="5029568752722684782">Διαγραφή αντιγράφου</translation>
 <translation id="503069730517007720">Απαιτείται πιστοποιητικό ρίζας για το λογισμικό "<ph name="SOFTWARE_NAME" />" αλλά δεν έχει εγκατασταθεί. Ο διαχειριστής IT πρέπει να εξετάσει τις οδηγίες διαμόρφωσης για το λογισμικό "<ph name="SOFTWARE_NAME" />", προκειμένου να διορθώσει αυτό το πρόβλημα. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -885,6 +897,7 @@
 <translation id="5838278095973806738">Δεν θα πρέπει να εισαγάγετε ευαίσθητες πληροφορίες σε αυτόν τον ιστότοπο (για παράδειγμα, κωδικούς πρόσβασης ή πιστωτικές κάρτες), επειδή ενδέχεται να υποκλαπούν από εισβολείς.</translation>
 <translation id="5860033963881614850">Απενεργοποιημένη</translation>
 <translation id="5863847714970149516">Η σελίδα που ακολουθεί μπορεί να προσπαθήσει να σας χρεώσει</translation>
+<translation id="5865951947699094510">Μπορεί να αλλάξει από απόσταση τη ρύθμιση του λογαριασμού σας.</translation>
 <translation id="5866257070973731571">Προσθήκη αριθμού τηλεφώνου</translation>
 <translation id="5869405914158311789">Δεν είναι δυνατή η πρόσβαση σε αυτόν τον ιστότοπο</translation>
 <translation id="5869522115854928033">Αποθηκευμένοι κωδικοί πρόσβασης</translation>
@@ -905,6 +918,7 @@
 <translation id="5977976211062815271">Σε αυτήν τη συσκευή</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Δεν είναι δυνατό το άνοιγμα της εφαρμογής πληρωμής</translation>
+<translation id="5988826871883769516">Η διαχείριση της συσκευής σας γίνεται από τον τομέα <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Δεν προσδιορίζονται ούτε οι σταθεροί διακομιστές μεσολάβησης ούτε μια διεύθυνση URL σεναρίου .pac.</translation>
 <translation id="5990559369517809815">Τα αιτήματα για τον διακομιστή έχουν αποκλειστεί από μια επέκταση.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -922,6 +936,7 @@
 <translation id="6047233362582046994">Εάν κατανοείτε τους κινδύνους για την ασφάλειά σας, μπορείτε να <ph name="BEGIN_LINK" />επισκεφτείτε αυτόν τον ιστότοπο<ph name="END_LINK" /> πριν από την κατάργηση των επιβλαβών εφαρμογών.</translation>
 <translation id="6047927260846328439">Αυτό το περιεχόμενο μπορεί να προσπαθήσει να σας εξαπατήσει έτσι ώστε να εγκαταστήσετε λογισμικό ή να αποκαλύψετε προσωπικά στοιχεία. <ph name="BEGIN_LINK" />Εμφάνιση ούτως ή άλλως<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Δεν μπορείτε να επισκεφτείτε το <ph name="SITE" /> αυτήν τη στιγμή επειδή ο ιστότοπος χρησιμοποιεί certificate pinning (κλείδωμα πιστοποιητικών). Τα σφάλματα δικτύου και οι επιθέσεις είναι συνήθως προσωρινά, συνεπώς αυτή η σελίδα πιθανότατα θα λειτουργήσει αργότερα.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Χρήση των καρτών σας σε όλες τις συσκευές σας;</translation>
 <translation id="6059925163896151826">Συσκευές USB</translation>
 <translation id="6080696365213338172">Η πρόσβασή σας στο περιεχόμενο πραγματοποιήθηκε με τη χρήση ενός πιστοποιητικού που παρασχέθηκε από διαχειριστή. Τα δεδομένα που παρέχετε στο <ph name="DOMAIN" /> μπορεί να ελέγχονται από το διαχειριστή σας.</translation>
@@ -991,6 +1006,7 @@
 <translation id="6508722015517270189">Επανεκκινήστε το Chrome</translation>
 <translation id="6529602333819889595">&amp;Επανάληψη διαγραφής</translation>
 <translation id="6534179046333460208">Προτάσεις Φυσικού δικτύου</translation>
+<translation id="6554795675067793129">Η διαχείριση του λογαριασμού σας γίνεται από τον τομέα <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Επανάληψη ενέργειας</translation>
 <translation id="6563469144985748109">Ο διαχειριστής σας δεν τον έχει εγκρίνει ακόμα</translation>
 <translation id="6569060085658103619">Βλέπετε μια σελίδα επέκτασης</translation>
@@ -1075,6 +1091,7 @@
 <translation id="7062635574500127092">Γαλαζοπράσινο</translation>
 <translation id="7064851114919012435">Στοιχεία επικοινωνίας</translation>
 <translation id="7079718277001814089">Ο ιστότοπος περιέχει κακόβουλο πρόγραμμα</translation>
+<translation id="7081564429925484109">Προειδοποίηση: Αυτή η πολιτική δεν συγχωνεύτηκε, όπως ορίζεται στην πολιτική PolicyListMultipleSourceMergeList, γιατί δεν είναι λίστα.</translation>
 <translation id="7087282848513945231">Κομητεία</translation>
 <translation id="7090678807593890770">Αναζητήστε στο Google για <ph name="LINK" /></translation>
 <translation id="7108338896283013870">Απόκρυψη</translation>
@@ -1151,6 +1168,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Διαχείριση κωδικών πρόσβασης…</translation>
 <translation id="7419106976560586862">Διαδρομή προφίλ</translation>
+<translation id="7424427397225027541">Ελέγχει τον τρόπο χειρισμού των δεδομένων του λογαριασμού σας. To Google επεξεργάζεται τα δεδομένα του λογαριασμού σας αποκλειστικά σύμφωνα με την καθοδήγηση του διαχειριστή του λογαριασμού σας και μόνο για τους σκοπούς που ορίζονται από τον διαχειριστή του λογαριασμού σας.</translation>
 <translation id="7437289804838430631">Προσθήκη στοιχείων επικοινωνίας</translation>
 <translation id="7440140511386898319">Αναζήτηση εκτός σύνδεσης</translation>
 <translation id="7441627299479586546">Εσφαλμένο θέμα πολιτικής</translation>
@@ -1237,6 +1255,7 @@
 <translation id="780301667611848630">Όχι, ευχαριστώ</translation>
 <translation id="7805768142964895445">Κατάσταση</translation>
 <translation id="7806344367022510803">Αλλάξτε τις ρυθμίσεις της μηχανής αναζήτησης στο Chrome</translation>
+<translation id="7810209002420871817">Ως διαχειριστής του λογαριασμού σας από τον τομέα, <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Κατάργηση πρότασης φόρμας από το Chrome;</translation>
 <translation id="7815407501681723534">Βρέθηκαν <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> για τον όρο αναζήτησης "<ph name="SEARCH_STRING" />"</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb
index 4072d3ee..b24256a 100644
--- a/components/strings/components_strings_et.xtb
+++ b/components/strings/components_strings_et.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="et">
+<translation id="1001338328714563407">Teie seadme ja konto haldurina, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Mitte praegu</translation>
 <translation id="1010200102790553230">Laadi leht hiljem</translation>
 <translation id="1015730422737071372">Esitage lisateavet</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Lõikelaud</translation>
 <translation id="2587730715158995865">Avaldajalt <ph name="ARTICLE_PUBLISHER" />. Lugege seda ja <ph name="OTHER_ARTICLE_COUNT" /> teist lugu.</translation>
 <translation id="2587841377698384444">Kataloogi API ID:</translation>
+<translation id="2595719060046994702">Seda seadet ja kontot ei halda ettevõte ega muu organisatsioon.</translation>
 <translation id="2597378329261239068">Dokument on parooliga kaitstud. Sisestage parool.</translation>
 <translation id="2609632851001447353">Variatsioonid</translation>
 <translation id="2618023639789766142">C10 (ümbrik)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Ühendus lähtestati.</translation>
 <translation id="2788784517760473862">Aktsepteeritavad krediitkaardid</translation>
+<translation id="2792012897584536778">Seadme administraatorid on seadistanud turvasertifikaadid, mille abil võivad nad näha teie külastatavate veebisaitide sisu.</translation>
 <translation id="2794233252405721443">Sait on blokeeritud</translation>
 <translation id="2799020568854403057">Sait, mille soovite avada, sisaldab kahjulikke rakendusi</translation>
 <translation id="2799223571221894425">Taaskäivita</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Aadressid</translation>
 <translation id="290376772003165898">Kas leht ei ole <ph name="LANGUAGE" /> keeles?</translation>
 <translation id="2909946352844186028">Tuvastati võrgumuudatus.</translation>
+<translation id="2910133103376701357">Teie seadet ja kontot haldab <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Sulgege muud programmid</translation>
 <translation id="2922350208395188000">Serveri sertifikaati ei saa kontrollida.</translation>
 <translation id="2925673989565098301">Kohaletoimetamisviis</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Seadete lehel saate keelata kõik ühenduse jaoks konfigureeritud puhverserverid.</translation>
 <translation id="2955913368246107853">Sule leiuriba</translation>
 <translation id="2969319727213777354">Turvalise ühenduse loomiseks peab kell olema õigesti seadistatud, kuna sertifikaadid, mida veebisaidid kasutavad enda tuvastamiseks, kehtivad ainult teatud perioodi jooksul. Kuna teie seadme kell on vale, ei saa Chrome neid sertifikaate kinnitada.</translation>
+<translation id="2970515157925768593">Saab kaugühenduse kaudu teie seadme ja konto seadistust muuta.</translation>
 <translation id="2972581237482394796">&amp;Tee uuesti</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" />, praegu valitud. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Kustuta andmed</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Kuva salvestatud koopia</translation>
 <translation id="3008447029300691911">Sisestage krediitkaardi <ph name="CREDIT_CARD" /> CVC. Kui selle kinnitate, jagatakse teie kaardi üksikasju selle saidiga.</translation>
 <translation id="3010559122411665027">Loendi kirje „<ph name="ENTRY_INDEX" />”: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Selle seadme haldurina, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Automaatselt blokeeritud</translation>
 <translation id="3023071826883856138">You4 (ümbrik)</translation>
 <translation id="3024663005179499861">Reegli tüüp on vale</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Laadi alla, kui ühendus on saadaval</translation>
 <translation id="3293642807462928945">Lisateave reegli <ph name="POLICY_NAME" /> kohta</translation>
 <translation id="3303855915957856445">Otsingutulemusi ei leitud</translation>
+<translation id="3311730110465560799">Saab teie seadme seadistust kaugühenduse kaudu muuta.</translation>
 <translation id="3320021301628644560">Arveldusaadressi lisamine</translation>
 <translation id="3324983252691184275">Tulipunane</translation>
 <translation id="3338095232262050444">Turvaline</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">Peida olek</translation>
 <translation id="3765032636089507299">Google'i ohutu sirvimise leht on loomisel.</translation>
 <translation id="3778403066972421603">Kas soovite selle kaardi salvestada oma Google'i kontole ja sellesse seadmesse?</translation>
+<translation id="3779973883630527594">Seda kontot haldav ettevõte, kool või organisatsioon:</translation>
 <translation id="3781428340399460090">Erkroosa</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Aegub: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">Teie tellimuse töötlemisel ilmnes viga. Proovige uuesti.</translation>
 <translation id="4075732493274867456">Klient ja server ei toeta tavapärast SSL-protokolli versiooni ega šifreerimiskomplekti.</translation>
 <translation id="4079302484614802869">Puhverserveri konfigureerimine on määratud kasutama pac-skripti URL-i, mitte fikseeritud puhverservereid.</translation>
+<translation id="4082393374666368382">Seaded – haldus</translation>
 <translation id="4092411512356034591">Kas minna edasi domeenile <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Avatav sait on petturlik</translation>
 <translation id="4103249731201008433">Seadme seerianumber on kehtetu</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">Makse automaatne täitmine on keelatud</translation>
 <translation id="4764776831041365478">Veebileht aadressil <ph name="URL" /> võib olla ajutiselt maas või jäädavalt uuele veebiaadressile teisaldatud.</translation>
 <translation id="4771973620359291008">Tekkis tundmatu viga.</translation>
+<translation id="4780900888022378816">Teie seadet haldab <ph name="ENROLLMENT_DOMAIN" /> ja teie kontot haldab <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Lülitage sellele vahelehele</translation>
 <translation id="4798078619018708837">Kaardi üksikasjade värskendamiseks sisestage krediitkaardi <ph name="CREDIT_CARD" /> aegumiskuupäev ja CVC. Kui selle kinnitate, jagatakse teie Google'i kontol oleva kaardi üksikasju selle saidiga.</translation>
 <translation id="4800132727771399293">Kontrollige aegumiskuupäeva ja CVC-d ning proovige uuesti</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> ütleb</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Tulemusi pole</translation>
+<translation id="4945672369594656571">Määrab, kuidas teie seadme ja konto andmeid hallatakse. Google töötleb teie seadme ja konto andmeid ainult seadme- ja kontohalduri juhiste järgi ja tema määratud eesmärkidel.</translation>
 <translation id="4950898438188848926">Vahelehe vahetamise nupp, vajutage sisestusklahvi avatud vahelehe aktiveerimiseks, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Toimingud</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">Teie kopeeritud tekst</translation>
 <translation id="5018422839182700155">Seda lehte ei saa avada</translation>
 <translation id="5019198164206649151">Varusalves esineb probleeme</translation>
+<translation id="5020154601324912079">Määrab, kuidas seadme andmeid hallatakse. Google töötleb teie seadme andmeid ainult kontohalduri juhiste järgi ja tema määratud eesmärkidel.</translation>
 <translation id="5023310440958281426">Tutvuge administraatori reeglitega</translation>
 <translation id="5029568752722684782">Kustuta koopia</translation>
 <translation id="503069730517007720">Vaja on tarkvara „<ph name="SOFTWARE_NAME" />” juursertifikaati, kuid see pole installitud. Teie IT-administraator peaks probleemi lahendamiseks tarkvara „<ph name="SOFTWARE_NAME" />” seadistamisjuhised üle vaatama. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">Te ei tohiks sellele saidile sisestada tundlikku teavet (nt paroolid või krediitkaardid), kuna ründajad võivad selle varastada.</translation>
 <translation id="5860033963881614850">Väljas</translation>
 <translation id="5863847714970149516">Järgmisel lehel võidakse teilt üritada tasu võtta</translation>
+<translation id="5865951947699094510">Saab teie konto seadistust kaugühenduse kaudu muuta.</translation>
 <translation id="5866257070973731571">Telefoninumbri lisamine</translation>
 <translation id="5869405914158311789">Selle saidiga ei saa ühendust</translation>
 <translation id="5869522115854928033">Salvestatud paroolid</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">Selles seadmes</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Makserakendust ei saa avada</translation>
+<translation id="5988826871883769516">Teie seadet haldab rakendus <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Määratud ei ole fikseeritud puhverservereid ega pac-skriptiga URL-i.</translation>
 <translation id="5990559369517809815">Laiendus blokeeris serverisse saadetavad päringud.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">Kui mõistate, kuidas see teie turvalisust ohustab, siis võite <ph name="BEGIN_LINK" />seda saiti külastada<ph name="END_LINK" /> enne, kui kahjulikud rakendused on eemaldatud.</translation>
 <translation id="6047927260846328439">See sisu võib meelitada teid installima tarkvara või avaldama isiklikke andmeid. <ph name="BEGIN_LINK" />Kuva ikkagi<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Te ei saa saiti <ph name="SITE" /> praegu külastada, sest veebisait kasutab sertifikaadi kinnitamist. Võrguvead ja -rünnakud on tavaliselt ajutised, nii et leht tõenäoliselt hiljem töötab.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Kas soovite kaarte kasutada kõigis oma seadmetes?</translation>
 <translation id="6059925163896151826">USB-seadmed</translation>
 <translation id="6080696365213338172">Olete sisule juurde pääsenud administraatori antud sertifikaadiga. Administraator saab domeenile <ph name="DOMAIN" /> edastatavaid andmeid kinni pidada.</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">Taaskäivitage Chrome</translation>
 <translation id="6529602333819889595">&amp;Kustuta uuesti</translation>
 <translation id="6534179046333460208">Füüsilise veebi soovitused</translation>
+<translation id="6554795675067793129">Teie kontot haldab <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Tee uuesti</translation>
 <translation id="6563469144985748109">Haldur ei ole seda veel kinnitanud</translation>
 <translation id="6569060085658103619">Vaatate laienduse lehte</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">Sinakasroheline</translation>
 <translation id="7064851114919012435">Kontaktteave</translation>
 <translation id="7079718277001814089">See sait sisaldab pahavara</translation>
+<translation id="7081564429925484109">Hoiatus. Reeglit ei liidetud reeglis PolicyListMultipleSourceMergeList määratud viisil, kuna see ei ole loend.</translation>
 <translation id="7087282848513945231">Maakond</translation>
 <translation id="7090678807593890770">Sisestage Google'isse otsing <ph name="LINK" /></translation>
 <translation id="7108338896283013870">Peida</translation>
@@ -1150,6 +1167,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Halda paroole …</translation>
 <translation id="7419106976560586862">Profiili tee</translation>
+<translation id="7424427397225027541">Juhib teie konto andmete haldamist. Google töötleb teie konto andmeid ainult kontohalduri juhiste järgi ja tema määratud eesmärkidel.</translation>
 <translation id="7437289804838430631">Lisa kontaktteave</translation>
 <translation id="7440140511386898319">Uurige võrguühenduseta sisu</translation>
 <translation id="7441627299479586546">Reegli objekt on vale</translation>
@@ -1236,6 +1254,7 @@
 <translation id="780301667611848630">Ei, aitäh</translation>
 <translation id="7805768142964895445">Olek</translation>
 <translation id="7806344367022510803">Muutke otsingumootori seadeid Chrome'is</translation>
+<translation id="7810209002420871817">Teie konto <ph name="ACCOUNT_DOMAIN" /> haldurina:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Kas eemaldada Chrome'ist vormi soovitus?</translation>
 <translation id="7815407501681723534">Otsingule „<ph name="SEARCH_STRING" />” leiti <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" />.</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb
index af51b50..ed81c3c 100644
--- a/components/strings/components_strings_fa.xtb
+++ b/components/strings/components_strings_fa.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="fa">
+<translation id="1001338328714563407">به‌عنوان مدیر دستگاه و حسابتان، <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">اکنون نه</translation>
 <translation id="1010200102790553230">بار کردن صفحه در فرصتی دیگر</translation>
 <translation id="1015730422737071372">جزئیات بیشتری ارائه دهید</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">بریده‌دان</translation>
 <translation id="2587730715158995865">از <ph name="ARTICLE_PUBLISHER" />. این داستان و <ph name="OTHER_ARTICLE_COUNT" /> داستان دیگر را بخوانید.</translation>
 <translation id="2587841377698384444">‏شناسه Directory API:</translation>
+<translation id="2595719060046994702">این دستگاه و حساب توسط شرکت یا سازمان دیگری مدیریت نمی‌شود.</translation>
 <translation id="2597378329261239068">این سند توسط گذرواژه محافظت می‌شود.  لطفاً یک گذرواژه وارد کنید.</translation>
 <translation id="2609632851001447353">انواع مختلف</translation>
 <translation id="2618023639789766142">C10 (Envelope)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">اتصال مجدداً برقرار شد.</translation>
 <translation id="2788784517760473862">کارت‌های اعتباری قابل‌قبول</translation>
+<translation id="2792012897584536778">سرپرستان این دستگاه چند گواهینامه امنیتی راه‌اندازی کرده‌اند که می‌تواند به آن‌ها اجازه دهد محتوای وب‌سایت‌هایی را که بازدید می‌کنید، ببینند.</translation>
 <translation id="2794233252405721443">سایت مسدودشده</translation>
 <translation id="2799020568854403057">سایت پیش‌رو حاوی برنامه‌های خطرناک است</translation>
 <translation id="2799223571221894425">راه‌اندازی مجدد</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">آدرس‌ها</translation>
 <translation id="290376772003165898">صفحه به زبان <ph name="LANGUAGE" /> وجود ندارد؟</translation>
 <translation id="2909946352844186028">تغییر شبکه تشخیص داده شد.</translation>
+<translation id="2910133103376701357">دستگاه و حسابتان توسط <ph name="ENROLLMENT_DOMAIN" /> مدیریت می‌شود.</translation>
 <translation id="2916038427272391327">برنامه‌های دیگر را ببندید</translation>
 <translation id="2922350208395188000">گواهی سرور بررسی نمی‌شود.</translation>
 <translation id="2925673989565098301">روش ارسال</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">در صفحه تنظیمات می‌توانید همه پراکسی‌های پیکربندی شده برای هر اتصال را از کار بیاندازید.</translation>
 <translation id="2955913368246107853">بستن نوار یافتن</translation>
 <translation id="2969319727213777354">‏برای برقراری یک اتصال امن، لازم است ساعت شما درست تنظیم شده باشد. زیرا گواهی‌هایی که وب‌سایت‌ها برای شناسایی خودشان استفاده می‌کنند، تنها برای دوره‌های زمانی خاصی معتبرند. از آنجا که ساعت دستگاه شما نادرست است، Google Chrome نمی‌تواند این گواهی‌ها را تأیید کند.</translation>
+<translation id="2970515157925768593">می‌تواند تنظیم دستگاه و حسابتان را ازراه‌دور تغییر دهد.</translation>
 <translation id="2972581237482394796">انجام مجدد</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" />، درحال‌حاضر انتخاب شده است. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">پاک کردن داده‌ها</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">نمایش کپی ذخیره شده</translation>
 <translation id="3008447029300691911">‏CVC کارت <ph name="CREDIT_CARD" /> را وارد کنید. بعد از تأیید، جزئیات کارت شما با این سایت به اشتراک گذاشته می‌شود.</translation>
 <translation id="3010559122411665027">ورودی فهرست "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">به‌عنوان مدیر این دستگاه، <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">مسدود‌شده به‌طور خودکار</translation>
 <translation id="3023071826883856138">You4 (Envelope)</translation>
 <translation id="3024663005179499861">نوع خط‌مشی اشتباه است</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">بارگیری بعد از آنلاین شدن</translation>
 <translation id="3293642807462928945">درباره خطمشی <ph name="POLICY_NAME" /> بیشتر بدانید</translation>
 <translation id="3303855915957856445">هیچ نتیجه‌ای برای جستجو یافت نشد</translation>
+<translation id="3311730110465560799">می‌تواند تنظیم دستگاهتان را ازراه‌دور تغییر دهد.</translation>
 <translation id="3320021301628644560">افزودن نشانی صورتحساب</translation>
 <translation id="3324983252691184275">زرشکی</translation>
 <translation id="3338095232262050444">ایمن</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">پنهان کردن وضعیت</translation>
 <translation id="3765032636089507299">صفحه «مرور ایمن» در دست ساخت است.</translation>
 <translation id="3778403066972421603">‏آیا می‌خواهید این کارت در حساب Google شما و این دستگاه ذخیره شود؟</translation>
+<translation id="3779973883630527594">شرکت، مدرسه، یا سازمانی که این حساب را مدیریت می‌کند:</translation>
 <translation id="3781428340399460090">صورتی پررنگ</translation>
 <translation id="3783418713923659662">مسترکارت</translation>
 <translation id="3787705759683870569">تاریخ انقضا <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">هنگام پردازش سفارش شما خطایی روی داد. لطفاً دوباره امتحان کنید.</translation>
 <translation id="4075732493274867456">‏کلاینت و سرور از مجموعه رمزگذاری یا نسخه پروتکل SSL مشترکی استفاده نمی‌کنند.</translation>
 <translation id="4079302484614802869">‏تنظیمات پروکسی، برای استفاده از آدرس اسکریپت pac. تنظیم شده است و از سرورهای ثابت نمی‌تواند استفاده کند.</translation>
+<translation id="4082393374666368382">تنظیمات - مدیریت</translation>
 <translation id="4092411512356034591">به <ph name="DOMAIN" /> می‌روید؟</translation>
 <translation id="4098354747657067197">احتیاط، سایت گول‌زننده</translation>
 <translation id="4103249731201008433">شماره سریال دستگاه نامعتبر است</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">تکمیل خودکار پرداخت غیرفعال شد</translation>
 <translation id="4764776831041365478">ممکن است صفحهٔ وب <ph name="URL" /> موقتاً خراب باشد یا ممکن است برای همیشه به آدرس وب جدید منتقل شده باشد.</translation>
 <translation id="4771973620359291008">خطای ناشناخته‌ای رخ داد.</translation>
+<translation id="4780900888022378816">دستگاهتان توسط <ph name="ENROLLMENT_DOMAIN" />، و حسابتان توسط <ph name="ACCOUNT_DOMAIN" /> مدیریت می‌شود.</translation>
 <translation id="4785689107224900852">جابجا شدن به این برگه</translation>
 <translation id="4798078619018708837">‏برای به‌روزرسانی جزئیات کارت، تاریخ انقضا و CVC کارت <ph name="CREDIT_CARD" /> را وارد کنید. بعد از تأیید کردن، جزئیات کارت از حساب Google شما با این سایت هم‌رسانی می‌شود.</translation>
 <translation id="4800132727771399293">‏تاریخ انقضا و CVC را بررسی کرده و دوباره امتحان کنید</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> می‌گوید</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">نتیجه‌ای پیدا نشد</translation>
+<translation id="4945672369594656571">‏نحوه پردازش داده‌های دستگاه و حسابتان را کنترل می‌کند. Google داده‌های دستگاه و حسابتان را منحصراً تحت هدایت مدیر دستگاه و حسابتان و صرفاً برای اهداف مشخص‌شده توسط مدیر دستگاه و حساب پردازش می‌کند.</translation>
 <translation id="4950898438188848926">‏دکمه جابه‌جایی برگه، برای جابه‌جایی به برگه باز، کلید Enter را فشار دهید، <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">کنش‌ها</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">نوشتاری که کپی کرده‌اید</translation>
 <translation id="5018422839182700155">این صفحه نمی‌تواند باز شود</translation>
 <translation id="5019198164206649151">پشتیبان‌گیری ذخیره در وضعیت نادرست است</translation>
+<translation id="5020154601324912079">‏نحوه پردازش داده‌های دستگاهتان را کنترل می‌کند. Google داده‌های دستگاهتان را منحصراً تحت هدایت مدیر دستگاه و صرفاً برای اهداف مشخص‌شده توسط مدیر دستگاه پردازش می‌کند.</translation>
 <translation id="5023310440958281426">خط‌مشی‌های سرپرست سیستمتان را بررسی کنید</translation>
 <translation id="5029568752722684782">پاک کردن نسخه کپی</translation>
 <translation id="503069730517007720">برای «<ph name="SOFTWARE_NAME" />» گواهینامه ریشه‌ لازم است اما نصب نشده است. برای رفع این مشکل، سرپرست فناوری اطلاعات شما باید دستورالعمل‌های پیکربندی مربوط به «<ph name="SOFTWARE_NAME" />» را بررسی کند. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">نباید هیچ اطلاعات حساسی (مثل گذرواژه یا کارت اعتباری) را در این سایت وارد کنید، زیرا ممکن است مهاجمین آن‌ها را سرقت کنند.</translation>
 <translation id="5860033963881614850">خاموش</translation>
 <translation id="5863847714970149516">صفحه پیش‌رو ممکن است تلاش کند از شما پول دریافت کند</translation>
+<translation id="5865951947699094510">می‌تواند تنظیم حسابتان را ازراه‌دور تغییر دهد.</translation>
 <translation id="5866257070973731571">افزودن شماره تلفن</translation>
 <translation id="5869405914158311789">دسترسی به این سایت امکان‌پذیر نیست</translation>
 <translation id="5869522115854928033">گذرواژه‌های ذخیره‌شده</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">در این دستگاه</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">برنامه پرداخت باز نشد</translation>
+<translation id="5988826871883769516">دستگاهتان توسط <ph name="ENROLLMENT_DOMAIN" /> مدیریت می‌شود.</translation>
 <translation id="5989320800837274978">‏سرور پروکسی ثابت و URL اسکریپت pac. تعیین نشده‌اند.</translation>
 <translation id="5990559369517809815">درخواست‌های ارسالی به سرور توسط یک برنامهٔ افزودنی مسدود شد.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">اگر خطری را که امنیتتان را تهدید می‌کند درک می‌کنید، می‌توانید قبل از حذف برنامه‌های مضر، <ph name="BEGIN_LINK" />از این سایت بازدید کنید<ph name="END_LINK" />.</translation>
 <translation id="6047927260846328439">شاید محتوای این صفحه تلاش کند شما را فریب دهد تا نرم‌افزاری نصب کنید یا اطلاعات شخصی را افشا سازید. <ph name="BEGIN_LINK" />درهرصورت نمایش داده شود<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">درحال‌حاضر نمی‌توانید از <ph name="SITE" /> دیدن کنید، زیرا وب‌سایت از پین کردن گواهینامه استفاده می‌کند. خطاهای شبکه و حمله‌ها موقتی هستند، بنابراین احتمالاً این صفحه بعداً کار خواهد کرد.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">از کارت‌ها در همه دستگاه‌هایتان استفاده شود؟</translation>
 <translation id="6059925163896151826">‏دستگاه‌های USB</translation>
 <translation id="6080696365213338172">شما با استفاده از گواهی ارائه شده توسط سرپرست سیستم به محتوا دسترسی پیدا کرده‌اید. داده‌هایی که به <ph name="DOMAIN" /> ارائه می‌کنید ممکن است توسط سرپرست سیستم رهگیری شوند.</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">‏Chrome را راه‌اندازی مجدد کنید</translation>
 <translation id="6529602333819889595">&amp;انجام مجدد حذف</translation>
 <translation id="6534179046333460208">پیشنهادهای «وب فیزیکی»</translation>
+<translation id="6554795675067793129">حساب شما توسط <ph name="ENROLLMENT_DOMAIN" /> مدیریت می‌شود.</translation>
 <translation id="6556866813142980365">انجام مجدد</translation>
 <translation id="6563469144985748109">مدیرتان هنوز این سایت را تأیید نکرده است</translation>
 <translation id="6569060085658103619">درحال مشاهده یک صفحه افزونه هستید</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">سبز دودی</translation>
 <translation id="7064851114919012435">اطلاعات تماس</translation>
 <translation id="7079718277001814089">این سایت حاوی بدافزار است</translation>
+<translation id="7081564429925484109">‏هشدار: این خط‌مشی طبق آنچه در خط‌مشی PolicyListMultipleSourceMergeList مشخص شده ادغام نشد، زیرا فهرست نیست.</translation>
 <translation id="7087282848513945231">بخش/شهرستان</translation>
 <translation id="7090678807593890770">‏جستجوی <ph name="LINK" /> در Google</translation>
 <translation id="7108338896283013870">عدم نمایش</translation>
@@ -1150,6 +1167,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">مدیریت گذرواژه‌ها…</translation>
 <translation id="7419106976560586862">مسیر نمایه</translation>
+<translation id="7424427397225027541">‏نحوه پردازش داده‌های حسابتان را کنترل می‌کند. Google داده‌های حسابتان را منحصراً تحت هدایت مدیر حسابتان و صرفاً برای اهداف مشخص‌شده توسط مدیر حساب پردازش می‌کند.</translation>
 <translation id="7437289804838430631">افرودن اطلاعات تماس</translation>
 <translation id="7440140511386898319">کاوش درحالت آفلاین</translation>
 <translation id="7441627299479586546">موضوع خط‌مشی اشتباه است</translation>
@@ -1236,6 +1254,7 @@
 <translation id="780301667611848630">نه متشکرم</translation>
 <translation id="7805768142964895445">وضعیت</translation>
 <translation id="7806344367022510803">‏تنظیمات «موتور جستجو» را در Chrome تغییر دهید</translation>
+<translation id="7810209002420871817">به‌عنوان مدیر حسابتان، <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">‏پیشنهاد فرم از Chrome پاک شود؟</translation>
 <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /><ph name="SEARCH_RESULTS" /> برای «<ph name="SEARCH_STRING" />» پیدا شد</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb
index d63bbd1..591a97fe 100644
--- a/components/strings/components_strings_gu.xtb
+++ b/components/strings/components_strings_gu.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="gu">
+<translation id="1001338328714563407">તમારા ડિવાઇસ અને એકાઉન્ટના મેનેજર તરીકે, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">હમણાં નહીં</translation>
 <translation id="1010200102790553230">પેજ પછીથી લોડ કરો</translation>
 <translation id="1015730422737071372">અતિરિક્ત વિગતો પ્રદાન કરો</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">ક્લિપબોર્ડ</translation>
 <translation id="2587730715158995865"><ph name="ARTICLE_PUBLISHER" /> તરફથી. આ અને અન્ય <ph name="OTHER_ARTICLE_COUNT" /> વાર્તાઓ વાંચો.</translation>
 <translation id="2587841377698384444">ડિરેક્ટરી API ID:</translation>
+<translation id="2595719060046994702">આ ડિવાઇસ એક કંપની અથવા અન્ય સંસ્થા દ્વારા મેનેજ કરવામાં આવે છે.</translation>
 <translation id="2597378329261239068">આ દસ્તાવેજ પાસવર્ડ સુરક્ષિત છે. કૃપા કરીને પાસવર્ડ દાખલ કરો.</translation>
 <translation id="2609632851001447353">વૈવિધ્ય</translation>
 <translation id="2618023639789766142">C10 (એન્વલપ)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">કનેક્શન ફરીથી સેટ થયું.</translation>
 <translation id="2788784517760473862">સ્વીકૃત ક્રેડિટ કાર્ડ</translation>
+<translation id="2792012897584536778">આ ડિવાઇસના વ્યવસ્થાપકોએ સુરક્ષા પ્રમાણપત્રો સેટ અપ કર્યા છે, જેના કારણે તેમને તમે મુલાકાત લો તે વેબસાઇટનું કન્ટેન્ટ જોવાની મંજૂરી મળી શકે છે.</translation>
 <translation id="2794233252405721443">સાઇટ અવરોધિત કરી</translation>
 <translation id="2799020568854403057">સાઇટ આગળ હાનિકારક ઍપ્લિકેશનો ધરાવે છે</translation>
 <translation id="2799223571221894425">ફરીથી લોંચ કરો</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">સરનામાંઓ</translation>
 <translation id="290376772003165898">પેજ <ph name="LANGUAGE" />માં નથી?</translation>
 <translation id="2909946352844186028">નેટવર્ક ફેરફાર મળ્યો હતો.</translation>
+<translation id="2910133103376701357">તમારું ડિવાઇસ અને એકાઉન્ટ <ph name="ENROLLMENT_DOMAIN" /> દ્વારા મેનેજ થાય છે.</translation>
 <translation id="2916038427272391327">અન્ય પ્રોગ્રામ બંધ કરો</translation>
 <translation id="2922350208395188000">સર્વરનું પ્રમાણપત્ર તપાસી શકાતું નથી.</translation>
 <translation id="2925673989565098301">વિતરણ પદ્ધતિ</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">તમે સેટિંગ પેજમાંથી કનેક્શન માટે ગોઠવવામાં આવેલ કોઈપણ પ્રોક્સીઓ બંધ કરી શકો છો.</translation>
 <translation id="2955913368246107853">શોધ બાર બંધ કરો</translation>
 <translation id="2969319727213777354">એક સુરક્ષિત કનેક્શન સ્થાપિત કરવા માટે, તમારી ઘડિયાળ યોગ્ય રીતે સેટ હોવી જરૂરી છે. આનું કારણ એ કે વેબસાઇટ્સ તેઓને ઓળખવા માટે જે પ્રમાણપત્રોનો ઉપયોગ કરે છે તે ચોક્કસ સમય અવધિ માટે જ માન્ય હોય છે. તમારા ઉપકરણની ઘડિયાળ ખોટી હોવાને લીધે, Google Chrome આ પ્રમાણપત્રોને ચકાસી શકતું નથી.</translation>
+<translation id="2970515157925768593">તમારા ડિવાઇસનું અને એકાઉન્ટનું સેટઅપ રિમોટલી બદલી શકે છે.</translation>
 <translation id="2972581237482394796">&amp;ફરી કરો</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" />, વર્તમાનમાં પસંદ કરેલ. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">ડેટા સાફ કરો</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">સાચવેલી કૉપિ બતાવો</translation>
 <translation id="3008447029300691911"><ph name="CREDIT_CARD" /> માટે CVC દાખલ કરો. એકવાર તમે ખાતરી કરી લો, તે પછી આ સાઇટ સાથે તમારા કાર્ડની વિગતો શેર કરવામાં આવશે.</translation>
 <translation id="3010559122411665027">"<ph name="ENTRY_INDEX" />" એન્ટ્રીને સૂચિબદ્ધ કરો: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">આ ડિવાઇસના મેનેજર તરીકે, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">આપમેળે અવરોધિત</translation>
 <translation id="3023071826883856138">You4 (એન્વલપ)</translation>
 <translation id="3024663005179499861">ખોટો નીતિ પ્રકાર</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">ઑનલાઇન હોય ત્યારે ડાઉનલોડ કરો</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> નીતિ વિશે વધુ જાણો</translation>
 <translation id="3303855915957856445">કોઈ શોધ પરિણામો મળ્યાં નથી</translation>
+<translation id="3311730110465560799">તમારા ડિવાઇસનું સેટઅપ રિમોટલી બદલી શકે છે.</translation>
 <translation id="3320021301628644560">બિલિંગ સરનામું ઉમેરો</translation>
 <translation id="3324983252691184275">કિરમજી</translation>
 <translation id="3338095232262050444">સુરક્ષિત</translation>
@@ -517,6 +524,7 @@
 <translation id="3761718714832595332">સ્ટેટસ છુપાવો</translation>
 <translation id="3765032636089507299">Safe Browsing પેજ રચના હેઠળ છે.</translation>
 <translation id="3778403066972421603">શું તમે આ કાર્ડને તમારા Google એકાઉન્ટ અને આ ડિવાઇસ પર સાચવવા માગો છો?</translation>
+<translation id="3779973883630527594">આ એકાઉન્ટને મેનેજ કરનાર કંપની, શાળા અથવા સંસ્થા:</translation>
 <translation id="3781428340399460090">ચળકતો ગુલાબી</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569"><ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /> માં સમાપ્ત થાય છે</translation>
@@ -557,6 +565,7 @@
 <translation id="4072486802667267160">તમારા ઑર્ડરની પ્રક્રિયા કરતી વખતે એક ભૂલ આવી હતી. કૃપા કરીને ફરીથી પ્રયાસ કરો.</translation>
 <translation id="4075732493274867456">ક્લાઇન્ટ અને સર્વર સામાન્ય SSL પ્રોટોકોલ વર્ઝન અથવા સાઇફર સ્યૂટની સહાય કરતા નથી.</translation>
 <translation id="4079302484614802869">પ્રૉક્સી ગોઠવણી .pac સ્ક્રિપ્ટ URLનો ઉપયોગ કરવા માટે સેટ છે, ફિક્સ્ડ પ્રૉક્સી સર્વર માટે નહીંં.</translation>
+<translation id="4082393374666368382">સેટિંગ - મેનેજમેન્ટ</translation>
 <translation id="4092411512356034591"><ph name="DOMAIN" /> પર ચાલુ રાખીએ?</translation>
 <translation id="4098354747657067197">આગળ છેતરામણી સાઇટ છે</translation>
 <translation id="4103249731201008433">ઉપકરણ અનુક્ર્માંક નંબર અમાન્ય છે</translation>
@@ -689,6 +698,7 @@
 <translation id="4759118997339041434">ચુકવણી સ્વતઃભરણ અક્ષમ કરેલ છે</translation>
 <translation id="4764776831041365478"><ph name="URL" /> પરનાં વેબપેજ અસ્થાયી ધોરણે બંધ હોઈ શકે છે અથવા તે કાયમ માટે નવા વેબ ઍડ્રેસ પર ખસેડવામાં આવ્યા હોઈ શકે છે.</translation>
 <translation id="4771973620359291008">કોઈ અજ્ઞાત ભૂલ આવી.</translation>
+<translation id="4780900888022378816">તમારું ડિવાઇસ <ph name="ENROLLMENT_DOMAIN" /> દ્વારા મેનેજ કરવામાં આવે છે અને તમારું એકાઉન્ટ <ph name="ACCOUNT_DOMAIN" /> દ્વારા મેનેજ કરવામાં આવે છે.</translation>
 <translation id="4785689107224900852">આ ટૅબ પર સ્વિચ કરો</translation>
 <translation id="4798078619018708837">તમારા કાર્ડની વિગતો અપડેટ કરવા <ph name="CREDIT_CARD" />ની સમાપ્તિ તારીખ અને CVC દાખલ કરો. તમે ખાતરી કરી લો, પછી આ સાઇટ સાથે તમારા Google એકાઉન્ટમાંથી કાર્ડની વિગતો શેર કરવામાં આવશે.</translation>
 <translation id="4800132727771399293">તમારી સમાપ્તિ તારીખ અને CVC તપાસો અને ફરીથી પ્રયાસ કરો</translation>
@@ -713,6 +723,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> કહે છે કે</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">પરિણામો નથી</translation>
+<translation id="4945672369594656571">તમારા ડિવાઇસના અને એકાઉન્ટના ડેટાના કારભારની રીતનું નિયંત્રણ કરે છે. Google તમારા ડિવાઇસના અને એકાઉન્ટના ડેટાની પ્રક્રિયા એકમાત્ર તમારા ડિવાઇસના અને એકાઉન્ટ મેનેજરના નિર્દેશ અનુસાર અને સંપૂર્ણપણે તમારા ડિવાઇસ અને એકાઉન્ટ મેનેજર દ્વારા ઉલ્લેખિત હેતુઓ માટે કરે છે.</translation>
 <translation id="4950898438188848926">ટૅબ, સ્વિચ બટન, ખુલ્લા ટૅબ, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /> પર સ્વિચ કરવા માટે Enter દબાવો</translation>
 <translation id="495170559598752135">ક્રિયાઓ</translation>
 <translation id="4955242332710481440">A5-અતિરિક્ત</translation>
@@ -726,6 +737,7 @@
 <translation id="5017554619425969104">તમે કૉપિ કરેલી ટેક્સ્ટ</translation>
 <translation id="5018422839182700155">આ પૃષ્ઠ ખોલી શકતાં નથી</translation>
 <translation id="5019198164206649151">બેકઅપ સ્ટોર કરવું ખરાબ સ્થિતિમાં છે</translation>
+<translation id="5020154601324912079">તમારા ડિવાઇસના ડેટાના કારભારની રીતનું નિયંત્રણ કરે છે. Google તમારા ડિવાઇસના ડેટાની પ્રક્રિયા એકમાત્ર તમારા ડિવાઇસ મેનેજરના નિર્દેશ અનુસાર અને સંપૂર્ણપણે તમારા ડિવાઇસ મેનેજર દ્વારા ઉલ્લેખિત હેતુઓ માટે કરે છે.</translation>
 <translation id="5023310440958281426">તમારા વ્યવસ્થાપકની નીતિઓ તપાસો</translation>
 <translation id="5029568752722684782">કૉપિ સાફ કરો</translation>
 <translation id="503069730517007720">"<ph name="SOFTWARE_NAME" />" માટેનું રૂટ પ્રમાણપત્ર આવશ્યક છે પરંતુ તે ઇન્સ્ટૉલ કરેલું નથી. આ સમસ્યાના નિવારણ માટે તમારા IT વ્યવસ્થાપકે "<ph name="SOFTWARE_NAME" />" ની ગોઠવણી માટેની સૂચના જોવી જરૂરી છે. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -883,6 +895,7 @@
 <translation id="5838278095973806738">તમારે આ સાઇટ પર કોઈપણ સંવેદનશીલ માહિતી (ઉદાહરણ તરીકે, પાસવર્ડ્સ અથવા ક્રેડિટ કાર્ડ્સ) દાખલ કરવી જોઈએ નહીં, કારણ કે તે હુમલાખોર દ્વારા ચોરવામાં આવી શકે છે.</translation>
 <translation id="5860033963881614850">બંધ</translation>
 <translation id="5863847714970149516">આગળનું પેજ તમને શુલ્ક લાગુ કરી શકે છે</translation>
+<translation id="5865951947699094510">તમારા એકાઉન્ટનું સેટઅપ રિમોટલી બદલી શકે છે.</translation>
 <translation id="5866257070973731571">ફોન નંબર ઉમેરો</translation>
 <translation id="5869405914158311789">આ સાઇટ પર પહોંચી શકાતું નથી</translation>
 <translation id="5869522115854928033">સાચવેલા પાસવર્ડ્સ</translation>
@@ -903,6 +916,7 @@
 <translation id="5977976211062815271">આ ડિવાઇસ પર</translation>
 <translation id="5980920751713728343">અનુક્રમણિકા-3x5</translation>
 <translation id="598637245381783098">ચુકવણી ઍપ્લિકેશન ખોલી શકાતી નથી</translation>
+<translation id="5988826871883769516">તમારું ઉપકરણ <ph name="ENROLLMENT_DOMAIN" /> દ્વારા મેનેજ થાય છે.</translation>
 <translation id="5989320800837274978">ફિક્સ્ડ પ્રૉક્સી સર્વર કે .pac સ્ક્રિપ્ટ URL, બેમાંથી કોઈનો પણ ઉલ્લેખ કરેલો નથી.</translation>
 <translation id="5990559369517809815">સર્વર પરની વિનંતિઓને એક્સ્ટેંશન દ્વારા અવરોધિત કરવામાં આવી છે.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -920,6 +934,7 @@
 <translation id="6047233362582046994">જો તમે તમારી સુરક્ષાના જોખમોને સમજો છો, તો તમે જોખમકારક ઍપ્લિકેશનો દૂર કરતા પહેલા <ph name="BEGIN_LINK" />આ સાઇટની મુલાકાત<ph name="END_LINK" /> લઈ શકો છો.</translation>
 <translation id="6047927260846328439">આ કન્ટેન્ટ કદાચ સૉફ્ટવેર ઇન્સ્ટૉલ કરવા માટે અથવા વ્યક્તિગત માહિતી કઢાવવા માટે તમારી સાથે કપટ કરવાનો પ્રયાસ કરી શકે છે. <ph name="BEGIN_LINK" />છતાં પણ બતાવો<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">તમે અત્યારે આ <ph name="SITE" />ની મુલાકાત લઈ શકતાં નથી કારણ કે આ વેબસાઇટ પ્રમાણપત્ર પિનિંગનો ઉપયોગ કરે છે. નેટવર્કમાં ભૂલ આવવી અને હુમલા થવા સામાન્ય રીતે અસ્થાયી હોય છે, તેથી આ પેજ સંભવિત રૂપે થોડા સમય પછી કાર્ય કરશે.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">તમારા બધાં ડિવાઇસ પર તમારાં કાર્ડનો ઉપયોગ કરીએ?</translation>
 <translation id="6059925163896151826">USB ઉપકરણો</translation>
 <translation id="6080696365213338172">તમે વ્યવસ્થાપક-પ્રદત્ત પ્રમાણપત્રનો ઉપયોગ કરીને કન્ટેન્ટ ઍક્સેસ કરી છે. તમે <ph name="DOMAIN" /> ને પ્રદાન કરેલ ડેટા તમારા વ્યવસ્થાપક દ્વારા ઇન્ટરસેપ્ટ થઈ શકે છે.</translation>
@@ -989,6 +1004,7 @@
 <translation id="6508722015517270189">Chrome ને પુનઃપ્રારંભ કરો</translation>
 <translation id="6529602333819889595">&amp;ફરી કરો ડિલીટ કરો</translation>
 <translation id="6534179046333460208">વાસ્તવિક વેબ સૂચનો</translation>
+<translation id="6554795675067793129"><ph name="ENROLLMENT_DOMAIN" /> દ્વારા તમારું એકાઉન્ટ મેનેજ કરવામાં આવે છે.</translation>
 <translation id="6556866813142980365">ફરી કરો</translation>
 <translation id="6563469144985748109">તમારા સંચાલકે હજી સુધી તેને મંજૂર કરેલ નથી</translation>
 <translation id="6569060085658103619">તમે એક્સ્ટેન્શન પૃષ્ઠ જોઈ રહ્યાં છો</translation>
@@ -1073,6 +1089,7 @@
 <translation id="7062635574500127092">મોરપીંછ</translation>
 <translation id="7064851114919012435">સંપર્ક માહિતી</translation>
 <translation id="7079718277001814089">આ સાઇટમાં માલવેર છે</translation>
+<translation id="7081564429925484109">ચેતવણી: આ નીતિને ઉલ્લેખ કર્યા મુજબ PolicyListMultipleSourceMergeList નીતિમાં મર્જ કરવામાં આવી ન હતી, કારણ કે તે સૂચિ નથી.</translation>
 <translation id="7087282848513945231">કાઉન્ટિ</translation>
 <translation id="7090678807593890770"><ph name="LINK" /> માટે Google પર શોધો</translation>
 <translation id="7108338896283013870">છુપાવો</translation>
@@ -1149,6 +1166,7 @@
 <translation id="741007362987735528">પહોળાઈ-ફૉર્મેટ</translation>
 <translation id="7416351320495623771">પાસવર્ડ મેનેજ કરો…</translation>
 <translation id="7419106976560586862">પ્રોફાઇલ પાથ</translation>
+<translation id="7424427397225027541">તમારા એકાઉન્ટના ડેટાના કારભારની રીતનું નિયંત્રણ કરે છે. Google તમારા એકાઉન્ટના ડેટાની પ્રક્રિયા એકમાત્ર તમારા એકાઉન્ટ મેનેજરના નિર્દેશ અનુસાર અને સંપૂર્ણપણે તમારા એકાઉન્ટ મેનેજર દ્વારા ઉલ્લેખિત હેતુઓ માટે કરે છે.</translation>
 <translation id="7437289804838430631">સંપર્ક માહિતી ઉમેરો</translation>
 <translation id="7440140511386898319">ઑફલાઇન હો તે સમયે જાણકારી મેળવો</translation>
 <translation id="7441627299479586546">ખોટો નીતિ વિષય</translation>
@@ -1235,6 +1253,7 @@
 <translation id="780301667611848630">નહીં, આભાર</translation>
 <translation id="7805768142964895445">સ્થિતિ</translation>
 <translation id="7806344367022510803">Chromeમાં સર્ચ એંજિનની સેટિંગ બદલો</translation>
+<translation id="7810209002420871817">તમારા <ph name="ACCOUNT_DOMAIN" /> એકાઉન્ટના મેનેજર તરીકે:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Chrome માંથી ફોર્મ સૂચનો દૂર કરીએ?</translation>
 <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' માટે <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> મળ્યાં</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb
index bfe7f15..9ed1a59 100644
--- a/components/strings/components_strings_hi.xtb
+++ b/components/strings/components_strings_hi.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="hi">
+<translation id="1001338328714563407">आपके डिवाइस और खाते का प्रबंधक होने के नाते, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">अभी नहीं</translation>
 <translation id="1010200102790553230">पेज को बाद में लोड करें</translation>
 <translation id="1015730422737071372">अतिरिक्त विवरण प्रदान करें</translation>
@@ -307,6 +308,7 @@
 <translation id="2586657967955657006">क्लिपबोर्ड</translation>
 <translation id="2587730715158995865"><ph name="ARTICLE_PUBLISHER" /> की ओर से. यह और <ph name="OTHER_ARTICLE_COUNT" /> दूसरे समाचार पढ़ें.</translation>
 <translation id="2587841377698384444">निर्देशिका API (एपीआई) आईडी:</translation>
+<translation id="2595719060046994702">इस डिवाइस और खाते का प्रबंधन कोई कंपनी या दूसरा संगठन नहीं करता है.</translation>
 <translation id="2597378329261239068">यह दस्तावेज़ पासवर्ड सुरक्षित है.  कृपया पासवर्ड डालें.</translation>
 <translation id="2609632851001447353">विविधताएं</translation>
 <translation id="2618023639789766142">सी10 (एन्वेलप)</translation>
@@ -341,6 +343,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">कनेक्‍शन रीसेट किया गया था.</translation>
 <translation id="2788784517760473862">स्वीकृत क्रेडिट कार्ड</translation>
+<translation id="2792012897584536778">इस डिवाइस के एडमिन ने ऐसे सुरक्षा प्रमाणपत्र सेट अप किए हैं जिनसे उन्हें उन वेबसाइट की सामग्री दिख सकती है जिन पर आप जाते हैं.</translation>
 <translation id="2794233252405721443">साइट अवरोधित है</translation>
 <translation id="2799020568854403057">आगे आने वाली साइट में नुकसान पहुंचाने वाले ऐप्लिकेशन हैं</translation>
 <translation id="2799223571221894425">फिर से लॉन्‍च करें</translation>
@@ -357,6 +360,7 @@
 <translation id="2903493209154104877">पते</translation>
 <translation id="290376772003165898">क्या पेज <ph name="LANGUAGE" /> भाषा में नहीं है?</translation>
 <translation id="2909946352844186028">नेटवर्क में बदलाव का पता चला.</translation>
+<translation id="2910133103376701357">आपके डिवाइस और खाते का प्रबंधन <ph name="ENROLLMENT_DOMAIN" /> करता है.</translation>
 <translation id="2916038427272391327">दूसरे प्रोग्राम बंद करें</translation>
 <translation id="2922350208395188000">सर्वर प्रमाणपत्र की जाँच नहीं की जा सकती.</translation>
 <translation id="2925673989565098301">डिलीवरी का तरीका</translation>
@@ -367,6 +371,7 @@
 <translation id="2948083400971632585">आप किसी कनेक्शन के लिए कॉन्फ़िगर की गई किसी भी प्रॉक्सी को सेटिंग पेज से बंद कर सकते हैं.</translation>
 <translation id="2955913368246107853">खोज बार बंद करें</translation>
 <translation id="2969319727213777354">सुरक्षित कनेक्‍शन स्‍थापित करने के लिए, आपकी घड़ी को सही तरीके से सेट किए जाने की आवश्‍यकता है. ऐसा इसलिए क्‍योंकि वेबसाइटों द्वारा स्‍वयं की पहचान करने के लिए उपयोग किए जाने वाले प्रमाणपत्र केवल विशिष्‍ट समयावधियों के लिए ही मान्‍य होते हैं. चूंकि आपके डिवाइस की घड़ी गलत है, इसलिए Google Chrome इन प्रमाणपत्रों का सत्‍यापन नहीं कर सकता.</translation>
+<translation id="2970515157925768593">आपके डिवाइस और खाता सेटअप में बदला कर सकती है.</translation>
 <translation id="2972581237482394796">&amp;फिर से करें</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" />, इस समय चुना गया है. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">डेटा हटाएं</translation>
@@ -378,6 +383,7 @@
 <translation id="3005723025932146533">सहेजी गई कॉपी दिखाएं</translation>
 <translation id="3008447029300691911"><ph name="CREDIT_CARD" /> का CVC डालें. आपकी तरफ से पुष्टि हो जाने पर, आपके कार्ड के विवरण इस साइट के साथ शेयर किए जाएंगे.</translation>
 <translation id="3010559122411665027">सूची प्रविष्ट‍ि "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">इस डिवाइस का प्रबंधक होने के नाते, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">ऑटोमैटिक रूप से ब्लॉक है</translation>
 <translation id="3023071826883856138">यू4 (एन्वेलप)</translation>
 <translation id="3024663005179499861">गलत नीति प्रकार</translation>
@@ -422,6 +428,7 @@
 <translation id="3287510313208355388">ऑनलाइन होने पर डाउनलोड करें</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> नीति के बारे में ज़्यादा जानें</translation>
 <translation id="3303855915957856445">कोई खोज नतीजे नहीं मिले</translation>
+<translation id="3311730110465560799">आपके डिवाइस का सेटअप दूर से बदल सकती है.</translation>
 <translation id="3320021301628644560">बिलिंग पता जोड़ें</translation>
 <translation id="3324983252691184275">गहरा लाल</translation>
 <translation id="3338095232262050444">सुरक्षित</translation>
@@ -516,6 +523,7 @@
 <translation id="3761718714832595332">स्थिति छिपाएं</translation>
 <translation id="3765032636089507299">सुरक्षित ब्राउज़िंग पेज अभी बन रहा है.</translation>
 <translation id="3778403066972421603">क्या आप इस कार्ड को अपने Google खाते में और इस डिवाइस में सेव करना चाहते हैं?</translation>
+<translation id="3779973883630527594">वह कंपनी, स्कूल या संगठन जो इस खाते का प्रबंधन करता है:</translation>
 <translation id="3781428340399460090">चमकीला गुलाबी</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569"><ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /> में खत्म होगा</translation>
@@ -556,6 +564,7 @@
 <translation id="4072486802667267160">आपका आदेश संसाधित करते समय गड़बड़ी हुई. कृपया फिर से कोशिश करें.</translation>
 <translation id="4075732493274867456">क्लाइंट और सर्वर, सामान्य SSL प्रोटोकॉल वर्शन या सिफ़र सुइट का समर्थन नहीं करते हैं.</translation>
 <translation id="4079302484614802869">प्रॉक्‍सी कॉन्‍फ़िगरेशन को .pac स्‍क्रिप्‍ट यूआरएल का उपयोग करने के लिए सेट किया जाता है, फ़िक्‍स्‍ड प्रॉक्‍सी सर्वर के लिए नहीं.</translation>
+<translation id="4082393374666368382">सेटिंग - प्रबंधन</translation>
 <translation id="4092411512356034591"><ph name="DOMAIN" /> पर जारी रखना चाहते हैं?</translation>
 <translation id="4098354747657067197">आगे भ्रामक साइट है</translation>
 <translation id="4103249731201008433">डिवाइस की क्रम संख्या गलत है</translation>
@@ -688,6 +697,7 @@
 <translation id="4759118997339041434">भुगतान का ऑटोमैटिक भरना अक्षम</translation>
 <translation id="4764776831041365478"><ph name="URL" /> पर मौजूद वेबपेज संभवतः अस्थायी रूप से बंद है या उसे स्थायी रूप से किसी नए वेब पते पर ले जाया गया है.</translation>
 <translation id="4771973620359291008">अज्ञात गड़बड़ी आई.</translation>
+<translation id="4780900888022378816">आपके डिवाइस का प्रबंधन <ph name="ENROLLMENT_DOMAIN" /> करता है और आपके खाते का प्रबंधन <ph name="ACCOUNT_DOMAIN" /> करता हैै.</translation>
 <translation id="4785689107224900852">इस टैब पर जाएं</translation>
 <translation id="4798078619018708837">अपने कार्ड का ब्यौरा अपडेट करने के लिए <ph name="CREDIT_CARD" /> की खत्म होने की तारीख और कार्ड वेरीफ़िकेशन कोड (सीवीसी) डालें. आपके पुष्टि करने के बाद, आपके Google खाते के कार्ड का ब्यौरा इस साइट के साथ शेयर किया जाएगा.</translation>
 <translation id="4800132727771399293">अपने क्रेडिट कार्ड की समय सीमा खत्म होने की तारीख और कार्ड वेरीफ़िकेशन कोड (सीवीसी) जांचें और फिर से कोशिश करें</translation>
@@ -712,6 +722,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> का कहना है कि</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">कोई परिणाम नहीं</translation>
+<translation id="4945672369594656571">यह नीति नियंत्रित करती है कि आपके डिवाइस और खाते का डेटा किस तरह प्रबंधित किया जाता है. Google खास तौर आपके डिवाइस और खाता प्रबंधक के निर्देश के मुताबिक और सिर्फ़ आपके डिवाइस और खाता प्रबंधक के बताए हुए मकसदों के लिए, आपके डिवाइस और खाते का डेटा प्रोसेस करता है.</translation>
 <translation id="4950898438188848926">'टैब' बदलने का बटन, नए टैब पर जाने के लिए Enter दबाएं, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">क्रियाएं</translation>
 <translation id="4955242332710481440">ए5-एक्स्ट्रा</translation>
@@ -725,6 +736,7 @@
 <translation id="5017554619425969104">आपका कॉपी किया हुआ टेक्स्ट</translation>
 <translation id="5018422839182700155">यह पेज खुल नहीं पा रहा है</translation>
 <translation id="5019198164206649151">बैकिंग संग्रह खराब स्थिति में है</translation>
+<translation id="5020154601324912079">यह नीति नियंत्रित करती है कि आपका डिवाइस डेटा किस तरह प्रबंधित किया जाता है. Google खास तौर पर आपके डिवाइस प्रबंधक के निर्देश के मुताबिक और सिर्फ़ उनके बताए हुए मकसदों के लिए, आपका डिवाइस डेटा प्रोसेस करता है.</translation>
 <translation id="5023310440958281426">अपने एडमिन की नीतियां देखें</translation>
 <translation id="5029568752722684782">स्‍पष्‍ट कॉपी</translation>
 <translation id="503069730517007720">"<ph name="SOFTWARE_NAME" />" के रूट प्रमाणपत्र की ज़रूरत है लेकिन वह इंस्टॉल नहीं है. यह समस्या ठीक करने के लिए आपके आईटी व्यवस्थापक को "<ph name="SOFTWARE_NAME" />" के कॉन्फ़िगरेशन से जुड़े निर्देशों पर नज़र डालनी चाहिए. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -882,6 +894,7 @@
 <translation id="5838278095973806738">आपको इस साइट पर कोई भी संवेदनशील जानकारी (उदाहरण के लिए, पासवर्ड या क्रेडिट कार्ड) नहीं डालनी चाहिए, क्योंकि उसे हमलावर चुरा सकते हैं.</translation>
 <translation id="5860033963881614850">बंद</translation>
 <translation id="5863847714970149516">आगे आने वाला पेज आपसे शुल्क लेने की कोशिश कर सकता है</translation>
+<translation id="5865951947699094510">आपके खाता सेटअप में दूर से बदलाव कर सकती है.</translation>
 <translation id="5866257070973731571">फ़ोन नंबर जोड़ें</translation>
 <translation id="5869405914158311789">इस साइट तक नहीं पहुंचा जा सकता</translation>
 <translation id="5869522115854928033">सेव किए गए पासवर्ड</translation>
@@ -902,6 +915,7 @@
 <translation id="5977976211062815271">इस डिवाइस पर</translation>
 <translation id="5980920751713728343">इंडेक्स-3x5</translation>
 <translation id="598637245381783098">भुगतान ऐप्लिकेशन नहीं खोला जा सकता</translation>
+<translation id="5988826871883769516">आपके डिवाइस का प्रबंधन <ph name="ENROLLMENT_DOMAIN" /> करता है.</translation>
 <translation id="5989320800837274978">न तो कोई फ़िक्‍स्‍ड प्रॉक्‍सी सर्वर और न ही कोई .pac स्क्रिप्ट URL साफ़ तौर पर बताया गया है.</translation>
 <translation id="5990559369517809815">सर्वर से किए गए अनुरोधों को एक्‍सटेंशन द्वारा अवरुद्ध कर दिया गया है.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -919,6 +933,7 @@
 <translation id="6047233362582046994">अगर आप अपनी सुरक्षा को होने वाले खतरों के बारे में जानते हैं तो, खतरनाक ऐप्लिकेशन हटाए जाने से पहले आप <ph name="BEGIN_LINK" />इस साइट पर जा<ph name="END_LINK" /> सकते हैं.</translation>
 <translation id="6047927260846328439">यह सामग्री आपसे धोखे से सॉफ़्टवेयर इंस्‍टॉल करवाने या व्यक्तिगत जानकारी का खुलासा करवाने की कोशिश कर सकती है. <ph name="BEGIN_LINK" />फिर भी दिखाएं<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">आप इस समय <ph name="SITE" /> पर नहीं जा सकते क्योंकि वेबसाइट, प्रमाणपत्र पिनिंग का उपयोग करती है. नेटवर्क की गड़बड़ियां और हमले आमतौर पर कुछ समय के लिए होते हैं इसलिए यह पेज शायद बाद में ठीक से काम करेगा.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">क्या आप अपने कार्ड का इस्तेमाल सभी डिवाइस पर करना चाहते हैं?</translation>
 <translation id="6059925163896151826">USB डिवाइस</translation>
 <translation id="6080696365213338172">आपने व्यवस्थापक द्वारा प्रदत्त प्रमाणपत्र के उपयोग से सामग्री एक्सेस की है. आपके द्वारा <ph name="DOMAIN" /> को प्रदान किया गया डेटा आपके व्यवस्थापक द्वारा बीच में रोका जा सकता है.</translation>
@@ -988,6 +1003,7 @@
 <translation id="6508722015517270189">Chrome को फिर से शुरू करें</translation>
 <translation id="6529602333819889595">मिटाना &amp;फिर से करें</translation>
 <translation id="6534179046333460208">जीता-जागता वेब के सुझाव</translation>
+<translation id="6554795675067793129">आपके खाते का प्रबंधन <ph name="ENROLLMENT_DOMAIN" /> करता हैै.</translation>
 <translation id="6556866813142980365">फिर से करें</translation>
 <translation id="6563469144985748109">आपके प्रबंधक ने अभी तक इसकी स्वीकृति नहीं दी है</translation>
 <translation id="6569060085658103619">आप एक एक्सटेंशन पेज देख रहे हैं</translation>
@@ -1072,6 +1088,7 @@
 <translation id="7062635574500127092">हरा-नीला</translation>
 <translation id="7064851114919012435">संपर्क जानकारी</translation>
 <translation id="7079718277001814089">इस साइट में मैलवेयर है</translation>
+<translation id="7081564429925484109">चेतावनीः इस नीति को PolicyListMultipleSourceMergeList नीति में बताए अनुसार मर्ज नहीं किया गया था क्योंकि यह किसी सूची में नहीं है.</translation>
 <translation id="7087282848513945231">काउंटी</translation>
 <translation id="7090678807593890770"><ph name="LINK" /> के लिए Google में खोज करें</translation>
 <translation id="7108338896283013870">छुपाएं</translation>
@@ -1148,6 +1165,7 @@
 <translation id="741007362987735528">चौड़े पेज वाला फ़ॉर्मैट</translation>
 <translation id="7416351320495623771">पासवर्ड प्रबंधित करें…</translation>
 <translation id="7419106976560586862">प्रोफ़ाइल पाथ</translation>
+<translation id="7424427397225027541">यह नीति नियंत्रित करती है कि आपके खाते का डेटा किस तरह प्रबंधित किया जाता है. Google खास तौर आपके खाता प्रबंधक के निर्देश के मुताबिक और सिर्फ़ आपके खाता प्रबंधक के बताए हुए मकसदों के लिए, आपके खाते का डेटा प्रोसेस करता है.</translation>
 <translation id="7437289804838430631">संपर्क जानकारी जोड़ें</translation>
 <translation id="7440140511386898319">ऑफ़लाइन होने पर खोजें</translation>
 <translation id="7441627299479586546">गलत नीति विषय</translation>
@@ -1234,6 +1252,7 @@
 <translation id="780301667611848630">नहीं, रहने दें</translation>
 <translation id="7805768142964895445">स्थिति</translation>
 <translation id="7806344367022510803">Chrome में जाकर 'सर्च इंजन' सेटिंग बदलें</translation>
+<translation id="7810209002420871817">अपने खाते <ph name="ACCOUNT_DOMAIN" /> का प्रबंधक होने के नाते:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Chrome से फ़ॉर्म सुझाव को निकालें?</translation>
 <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' के लिए <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> मिले</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb
index a908029..bb787303 100644
--- a/components/strings/components_strings_hr.xtb
+++ b/components/strings/components_strings_hr.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="hr">
+<translation id="1001338328714563407">Kao upravitelj vašeg uređaja i računa <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Ne sada</translation>
 <translation id="1010200102790553230">Učitaj stranicu kasnije</translation>
 <translation id="1015730422737071372">Navedite dodatne pojedinosti</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Međuspremnik</translation>
 <translation id="2587730715158995865">Izdavač: <ph name="ARTICLE_PUBLISHER" />. Pročitajte ovaj članak i još <ph name="OTHER_ARTICLE_COUNT" />.</translation>
 <translation id="2587841377698384444">ID API-ja direktorija:</translation>
+<translation id="2595719060046994702">Uređajem i računom ne upravlja nijedna tvrtka ili organizacija.</translation>
 <translation id="2597378329261239068">Ovaj je dokument zaštićen zaporkom. Unesite zaporku.</translation>
 <translation id="2609632851001447353">Varijacije</translation>
 <translation id="2618023639789766142">C10 (omotnica)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Veza je ponovo uspostavljena.</translation>
 <translation id="2788784517760473862">Prihvaćene kreditne kartice</translation>
+<translation id="2792012897584536778">Administratori uređaja postavili su sigurnosne certifikate koji im mogu omogućiti prikaz sadržaja web-lokacija koje posjetite.</translation>
 <translation id="2794233252405721443">Web-lokacija blokirana</translation>
 <translation id="2799020568854403057">Sljedeća web-lokacija sadrži štetne aplikacije</translation>
 <translation id="2799223571221894425">Pokreni ponovo</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Adrese</translation>
 <translation id="290376772003165898">Ovo nije <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">Otkrivena je promjena mreže.</translation>
+<translation id="2910133103376701357">Vašim uređajem i računom upravlja <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Zatvorite ostale programe</translation>
 <translation id="2922350208395188000">Certifikat poslužitelja nije moguće provjeriti.</translation>
 <translation id="2925673989565098301">Način dostave</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Možete onemogućiti sve proxyje konfigurirane za vezu sa stranice postavki.</translation>
 <translation id="2955913368246107853">Zatvori traku za traženje</translation>
 <translation id="2969319727213777354">Za uspostavu sigurne veze sat mora biti točno postavljen jer certifikati pomoću kojih se web-lokacije međusobno identificiraju vrijede samo određeno vrijeme. Budući da vaš sat nije točan, Chrome ne može potvrditi te certifikate.</translation>
+<translation id="2970515157925768593">može daljinski promijeniti postavke uređaja i računa.</translation>
 <translation id="2972581237482394796">&amp;Vrati poništeno</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" />, trenutačno odabrano. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Izbriši podatke</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Prikaži spremljenu kopiju</translation>
 <translation id="3008447029300691911">Unesite CVC za karticu <ph name="CREDIT_CARD" />. Nakon što ih potvrdite, podaci o kartici dijelit će se s ovom web-lokacijom.</translation>
 <translation id="3010559122411665027">Unos popisa "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Kao upravitelj ovog uređaja <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Automatski blokirano</translation>
 <translation id="3023071826883856138">You4 (omotnica)</translation>
 <translation id="3024663005179499861">Pogrešna vrsta pravila</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Preuzmi online</translation>
 <translation id="3293642807462928945">Saznajte više o pravilu <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Nisu pronađeni rezultati pretraživanja</translation>
+<translation id="3311730110465560799">može daljinski promijeniti postavke uređaja.</translation>
 <translation id="3320021301628644560">Dodajte adresu za naplatu</translation>
 <translation id="3324983252691184275">Grimizna</translation>
 <translation id="3338095232262050444">Sigurno</translation>
@@ -517,6 +524,7 @@
 <translation id="3761718714832595332">Sakrij status</translation>
 <translation id="3765032636089507299">Stranica Sigurno pregledavanje trenutačno je u izradi.</translation>
 <translation id="3778403066972421603">Želite li spremiti ovu karticu na svoj Google račun i na ovaj uređaj?</translation>
+<translation id="3779973883630527594">Tvrtka, škola ili organizacija koja upravlja tim računom:</translation>
 <translation id="3781428340399460090">Jarko ružičasta</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Istječe <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -557,6 +565,7 @@
 <translation id="4072486802667267160">Došlo je do pogreške pri obradi narudžbe. Pokušajte ponovo.</translation>
 <translation id="4075732493274867456">Klijent i poslužitelj ne podržavaju uobičajenu verziju SSL protokola ili paket šifri.</translation>
 <translation id="4079302484614802869">Konfiguracija proxy poslužitelja postavljena je za upotrebu URL-a .pac skripte, a ne fiksnih proxy poslužitelja.</translation>
+<translation id="4082393374666368382">Postavke – upravljanje</translation>
 <translation id="4092411512356034591">Želite li nastaviti do domene <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Pred vama je obmanjujuća web-lokacija</translation>
 <translation id="4103249731201008433">Serijski broj uređaja nije važeći</translation>
@@ -689,6 +698,7 @@
 <translation id="4759118997339041434">Automatsko popunjavanje podataka o plaćanju onemogućeno je</translation>
 <translation id="4764776831041365478">Web-stranica na adresi <ph name="URL" /> možda privremeno nije dostupna ili je trajno preseljena na novu web-adresu.</translation>
 <translation id="4771973620359291008">Došlo je do nepoznate pogreške.</translation>
+<translation id="4780900888022378816">Vašim uređajem upravlja <ph name="ENROLLMENT_DOMAIN" />, a vašim računom upravlja <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Prijeđite na ovu karticu</translation>
 <translation id="4798078619018708837">Unesite datum isteka i CVC za karticu <ph name="CREDIT_CARD" /> da biste ažurirali podatke o kartici. Nakon što ih potvrdite, podaci o kartici s vašeg Google računa podijelit će se s ovom web-lokacijom.</translation>
 <translation id="4800132727771399293">Provjerite datum isteka i CVC pa pokušajte ponovo</translation>
@@ -713,6 +723,7 @@
 <translation id="4926159001844873046">Na web-lokaciji <ph name="SITE" /> navodi se sljedeće</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Nema rezultata</translation>
+<translation id="4945672369594656571">određuje način rukovanja podacima uređaja i računa. Google obrađuje podatke uređaja i računa isključivo prema uputama upravitelja uređaja i računa te jedino u svrhe koje odredi upravitelj uređaja i računa.</translation>
 <translation id="4950898438188848926">Gumb za promjenu kartice, pritisnite Enter za prebacivanje na otvorenu karticu, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Radnje</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -726,6 +737,7 @@
 <translation id="5017554619425969104">Tekst koji ste kopirali</translation>
 <translation id="5018422839182700155">Stranica se ne može otvoriti</translation>
 <translation id="5019198164206649151">Sigurnosno pohranjivanje u neispravnom je stanju</translation>
+<translation id="5020154601324912079">određuje način rukovanja podacima uređaja. Google obrađuje podatke uređaja isključivo prema uputama upravitelja uređaja i jedino u svrhe koje odredi upravitelj uređaja.</translation>
 <translation id="5023310440958281426">Provjerite pravila svojeg administratora</translation>
 <translation id="5029568752722684782">Izbriši kopiju</translation>
 <translation id="503069730517007720">Potreban je korijenski certifikat za "<ph name="SOFTWARE_NAME" />", ali nije instaliran. Vaš IT administrator trebao bi pogledati upute za konfiguraciju softvera "<ph name="SOFTWARE_NAME" />" kako bi riješio taj problem. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -883,6 +895,7 @@
 <translation id="5838278095973806738">Na ovu web-lokaciju nemojte unositi osjetljive podatke (na primjer, zaporke ili kreditne kartice) jer su je možda ukrali napadači.</translation>
 <translation id="5860033963881614850">Isključeno</translation>
 <translation id="5863847714970149516">Stranica koja će se otvoriti može vam pokušati nešto naplatiti</translation>
+<translation id="5865951947699094510">može daljinski promijeniti postavke računa.</translation>
 <translation id="5866257070973731571">Dodajte telefonski broj</translation>
 <translation id="5869405914158311789">Web-lokacija ne može se dohvatiti</translation>
 <translation id="5869522115854928033">Spremljene zaporke</translation>
@@ -903,6 +916,7 @@
 <translation id="5977976211062815271">Na ovom uređaju</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Aplikacija za plaćanje ne može se otvoriti</translation>
+<translation id="5988826871883769516">Vašim uređajem upravlja <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Nisu određeni fiksni proxy poslužitelji ni URL .pac skripte.</translation>
 <translation id="5990559369517809815">Zahtjevi poslužitelju blokirani su proširenjem.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -920,6 +934,7 @@
 <translation id="6047233362582046994">Ako ste svjesni sigurnosnih rizika, možete <ph name="BEGIN_LINK" />posjetiti ovu web-lokaciju<ph name="END_LINK" /> prije uklanjanja štetnih aplikacija.</translation>
 <translation id="6047927260846328439">Ovaj vas sadržaj može na prijevaru pokušati navesti da instalirate softver ili odate svoje osobne podatke. <ph name="BEGIN_LINK" />Ipak prikaži<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Trenutačno ne možete otvoriti <ph name="SITE" /> jer web-lokacija upotrebljava prikvačivanje certifikata. Mrežne pogreške i napadi obično su privremeni, tako da će stranica kasnije vjerojatno funkcionirati.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Želite li plaćati svojim karticama na svim svojim uređajima?</translation>
 <translation id="6059925163896151826">USB uređaji</translation>
 <translation id="6080696365213338172">Pristupili ste sadržaju pomoću certifikata koji je izdao administrator. Administrator može presresti podatke koje dostavljate domeni <ph name="DOMAIN" />.</translation>
@@ -989,6 +1004,7 @@
 <translation id="6508722015517270189">Ponovo pokrenite Chrome</translation>
 <translation id="6529602333819889595">&amp;Ponovi brisanje</translation>
 <translation id="6534179046333460208">Prijedlozi Fizičkog weba</translation>
+<translation id="6554795675067793129">Vašim računom upravlja <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Ponovi</translation>
 <translation id="6563469144985748109">Voditelj je još nije odobrio</translation>
 <translation id="6569060085658103619">Gledate stranicu proširenja</translation>
@@ -1073,6 +1089,7 @@
 <translation id="7062635574500127092">Tirkiznoplava</translation>
 <translation id="7064851114919012435">Podaci za kontakt</translation>
 <translation id="7079718277001814089">Ova web-lokacija sadrži zlonamjerni softver</translation>
+<translation id="7081564429925484109">Upozorenje: pravilo nije spojeno prema uputama u pravilu PolicyListMultipleSourceMergeList jer se ne radi o popisu.</translation>
 <translation id="7087282848513945231">Država</translation>
 <translation id="7090678807593890770">Potražite upit <ph name="LINK" /> na Googleu</translation>
 <translation id="7108338896283013870">Sakrij preglednik</translation>
@@ -1149,6 +1166,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Upravljaj zaporkama…</translation>
 <translation id="7419106976560586862">Putanja profila</translation>
+<translation id="7424427397225027541">određuje način rukovanja podacima računa. Google obrađuje podatke računa isključivo prema uputama upravitelja računa i jedino u svrhe koje odredi upravitelj računa.</translation>
 <translation id="7437289804838430631">Dodajte podatke za kontakt</translation>
 <translation id="7440140511386898319">Istraživanje dok ste offline</translation>
 <translation id="7441627299479586546">Pogrešan predmet pravila</translation>
@@ -1235,6 +1253,7 @@
 <translation id="780301667611848630">Ne, hvala</translation>
 <translation id="7805768142964895445">Status</translation>
 <translation id="7806344367022510803">Promijenite postavke tražilice u Chromeu</translation>
+<translation id="7810209002420871817">Budući da je upravitelj vašeg računa, <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Želite li s Chromea ukloniti prijedlog za obrasce?</translation>
 <translation id="7815407501681723534">Pronađeno <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> za "<ph name="SEARCH_STRING" />"</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb
index f8268a7..c694127e0 100644
--- a/components/strings/components_strings_hu.xtb
+++ b/components/strings/components_strings_hu.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="hu">
+<translation id="1001338328714563407">Eszköze és fiókja kezelőjeként a(z) <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Ne most</translation>
 <translation id="1010200102790553230">Oldal betöltése később</translation>
 <translation id="1015730422737071372">További részletek megadása</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Vágólap</translation>
 <translation id="2587730715158995865">Forrás: <ph name="ARTICLE_PUBLISHER" />. Olvassa el ezt és további <ph name="OTHER_ARTICLE_COUNT" /> hírt.</translation>
 <translation id="2587841377698384444">Könyvtár API-azonosítója:</translation>
+<translation id="2595719060046994702">Ezt az eszközt és fiókot nem kezeli cég vagy más szervezet.</translation>
 <translation id="2597378329261239068">Ez a dokumentum jelszóval védett. Kérjük, adja meg a jelszót.</translation>
 <translation id="2609632851001447353">Változatok</translation>
 <translation id="2618023639789766142">C10 (boríték)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">A kapcsolat alaphelyzetbe állt.</translation>
 <translation id="2788784517760473862">Elfogadott hitelkártyák</translation>
+<translation id="2792012897584536778">Az eszköz rendszergazdái olyan biztonsági tanúsítványokat állítottak be, amelyek lehetővé tehetik számukra az Ön által felkeresett webhelyek tartalmának megtekintését.</translation>
 <translation id="2794233252405721443">A webhely le van tiltva</translation>
 <translation id="2799020568854403057">A felkeresni kívánt webhely káros alkalmazásokat tartalmaz</translation>
 <translation id="2799223571221894425">Újraindítás</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Címek</translation>
 <translation id="290376772003165898">Az oldal nem <ph name="LANGUAGE" /> nyelvű?</translation>
 <translation id="2909946352844186028">Változást érzékeltünk a hálózatban.</translation>
+<translation id="2910133103376701357">Eszközét és fiókját a következő kezeli: <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Zárja be a többi programot</translation>
 <translation id="2922350208395188000">A szerver tanúsítványát nem sikerült leellenőrizni.</translation>
 <translation id="2925673989565098301">Kézbesítési mód</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Bármelyik kapcsolatlétesítésre használt proxyt letilthatja a beállítások oldalon.</translation>
 <translation id="2955913368246107853">Keresősáv bezárása</translation>
 <translation id="2969319727213777354">Biztonságos kapcsolat létrehozásához az órát pontosan be kell állítani. Ez azért szükséges, mert a webhelyek által az azonosításukra használt tanúsítványok csak adott ideig érvényesek. Mivel az eszköz órája nem pontos, a Google Chrome nem tudja ellenőrizni ezeket a tanúsítványokat.</translation>
+<translation id="2970515157925768593">Módosíthatja távolról az eszköz és a fiók beállítását.</translation>
 <translation id="2972581237482394796">&amp;Újra</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" /> van jelenleg kiválasztva. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Adatok törlése</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Mentett másolat megjelenítése</translation>
 <translation id="3008447029300691911">Adja meg a(z) <ph name="CREDIT_CARD" /> kártya CVC-kódját. Az ellenőrzést követően a böngésző megosztja kártyaadatait ezzel a webhellyel.</translation>
 <translation id="3010559122411665027">"<ph name="ENTRY_INDEX" />." listabejegyzés: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Eszköze kezelőjeként a(z) <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Automatikusan letiltva</translation>
 <translation id="3023071826883856138">You4 (boríték)</translation>
 <translation id="3024663005179499861">Nem megfelelő irányelvtípus</translation>
@@ -422,6 +428,7 @@
 <translation id="3287510313208355388">Letöltés online állapotban</translation>
 <translation id="3293642807462928945">További információ a(z) <ph name="POLICY_NAME" /> házirendről</translation>
 <translation id="3303855915957856445">Nincs találat</translation>
+<translation id="3311730110465560799">Módosíthatja távolról az eszköz beállítását.</translation>
 <translation id="3320021301628644560">Számlázási cím hozzáadása</translation>
 <translation id="3324983252691184275">Karmazsinvörös</translation>
 <translation id="3338095232262050444">Biztonságos</translation>
@@ -516,6 +523,7 @@
 <translation id="3761718714832595332">Állapot elrejtése</translation>
 <translation id="3765032636089507299">A Biztonságos Böngészés oldal fejlesztés alatt áll</translation>
 <translation id="3778403066972421603">Szeretné menteni a kártyát Google-fiókjába és az eszközre?</translation>
+<translation id="3779973883630527594">Az ezt a fiókot kezelő cég, iskola vagy szervezet:</translation>
 <translation id="3781428340399460090">Élénk rózsaszín</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Lejárat dátuma: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -556,6 +564,7 @@
 <translation id="4072486802667267160">Hiba történt a rendelés feldolgozása közben. Kérjük, próbálja újra.</translation>
 <translation id="4075732493274867456">Az ügyfél és a szerver nem támogat ugyanolyan SSL-protokollverziót vagy rejtjelezési csomagot.</translation>
 <translation id="4079302484614802869">A proxykonfiguráció a .pac típusú szkript URL-cím, nem pedig a fix proxyszerverek használatára van beállítva.</translation>
+<translation id="4082393374666368382">Beállítások – kezelés</translation>
 <translation id="4092411512356034591">Továbblép a(z) <ph name="DOMAIN" /> webhelyre?</translation>
 <translation id="4098354747657067197">Megtévesztő webhely megnyitására készül</translation>
 <translation id="4103249731201008433">Az eszköz sorozatszáma érvénytelen</translation>
@@ -688,6 +697,7 @@
 <translation id="4759118997339041434">A fizetési adatok automatikus kitöltése ki van kapcsolva</translation>
 <translation id="4764776831041365478">A <ph name="URL" /> weboldal ideiglenesen nem érhető el, vagy véglegesen új címre költözött.</translation>
 <translation id="4771973620359291008">Ismeretlen hiba történt.</translation>
+<translation id="4780900888022378816">Eszközét a(z) <ph name="ENROLLMENT_DOMAIN" />, fiókját pedig a(z) <ph name="ACCOUNT_DOMAIN" /> kezeli.</translation>
 <translation id="4785689107224900852">Váltás erre a lapra</translation>
 <translation id="4798078619018708837">A(z) <ph name="CREDIT_CARD" /> kártyához tartozó CVC-kód és lejárati dátum megadásával frissítheti a kártyaadatokat. A megerősítést követően a böngésző megosztja az Ön Google-fiókjából származó kártyaadatokat ezzel a webhellyel.</translation>
 <translation id="4800132727771399293">Ellenőrizze a lejárati dátumot és a CVC-t, majd próbálja újra</translation>
@@ -712,6 +722,7 @@
 <translation id="4926159001844873046">A(z) <ph name="SITE" /> közlendője</translation>
 <translation id="4926340098269537727"><ph name="TOTAL_MATCHCOUNT" />/<ph name="ACTIVE_MATCH" /></translation>
 <translation id="4943872375798546930">Nincs találat</translation>
+<translation id="4945672369594656571">Az eszköz- és fiókadatok kezelésének módját szabályozza. A Google az eszköz és a fiók adatait kizárólag az eszköz- és a fiókkezelő útmutatásával és kizárólag az eszköz- és a fiókkezelő által megadott célokra használja fel.</translation>
 <translation id="4950898438188848926">Lapváltó gomb. Nyomja meg az Entert a következő megnyitott lapra való váltáshoz: <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Műveletek</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -725,6 +736,7 @@
 <translation id="5017554619425969104">Vágólapra másolt szöveg</translation>
 <translation id="5018422839182700155">Nem lehet megnyitni az oldalt</translation>
 <translation id="5019198164206649151">A háttértároló állapota nem megfelelő</translation>
+<translation id="5020154601324912079">Az eszközadatok kezelését szabályozza. A Google az eszköz adatait kizárólag az eszközkezelő útmutatásával és kizárólag az eszközkezelő által megadott célokra használja fel.</translation>
 <translation id="5023310440958281426">Ellenőrizze rendszergazdai házirendjeit</translation>
 <translation id="5029568752722684782">Példány törlése</translation>
 <translation id="503069730517007720">A(z) „<ph name="SOFTWARE_NAME" />” szoftverhez főtanúsítványra van szükség, amely azonban nincs telepítve. A rendszergazda a(z) „<ph name="SOFTWARE_NAME" />” beállítási útmutatójában találhat segítséget a probléma megoldásához. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -882,6 +894,7 @@
 <translation id="5838278095973806738">Ne írjon be semmilyen bizalmas adatot (például jelszót vagy hitelkártyaadatot) a webhelyen, mivel a támadók ellophatják.</translation>
 <translation id="5860033963881614850">Kikapcsolva</translation>
 <translation id="5863847714970149516">Előfordulhat, hogy a következő oldal megpróbál pénzt felszámolni Önnek</translation>
+<translation id="5865951947699094510">Módosíthatja távolról a fiók beállítását.</translation>
 <translation id="5866257070973731571">Telefonszám hozzáadása</translation>
 <translation id="5869405914158311789">A webhely nem érhető el</translation>
 <translation id="5869522115854928033">Mentett jelszavak</translation>
@@ -902,6 +915,7 @@
 <translation id="5977976211062815271">Ezen az eszközön</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Nem sikerült megnyitni a fizetőalkalmazást</translation>
+<translation id="5988826871883769516">Az eszközét a következő kezeli: <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Sem fix proxyszerver, sem pedig .pac típusú szkript URL-címe nincs megadva.</translation>
 <translation id="5990559369517809815">A szerver felé irányuló kéréseket egy bővítmény blokkolja.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -919,6 +933,7 @@
 <translation id="6047233362582046994">Ha tisztában van a biztonságát fenyegető kockázatokkal, a káros alkalmazások eltávolítása előtt is <ph name="BEGIN_LINK" />felkeresheti ezt a webhelyet<ph name="END_LINK" />.</translation>
 <translation id="6047927260846328439">Lehet, hogy ez a tartalom megpróbálja rávenni Önt szoftver telepítésére vagy személyes adatok kiadására. <ph name="BEGIN_LINK" />Megjelenítés mindenképpen<ph name="END_LINK" />.</translation>
 <translation id="6051221802930200923">Pillanatnyilag nem tudja felkeresni a(z) <ph name="SITE" /> webhelyet, mivel a webhely tanúsítványrögzítést használ. A hálózati hibák és támadások rendszerint átmenetiek, ezért az említett oldal működése később valószínűleg helyreáll.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Minden eszközén szeretné használni a kártyákat?</translation>
 <translation id="6059925163896151826">USB-eszközök</translation>
 <translation id="6080696365213338172">A tartalmat egy rendszergazda által biztosított tanúsítványon keresztül érte el. A(z) <ph name="DOMAIN" /> számára megadott adatok a rendszergazda számára is elérhetők.</translation>
@@ -988,6 +1003,7 @@
 <translation id="6508722015517270189">Indítsa újra a Chrome-ot</translation>
 <translation id="6529602333819889595">&amp;Törlés újra</translation>
 <translation id="6534179046333460208">Fizikai web – javaslatok</translation>
+<translation id="6554795675067793129">Az Ön fiókkezelője: <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Újra</translation>
 <translation id="6563469144985748109">A kezelő még nem hagyta jóvá</translation>
 <translation id="6569060085658103619">Jelenleg bővítményoldalt tekint meg</translation>
@@ -1072,6 +1088,7 @@
 <translation id="7062635574500127092">Pávakék</translation>
 <translation id="7064851114919012435">Kapcsolatfelvételi adatok</translation>
 <translation id="7079718277001814089">A webhely rosszindulatú programokat tartalmaz</translation>
+<translation id="7081564429925484109">Figyelem: Ezt a házirendet nem egyesítette a rendszer a PolicyListMultipleSourceMergeList házirend előírásainak megfelelően, mert nem lista.</translation>
 <translation id="7087282848513945231">Megye</translation>
 <translation id="7090678807593890770">Keresés a Google-on a következőre: <ph name="LINK" /></translation>
 <translation id="7108338896283013870">Elrejtés</translation>
@@ -1148,6 +1165,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Jelszavak kezelése…</translation>
 <translation id="7419106976560586862">Profil elérési útja</translation>
+<translation id="7424427397225027541">A fiókadatok kezelését szabályozza. A Google a fiók adatait kizárólag a fiókkezelő útmutatásával és kizárólag a fiókkezelő által megadott célokra használja fel.</translation>
 <translation id="7437289804838430631">Kapcsolatfelvételi adatok hozzáadása</translation>
 <translation id="7440140511386898319">Felfedezés offline állapotban</translation>
 <translation id="7441627299479586546">Az irányelv tárgya nem megfelelő</translation>
@@ -1234,6 +1252,7 @@
 <translation id="780301667611848630">Köszönöm, nem</translation>
 <translation id="7805768142964895445">Állapot</translation>
 <translation id="7806344367022510803">A keresőmotor beállításainak módosítása a Chrome-ban</translation>
+<translation id="7810209002420871817">Fiókja kezelőjeként a(z) <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Eltávolítja a javaslatot a Chrome-ból?</translation>
 <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> található a(z) „<ph name="SEARCH_STRING" />” kifejezésre</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb
index 70888a6..ab1dab6 100644
--- a/components/strings/components_strings_ja.xtb
+++ b/components/strings/components_strings_ja.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="ja">
+<translation id="1001338328714563407">デバイスおよびアカウントの管理者である <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">後で</translation>
 <translation id="1010200102790553230">後でページを読み込む</translation>
 <translation id="1015730422737071372">詳細を報告する</translation>
@@ -300,6 +301,7 @@
 <translation id="2586657967955657006">クリップボード</translation>
 <translation id="2587730715158995865">公開元: <ph name="ARTICLE_PUBLISHER" />。この記事と他 <ph name="OTHER_ARTICLE_COUNT" /> 件の記事を読むことができます。</translation>
 <translation id="2587841377698384444">Directory API ID:</translation>
+<translation id="2595719060046994702">このデバイスとアカウントは、会社またはその他の組織によって管理されていません。</translation>
 <translation id="2597378329261239068">このドキュメントはパスワードで保護されています。パスワードを入力してください。</translation>
 <translation id="2609632851001447353">バリエーション</translation>
 <translation id="2618023639789766142">C10(封筒)</translation>
@@ -334,6 +336,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">接続がリセットされました。</translation>
 <translation id="2788784517760473862">利用可能なクレジット カード</translation>
+<translation id="2792012897584536778">このデバイスの管理者が設定したセキュリティ証明書により、アクセス先のウェブサイトのコンテンツを管理者が把握できるようになっている可能性があります。</translation>
 <translation id="2794233252405721443">サイトがブロックされています</translation>
 <translation id="2799020568854403057">アクセス先のサイトには有害なアプリがあります</translation>
 <translation id="2799223571221894425">再起動</translation>
@@ -350,6 +353,7 @@
 <translation id="2903493209154104877">住所</translation>
 <translation id="290376772003165898"><ph name="LANGUAGE" />のページではない場合:</translation>
 <translation id="2909946352844186028">ネットワークの変更が検出されました。</translation>
+<translation id="2910133103376701357">ご使用のデバイスとアカウントは <ph name="ENROLLMENT_DOMAIN" /> で管理されています。</translation>
 <translation id="2916038427272391327">他のプログラムを終了する</translation>
 <translation id="2922350208395188000">サーバーの証明書を確認できません。</translation>
 <translation id="2925673989565098301">配達方法</translation>
@@ -360,6 +364,7 @@
 <translation id="2948083400971632585">接続用に設定されたプロキシは、設定ページで無効にできます。</translation>
 <translation id="2955913368246107853">検索バーを閉じる</translation>
 <translation id="2969319727213777354">安全な接続を確立するには、時計が正しく設定されている必要があります。これは、ウェブサイトが自身を証明するために使用する証明書には有効期限があるためです。デバイスの時計が正しくないため、Google Chrome でこれらの証明書を確認することができません。</translation>
+<translation id="2970515157925768593">デバイスとアカウントの設定をリモートで変更できます。</translation>
 <translation id="2972581237482394796">やり直し(&amp;R)</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" />が現在選択されています。<ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">データを削除</translation>
@@ -371,6 +376,7 @@
 <translation id="3005723025932146533">保存済みのコピーを表示</translation>
 <translation id="3008447029300691911"><ph name="CREDIT_CARD" /> の CVC を入力します。確認を行うと、カードの詳細がこのサイトと共有されます。</translation>
 <translation id="3010559122411665027">リスト エントリ「<ph name="ENTRY_INDEX" />」: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">このデバイスの管理者である <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">自動ブロックされました</translation>
 <translation id="3023071826883856138">洋4(封筒)</translation>
 <translation id="3024663005179499861">ポリシー タイプが間違っています</translation>
@@ -416,6 +422,7 @@
 <translation id="3287510313208355388">オンライン時にダウンロード</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> ポリシーの詳細</translation>
 <translation id="3303855915957856445">一致する結果は見つかりませんでした</translation>
+<translation id="3311730110465560799">デバイスの設定をリモートで変更できます。</translation>
 <translation id="3320021301628644560">請求先住所を追加</translation>
 <translation id="3324983252691184275">クリムゾン</translation>
 <translation id="3338095232262050444">保護された通信</translation>
@@ -510,6 +517,7 @@
 <translation id="3761718714832595332">ステータスを表示しない</translation>
 <translation id="3765032636089507299">セーフ ブラウジング ページは準備中です。</translation>
 <translation id="3778403066972421603">このカードを Google アカウントとこのデバイスに保存しますか?</translation>
+<translation id="3779973883630527594">このアカウントを管理する会社、学校、または組織:</translation>
 <translation id="3781428340399460090">ホットピンク</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">有効期限: <ph name="EXPIRATION_MONTH" /> / <ph name="EXPIRATION_YEAR" /></translation>
@@ -550,6 +558,7 @@
 <translation id="4072486802667267160">ご注文の処理中にエラーが発生しました。もう一度お試しください。</translation>
 <translation id="4075732493274867456">クライアントとサーバーで、共通の SSL プロトコル バージョンまたは暗号スイートがサポートされていません。</translation>
 <translation id="4079302484614802869">プロキシは固定プロキシ サーバーではなく .pac スクリプト URL を使用するように設定されています。</translation>
+<translation id="4082393374666368382">設定 - 管理</translation>
 <translation id="4092411512356034591"><ph name="DOMAIN" /> に移動しますか?</translation>
 <translation id="4098354747657067197">偽のサイトにアクセスしようとしています</translation>
 <translation id="4103249731201008433">デバイスのシリアル番号が無効です</translation>
@@ -682,6 +691,7 @@
 <translation id="4759118997339041434">お支払い情報の自動入力は無効になっています</translation>
 <translation id="4764776831041365478"><ph name="URL" /> のウェブページは一時的に停止しているか、新しいウェブアドレスに移動した可能性があります。</translation>
 <translation id="4771973620359291008">不明なエラーが発生しました。</translation>
+<translation id="4780900888022378816">ご使用のデバイスは <ph name="ENROLLMENT_DOMAIN" /> で管理され、アカウントは <ph name="ACCOUNT_DOMAIN" /> で管理されています。</translation>
 <translation id="4785689107224900852">このタブに切り替え</translation>
 <translation id="4798078619018708837">カード情報を更新するには <ph name="CREDIT_CARD" /> の有効期限と CVC を入力します。確認後、Google アカウントのカード情報がこのサイトと共有されます。</translation>
 <translation id="4800132727771399293">有効期限と CVC を確認してからもう一度お試しください</translation>
@@ -706,6 +716,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> の内容</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" /> / <ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">結果はありません</translation>
+<translation id="4945672369594656571">デバイスとアカウントのデータの処理方法を管理します。Google では、デバイスおよびアカウント管理者の指示と指定した目的のみに基づいてデバイスとアカウントのデータを処理します。</translation>
 <translation id="4950898438188848926">タブの切り替えボタンです。Enter キーを押すと開いているタブ「<ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" />」に切り替わります</translation>
 <translation id="495170559598752135">操作</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -719,6 +730,7 @@
 <translation id="5017554619425969104">コピーしたテキスト</translation>
 <translation id="5018422839182700155">このページを開けません</translation>
 <translation id="5019198164206649151">代替ストアの状態が不適切です</translation>
+<translation id="5020154601324912079">デバイスデータの処理方法を管理します。Google では、デバイス管理者の指示と指定した目的のみに基づいてデバイスデータを処理します。</translation>
 <translation id="5023310440958281426">管理者のポリシーを確認してください</translation>
 <translation id="5029568752722684782">コピーを消去</translation>
 <translation id="503069730517007720">「<ph name="SOFTWARE_NAME" />」のルート証明書が必要ですが、インストールされていません。IT 管理者に、「<ph name="SOFTWARE_NAME" />」の設定手順を確認したうえでこの問題を修正するよう依頼してください。<ph name="FURTHER_EXPLANATION" /></translation>
@@ -876,6 +888,7 @@
 <translation id="5838278095973806738">このサイトでは機密情報(パスワード、クレジット カードなど)を入力しないでください。悪意のあるユーザーに情報が盗まれる恐れがあります。</translation>
 <translation id="5860033963881614850">オフ</translation>
 <translation id="5863847714970149516">表示しようとしているページでは課金される恐れがあります</translation>
+<translation id="5865951947699094510">アカウントの設定をリモートで変更できます。</translation>
 <translation id="5866257070973731571">電話番号の追加</translation>
 <translation id="5869405914158311789">このサイトにアクセスできません</translation>
 <translation id="5869522115854928033">保存したパスワード</translation>
@@ -896,6 +909,7 @@
 <translation id="5977976211062815271">このデバイス</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">お支払いアプリを開けません</translation>
+<translation id="5988826871883769516">このデバイスは <ph name="ENROLLMENT_DOMAIN" /> で管理されています。</translation>
 <translation id="5989320800837274978">固定プロキシ サーバーと .pac スクリプト URL のどちらも指定されていません。</translation>
 <translation id="5990559369517809815">サーバーへのリクエストは拡張機能によってブロックされています。</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -913,6 +927,7 @@
 <translation id="6047233362582046994">有害なアプリがまだ存在する可能性があるにもかかわらず<ph name="BEGIN_LINK" />このサイトにアクセスする<ph name="END_LINK" />場合は、セキュリティ上の危険性をあらかじめご認識ください。</translation>
 <translation id="6047927260846328439">アクセス先のコンテンツは、ユーザーをだましてソフトウェアをインストールさせようとしたり、個人情報を危険にさらしたりする可能性があります。<ph name="BEGIN_LINK" />危険性を理解したうえで表示する<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923"><ph name="SITE" /> では証明書ピンニングが使用されているため、現在アクセスできません。通常、ネットワーク エラーやネットワークへの攻撃は一時的なものです。しばらくするとページにアクセスできるようになります。</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">お使いのどのデバイスでも同じカードを使用できるようにしかすか?</translation>
 <translation id="6059925163896151826">USB デバイス</translation>
 <translation id="6080696365213338172">管理者が提供する証明書を使用してコンテンツにアクセスしています。<ph name="DOMAIN" /> に提供するデータは管理者によって傍受される可能性があります。</translation>
@@ -982,6 +997,7 @@
 <translation id="6508722015517270189">Chrome を再起動する</translation>
 <translation id="6529602333819889595">削除のやり直し(&amp;R)</translation>
 <translation id="6534179046333460208">フィジカル ウェブからの URL</translation>
+<translation id="6554795675067793129">あなたのアカウントは <ph name="ENROLLMENT_DOMAIN" /> によって管理されています。</translation>
 <translation id="6556866813142980365">やり直す</translation>
 <translation id="6563469144985748109">管理者がまだサイトを開くことを許可していません</translation>
 <translation id="6569060085658103619">拡張機能のページを表示しています</translation>
@@ -1066,6 +1082,7 @@
 <translation id="7062635574500127092">青緑</translation>
 <translation id="7064851114919012435">連絡先情報</translation>
 <translation id="7079718277001814089">このサイトには不正なソフトウェアが含まれています</translation>
+<translation id="7081564429925484109">警告: このポリシーはリストにないため、PolicyListMultipleSourceMergeList ポリシーで指定されているとおりには統合されませんでした。</translation>
 <translation id="7087282848513945231">郡</translation>
 <translation id="7090678807593890770"><ph name="LINK" /> を Google で検索してください</translation>
 <translation id="7108338896283013870">非表示</translation>
@@ -1139,6 +1156,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">パスワードを管理…</translation>
 <translation id="7419106976560586862">プロフィール パス</translation>
+<translation id="7424427397225027541">アカウント データの処理方法を管理します。Google では、アカウント管理者の指示と指定した目的のみに基づいてアカウント データを処理します。</translation>
 <translation id="7437289804838430631">連絡先情報を追加</translation>
 <translation id="7440140511386898319">オフラインで利用できるコンテンツ</translation>
 <translation id="7441627299479586546">ポリシーの対象が間違っています</translation>
@@ -1225,6 +1243,7 @@
 <translation id="780301667611848630">いいえ</translation>
 <translation id="7805768142964895445">ステータス</translation>
 <translation id="7806344367022510803">Chrome で検索エンジンの設定を変更します</translation>
+<translation id="7810209002420871817">アカウントの管理者である <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Chrome から候補を削除してもよろしいですか?</translation>
 <translation id="7815407501681723534">「<ph name="SEARCH_STRING" />」に対し <ph name="NUMBER_OF_RESULTS" /> 件の <ph name="SEARCH_RESULTS" />が見つかりました</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index d489ef8..10e7554 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="lv">
+<translation id="1001338328714563407">Jūsu ierīces un konta pārvaldnieks <ph name="ENROLLMENT_DOMAIN" /> var veikt tālāk norādītās darbības.</translation>
 <translation id="1008557486741366299">Vēlāk</translation>
 <translation id="1010200102790553230">Ielādēt lapu vēlāk</translation>
 <translation id="1015730422737071372">Sniegt papildu informāciju</translation>
@@ -301,6 +302,7 @@
 <translation id="2586657967955657006">Starpliktuve</translation>
 <translation id="2587730715158995865">No: <ph name="ARTICLE_PUBLISHER" />. Lasiet šo un vēl <ph name="OTHER_ARTICLE_COUNT" /> rakstus.</translation>
 <translation id="2587841377698384444">Direktorija API ID:</translation>
+<translation id="2595719060046994702">Šī ierīce un konts netiek pārvaldīts uzņēmumā vai citā organizācijā.</translation>
 <translation id="2597378329261239068">Šis dokuments ir aizsargāts ar paroli. Lūdzu, ievadiet paroli.</translation>
 <translation id="2609632851001447353">Varianti</translation>
 <translation id="2618023639789766142">C10 (aploksne)</translation>
@@ -335,6 +337,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Savienojums tika atiestatīts.</translation>
 <translation id="2788784517760473862">Atbalstītās kredītkartes</translation>
+<translation id="2792012897584536778">Šīs ierīces administratori ir iestatījuši drošības sertifikātus, kas ļauj viņiem apskatīt jūsu apmeklēto vietņu saturu.</translation>
 <translation id="2794233252405721443">Vietne bloķēta</translation>
 <translation id="2799020568854403057">Šajā vietnē, kas tiks atvērta, ir kaitīgas lietotnes</translation>
 <translation id="2799223571221894425">Restartēt</translation>
@@ -351,6 +354,7 @@
 <translation id="2903493209154104877">Adreses</translation>
 <translation id="290376772003165898">Vai lapa nav šajā valodā: <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">Konstatētas tīkla izmaiņas.</translation>
+<translation id="2910133103376701357">Jūsu ierīci un kontu pārvalda <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Aizveriet citas programmas</translation>
 <translation id="2922350208395188000">Servera sertifikātu nevar pārbaudīt.</translation>
 <translation id="2925673989565098301">Piegādes veids</translation>
@@ -361,6 +365,7 @@
 <translation id="2948083400971632585">Iestatījumu lapā varat atspējot jebkurus starpniekserverus, kas konfigurēti savienojuma izveidei.</translation>
 <translation id="2955913368246107853">Aizvērt atrašanas joslu</translation>
 <translation id="2969319727213777354">Lai izveidotu drošu savienojumu, ir jāiestata pareizs pulksteņa laiks. Tas ir nepieciešams, jo sertifikāti, kurus vietnes izmanto, lai tiktu identificētas, ir derīgi tikai noteiktos laika periodos. Tā kā jūsu ierīces pulkstenis nav pareizs, Google Chrome nevar verificēt šos sertifikātus.</translation>
+<translation id="2970515157925768593">Var attālināti mainīt jūsu ierīces un konta iestatījumus.</translation>
 <translation id="2972581237482394796">&amp;Pāratsaukt</translation>
 <translation id="2977665033722899841">Pašlaik ir atlasīta rinda “<ph name="ROW_NAME" />”. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Notīrīt datus</translation>
@@ -372,6 +377,7 @@
 <translation id="3005723025932146533">Rādīt saglabāto versiju</translation>
 <translation id="3008447029300691911">Ievadiet kredītkartes <ph name="CREDIT_CARD" /> CVC. Pēc apstiprināšanas kartes informācija tiks kopīgota ar šo vietni.</translation>
 <translation id="3010559122411665027">Saraksta ieraksts “<ph name="ENTRY_INDEX" />”: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Šīs ierīces pārvaldnieks <ph name="ENROLLMENT_DOMAIN" /> var veikt tālāk norādītās darbības.</translation>
 <translation id="301521992641321250">Automātiski bloķēta</translation>
 <translation id="3023071826883856138">You4 (aploksne)</translation>
 <translation id="3024663005179499861">Politikas tips nav pareizs.</translation>
@@ -417,6 +423,7 @@
 <translation id="3287510313208355388">Lejupielādēt, kad pieejama tiešsaiste</translation>
 <translation id="3293642807462928945">Uzzināt vairāk par politiku <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Netika atrasts neviens meklēšanas rezultāts.</translation>
+<translation id="3311730110465560799">Var attālināti mainīt jūsu ierīces iestatījumu.</translation>
 <translation id="3320021301628644560">Norēķinu adreses pievienošana</translation>
 <translation id="3324983252691184275">Tumši sarkana</translation>
 <translation id="3338095232262050444">Droši</translation>
@@ -510,6 +517,7 @@
 <translation id="3761718714832595332">Slēpt statusu</translation>
 <translation id="3765032636089507299">Drošās pārlūkošanas lapa pašlaik nav pieejama</translation>
 <translation id="3778403066972421603">Vai vēlaties saglabāt šo karti savā Google kontā un šajā ierīcē?</translation>
+<translation id="3779973883630527594">Uzņēmums, mācību iestāde vai organizācija, kas pārvalda šo kontu:</translation>
 <translation id="3781428340399460090">Spilgti rozā</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Derīguma termiņš: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -550,6 +558,7 @@
 <translation id="4072486802667267160">Apstrādājot pasūtījumu, radās kļūda. Lūdzu, mēģiniet vēlreiz.</translation>
 <translation id="4075732493274867456">Klients un serveris neatbalsta bieži lietoto SSL protokola versiju vai šifra komplektu.</translation>
 <translation id="4079302484614802869">Starpniekserveris ir iestatīts, lai tas lietotu .pac skripta URL, nevis fiksētus starpniekserverus.</translation>
+<translation id="4082393374666368382">Iestatījumi — pārvaldība</translation>
 <translation id="4092411512356034591">Pāriet uz vietni <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Maldinoša vietne</translation>
 <translation id="4103249731201008433">Ierīces sērijas numurs nav derīgs.</translation>
@@ -682,6 +691,7 @@
 <translation id="4759118997339041434">Maksājumu automātiska aizpilde ir atspējota</translation>
 <translation id="4764776831041365478">Tīmekļa lapa vietnē <ph name="URL" /> var īslaicīgi nebūt pieejama, vai tā var būt pārvietota uz jaunu tīmekļa adresi.</translation>
 <translation id="4771973620359291008">Radās nezināma kļūda.</translation>
+<translation id="4780900888022378816">Jūsu ierīci pārvalda <ph name="ENROLLMENT_DOMAIN" />, un jūsu kontu pārvalda <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Pāriet uz šo cilni</translation>
 <translation id="4798078619018708837">Lai atjauninātu kartes informāciju, ievadiet kredītkartes <ph name="CREDIT_CARD" /> derīguma termiņu un CVC kodu. Pēc apstiprināšanas kartes informācija no Google konta tiks kopīgota ar šo vietni.</translation>
 <translation id="4800132727771399293">Pārbaudiet derīguma termiņu un CVC kodu un mēģiniet vēlreiz.</translation>
@@ -706,6 +716,7 @@
 <translation id="4926159001844873046">Vietnē <ph name="SITE" /> ir rakstīts</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Nav rezultātu</translation>
+<translation id="4945672369594656571">Kontrolē jūsu ierīces un konta datu apstrādi. Google apstrādā jūsu ierīces un konta datus tikai jūsu ierīces un konta pārvaldnieka vadībā un tikai ierīces un konta pārvaldnieka norādītajiem mērķiem.</translation>
 <translation id="4950898438188848926">Ciļņu pārslēgšanas poga. Nospiediet ievadīšanas taustiņu, lai pārslēgtos uz atvērto cilni, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" />.</translation>
 <translation id="495170559598752135">Darbības</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -719,6 +730,7 @@
 <translation id="5017554619425969104">Kopētais teksts</translation>
 <translation id="5018422839182700155">Nevar atvērt šo lapu</translation>
 <translation id="5019198164206649151">Dublējumu krātuve nav labā stāvoklī.</translation>
+<translation id="5020154601324912079">Kontrolē ierīces datu apstrādi. Google apstrādā jūsu ierīces datus tikai jūsu ierīces pārvaldnieka vadībā un tikai ierīces pārvaldnieka norādītajiem mērķiem.</translation>
 <translation id="5023310440958281426">Administratora politiku pārbaude</translation>
 <translation id="5029568752722684782">Dzēst kopiju</translation>
 <translation id="503069730517007720">Programmatūrai <ph name="SOFTWARE_NAME" /> ir nepieciešams saknes sertifikāts, taču tas nav instalēts. Lai novērstu šo problēmu, tīkla administratoram ir jāapskata <ph name="SOFTWARE_NAME" /> konfigurācijas norādījumi. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -876,6 +888,7 @@
 <translation id="5838278095973806738">Neievadiet šajā vietnē sensitīvu informāciju (piemēram, paroles vai kredītkartes), jo to var nozagt uzbrucēji.</translation>
 <translation id="5860033963881614850">Izsl.</translation>
 <translation id="5863847714970149516">Nākamajā lapā var tikt mēģināts pieprasīt naudu</translation>
+<translation id="5865951947699094510">Var attālināti mainīt jūsu konta iestatījumus.</translation>
 <translation id="5866257070973731571">Tālruņa numura pievienošana</translation>
 <translation id="5869405914158311789">Šī vietne nav sasniedzama</translation>
 <translation id="5869522115854928033">Saglabātās paroles</translation>
@@ -896,6 +909,7 @@
 <translation id="5977976211062815271">Šajā ierīcē</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Nevar atvērt maksājumu lietotni</translation>
+<translation id="5988826871883769516">Jūsu ierīci pārvalda <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Nav norādīti nedz fiksēti starpniekserveri, nedz .pac skripta URL.</translation>
 <translation id="5990559369517809815">Paplašinājums ir bloķējis pieprasījumus serverim.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -913,6 +927,7 @@
 <translation id="6047233362582046994">Ja apzināties drošības risku, varat arī <ph name="BEGIN_LINK" />apmeklēt šo vietni<ph name="END_LINK" />, pirms ir noņemtas kaitīgās lietotnes.</translation>
 <translation id="6047927260846328439">Ar šo saturu jūs var maldināt un panākt, ka instalējat programmatūru vai atklājat personas informāciju. <ph name="BEGIN_LINK" />Tāpat rādīt<ph name="END_LINK" />.</translation>
 <translation id="6051221802930200923">Pašlaik nevarat apmeklēt vietni <ph name="SITE" />, jo tajā tiek izmantota sertifikātu piespraušana. Tā kā tīkla kļūdas un uzbrukumi parasti ir īslaicīgi, visticamāk, šī lapa vēlāk darbosies.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Vai vēlaties izmantot kartes visās savās ierīcēs?</translation>
 <translation id="6059925163896151826">USB ierīces</translation>
 <translation id="6080696365213338172">Jūs esat piekļuvis saturam, izmantojot administratora izsniegtu sertifikātu. Datus, kurus sniedzat domēnā <ph name="DOMAIN" />, var pārtvert jūsu administrators.</translation>
@@ -982,6 +997,7 @@
 <translation id="6508722015517270189">Restartējiet pārlūku Chrome</translation>
 <translation id="6529602333819889595">&amp;Dzēšanas atsaukuma atcelšana</translation>
 <translation id="6534179046333460208">Fiziskā tīmekļa ieteikumi</translation>
+<translation id="6554795675067793129">Jūsu kontu pārvalda <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Atcelt atsaukšanu</translation>
 <translation id="6563469144985748109">Jūsu vadītājs vēl nav to apstiprinājis</translation>
 <translation id="6569060085658103619">Jūs skatāt paplašinājumu lapu.</translation>
@@ -1066,6 +1082,7 @@
 <translation id="7062635574500127092">Zilganzaļa</translation>
 <translation id="7064851114919012435">Kontaktinformācija</translation>
 <translation id="7079718277001814089">Šī vietne satur ļaunprātīgu programmatūru</translation>
+<translation id="7081564429925484109">Brīdinājums. Šī politika netika apvienota, kā norādīts politikā PolicyListMultipleSourceMergeList, jo tā nav saraksts.</translation>
 <translation id="7087282848513945231">Grāfiste</translation>
 <translation id="7090678807593890770">Veiciet Google meklēšanu, izmantojot vaicājumu “<ph name="LINK" />”</translation>
 <translation id="7108338896283013870">Slēpt</translation>
@@ -1139,6 +1156,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Pārvaldīt paroles…</translation>
 <translation id="7419106976560586862">Profila ceļš</translation>
+<translation id="7424427397225027541">Kontrolē konta datu apstrādi. Google apstrādā jūsu konta datus tikai jūsu konta pārvaldnieka vadībā un tikai konta pārvaldnieka norādītajiem mērķiem.</translation>
 <translation id="7437289804838430631">Pievienot kontaktinformāciju</translation>
 <translation id="7440140511386898319">Pārlūkošana bezsaistē</translation>
 <translation id="7441627299479586546">Politikas subjekts nav pareizs.</translation>
@@ -1225,6 +1243,7 @@
 <translation id="780301667611848630">Nē, paldies</translation>
 <translation id="7805768142964895445">Statuss</translation>
 <translation id="7806344367022510803">Mainīt meklētājprogrammas iestatījumus pārlūkā Chrome</translation>
+<translation id="7810209002420871817">Jūsu konta pārvaldnieks <ph name="ACCOUNT_DOMAIN" /> var veikt tālāk norādītās darbības.</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Vai noņemt veidlapas ieteikumu no pārlūka Chrome?</translation>
 <translation id="7815407501681723534">Meklējot pēc virknes “<ph name="SEARCH_STRING" />”, tika atrasti <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /></translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb
index bccbbb9..eff6dc99 100644
--- a/components/strings/components_strings_mr.xtb
+++ b/components/strings/components_strings_mr.xtb
@@ -922,7 +922,7 @@
 <translation id="6051221802930200923">ही वेबसाइट सर्टिफिकेट पिनिंग वापरत असल्यामुळे तुम्ही आत्ता <ph name="SITE" /> पाहू शकणार नाही. नेटवर्क एरर आणि आक्रमणे शक्यतो तात्पुरती असतात, त्यामुळे हे पेज नंतर पाहता येईल.</translation>
 <translation id="6058977677006700226">तुमच्या सर्व डिव्हाइसवर तुमची कार्डे वापरायची का?</translation>
 <translation id="6059925163896151826">USB डिव्हाइसेस</translation>
-<translation id="6080696365213338172">तुम्ही अॅडमिनिस्ट्रेटरने दिलेले सर्टिफिकेट वापरून आशय अॅक्सेस केला. तुम्ही <ph name="DOMAIN" /> वर प्रदान करता तो डेटा तुमच्या अॅडमिनिस्ट्रेटरद्वारे इंटरसेप्ट केला जाऊ शकतो.</translation>
+<translation id="6080696365213338172">तुम्ही ॲडमिनिस्ट्रेटरने दिलेले सर्टिफिकेट वापरून आशय ॲक्सेस केला. तुम्ही <ph name="DOMAIN" /> वर प्रदान करता तो डेटा तुमच्या ॲडमिनिस्ट्रेटरद्वारे इंटरसेप्ट केला जाऊ शकतो.</translation>
 <translation id="6094273045989040137">भाष्य करा</translation>
 <translation id="610911394827799129">तुमच्या Google खात्यामध्ये <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> वर ब्राउझिंग इतिहासाची अन्य स्वरूपे असू शकतात.</translation>
 <translation id="6132597952260690497">इंस्टॉल केलेल्या एक्स्टेंशन आणि प्लग-इनविषयी माहिती</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb
index 400ccf3..db71421a 100644
--- a/components/strings/components_strings_pl.xtb
+++ b/components/strings/components_strings_pl.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="pl">
+<translation id="1001338328714563407">Zarządzająca Twoim urządzeniem i kontem domena <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Nie teraz</translation>
 <translation id="1010200102790553230">Wczytaj stronę później</translation>
 <translation id="1015730422737071372">Podaj dodatkowe informacje</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Schowek</translation>
 <translation id="2587730715158995865">Wydawca: <ph name="ARTICLE_PUBLISHER" />. Przeczytaj ten artykuł i inne (<ph name="OTHER_ARTICLE_COUNT" />).</translation>
 <translation id="2587841377698384444">Identyfikator interfejsu API katalogu:</translation>
+<translation id="2595719060046994702">To urządzenie i konto nie są zarządzane przez firmę ani inną organizację.</translation>
 <translation id="2597378329261239068">Ten dokument jest chroniony hasłem. Wprowadź hasło.</translation>
 <translation id="2609632851001447353">Odmiany</translation>
 <translation id="2618023639789766142">C10 (koperta)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Połączenie zostało zresetowane.</translation>
 <translation id="2788784517760473862">Akceptowane karty kredytowe</translation>
+<translation id="2792012897584536778">Administratorzy tego urządzenia skonfigurowali certyfikaty zabezpieczeń, dzięki którym mogą zobaczyć zawartość stron internetowych, które odwiedzasz.</translation>
 <translation id="2794233252405721443">Strona zablokowana</translation>
 <translation id="2799020568854403057">Strona, którą chcesz otworzyć, zawiera szkodliwe aplikacje</translation>
 <translation id="2799223571221894425">Uruchom ponownie</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Adresy</translation>
 <translation id="290376772003165898">Język tej strony to nie <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">Wykryto zmianę sieci.</translation>
+<translation id="2910133103376701357">Twoim urządzeniem i kontem zarządza <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Zamknij inne programy</translation>
 <translation id="2922350208395188000">Nie można sprawdzić certyfikatu serwera.</translation>
 <translation id="2925673989565098301">Metoda dostawy</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Możesz wyłączyć dowolne serwery proxy skonfigurowane dla połączenia na stronie ustawień.</translation>
 <translation id="2955913368246107853">Zamknij pasek wyszukiwania</translation>
 <translation id="2969319727213777354">Aby urządzenie nawiązało bezpieczne połączenie, jego zegar musi wskazywać prawidłową godzinę. Jest to wymagane, bo certyfikaty używane do identyfikacji stron internetowych są ważne tylko przez określony czas. Zegar urządzenia jest ustawiony nieprawidłowo, więc Google Chrome nie może zweryfikować tych certyfikatów.</translation>
+<translation id="2970515157925768593">Może zdalnie zmienić konfigurację Twojego urządzenia i konta.</translation>
 <translation id="2972581237482394796">&amp;Ponów</translation>
 <translation id="2977665033722899841">Obecnie wybrany wiersz to <ph name="ROW_NAME" />. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Wyczyść dane</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Pokaż zapisaną kopię</translation>
 <translation id="3008447029300691911">Wpisz kod CVC karty <ph name="CREDIT_CARD" />. Po potwierdzeniu szczegółowe dane karty zostaną udostępnione tej stronie.</translation>
 <translation id="3010559122411665027">Pozycja listy „<ph name="ENTRY_INDEX" />”: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Zarządzająca tym urządzeniem domena <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Automatycznie zablokowane</translation>
 <translation id="3023071826883856138">You4 (koperta)</translation>
 <translation id="3024663005179499861">Nieprawidłowy typ zasady</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Pobierz, gdy będę online</translation>
 <translation id="3293642807462928945">Więcej informacji o zasadzie <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Brak wyników wyszukiwania</translation>
+<translation id="3311730110465560799">Może zdalnie zmieniać konfigurację urządzenia.</translation>
 <translation id="3320021301628644560">Dodaj adres rozliczeniowy</translation>
 <translation id="3324983252691184275">Karmazynowy</translation>
 <translation id="3338095232262050444">Bezpieczna</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">Ukryj stan</translation>
 <translation id="3765032636089507299">Strona funkcji Bezpieczne przeglądanie jest w budowie.</translation>
 <translation id="3778403066972421603">Czy chcesz zapisać tę kartę na swoim koncie Google i na tym urządzeniu?</translation>
+<translation id="3779973883630527594">Firma, szkoła lub organizacja zarządzająca tym kontem:</translation>
 <translation id="3781428340399460090">Ciepłoróżowy</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Wygasa: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">Podczas przetwarzania zamówienia wystąpił błąd. Spróbuj ponownie.</translation>
 <translation id="4075732493274867456">Klient i serwer nie obsługują wspólnej wersji protokołu SSL lub mechanizmu szyfrowania.</translation>
 <translation id="4079302484614802869">Proxy skonfigurowano do używania URL-a skryptu PAC, a nie ustalonych serwerów proxy.</translation>
+<translation id="4082393374666368382">Ustawienia – Zarządzanie</translation>
 <translation id="4092411512356034591">Przejść na stronę <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Wchodzisz na stronę wprowadzającą w błąd</translation>
 <translation id="4103249731201008433">Numer seryjny urządzenia jest nieprawidłowy</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">Autouzupełnianie danych o płatności jest wyłączone</translation>
 <translation id="4764776831041365478">Strona internetowa pod adresem <ph name="URL" /> może być tymczasowo niedostępna lub została na stałe przeniesiona pod nowy adres internetowy.</translation>
 <translation id="4771973620359291008">Wystąpił nieznany błąd.</translation>
+<translation id="4780900888022378816">Twoim urządzeniem zarządza <ph name="ENROLLMENT_DOMAIN" />, a Twoim kontem – <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Przełącz na tę kartę</translation>
 <translation id="4798078619018708837">Wpisz datę ważności i kod CVC karty <ph name="CREDIT_CARD" />, by zaktualizować jej dane. Po potwierdzeniu dane karty z Twojego konta Google zostaną udostępnione tej stronie.</translation>
 <translation id="4800132727771399293">Sprawdź datę ważności i kod CVC, a potem spróbuj ponownie</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046">Komunikat ze strony <ph name="SITE" /></translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Brak wyników</translation>
+<translation id="4945672369594656571">Kontroluje sposób przetwarzania danych z Twojego urządzenia i konta. Google przetwarza dane z Twojego urządzenia i konta tylko za zgodą menedżera Twojego urządzenia i konta i tylko w celach określonych przez menedżera urządzenia i konta.</translation>
 <translation id="4950898438188848926">Przycisk przełączania kart. Naciśnij Enter, by przełączyć się na otwartą kartę, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Czynności</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">Skopiowany tekst</translation>
 <translation id="5018422839182700155">Nie można otworzyć tej strony</translation>
 <translation id="5019198164206649151">Nieprawidłowy stan magazynu wspomagającego</translation>
+<translation id="5020154601324912079">Kontroluje sposób przetwarzania danych z Twojego urządzenia. Google przetwarza dane z Twojego urządzenia tylko za zgodą menedżera urządzenia i tylko w określonych przez niego celach.</translation>
 <translation id="5023310440958281426">Sprawdź zasady administratora</translation>
 <translation id="5029568752722684782">Usuń kopię</translation>
 <translation id="503069730517007720">Certyfikat główny oprogramowania „<ph name="SOFTWARE_NAME" />” jest wymagany, ale nie został zainstalowany. Aby rozwiązać ten problem, administrator powinien przeczytać instrukcje dotyczące konfiguracji oprogramowania „<ph name="SOFTWARE_NAME" />”. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">Nie podawaj żadnych informacji poufnych (takich jak hasła czy dane kart kredytowych) w tej witrynie, bo osoby atakujące będą mogły je wykraść.</translation>
 <translation id="5860033963881614850">Wyłączone</translation>
 <translation id="5863847714970149516">Otwierana strona może próbować obciążyć Cię płatnością</translation>
+<translation id="5865951947699094510">Może zdalnie zmienić konfigurację Twojego konta.</translation>
 <translation id="5866257070973731571">Dodaj numer telefonu</translation>
 <translation id="5869405914158311789">Ta witryna jest nieosiągalna</translation>
 <translation id="5869522115854928033">Zapisane hasła</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">Na tym urządzeniu</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Nie można otworzyć aplikacji do płatności</translation>
+<translation id="5988826871883769516">Twoim urządzeniem zarządza <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Nie określono ani stałych serwerów proxy, ani adresu URL skryptu PAC.</translation>
 <translation id="5990559369517809815">Żądania do serwera zostały zablokowane przez rozszerzenie.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">Jeśli rozumiesz zagrożenie, możesz <ph name="BEGIN_LINK" />wejść na tę stronę<ph name="END_LINK" />, zanim szkodliwe aplikacje zostaną usunięte.</translation>
 <translation id="6047927260846328439">Te treści mogą próbować podstępem nakłonić Cię do zainstalowania oprogramowania lub ujawnienia danych osobowych. <ph name="BEGIN_LINK" />Wyświetl mimo to<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Nie możesz teraz otworzyć strony <ph name="SITE" />, ponieważ stosuje ona przypinanie certyfikatów. Błędy sieciowe i ataki są zazwyczaj tymczasowe, więc prawdopodobnie strona będzie dostępna później.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Chcesz używać swoich kart na wszystkich urządzeniach?</translation>
 <translation id="6059925163896151826">Urządzenia USB</translation>
 <translation id="6080696365213338172">Masz dostęp do treści dzięki certyfikatowi dostarczonemu przez administratora. Administrator może odczytać dane, jakie udostępnisz w <ph name="DOMAIN" />.</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">Uruchom ponownie Chrome</translation>
 <translation id="6529602333819889595">&amp;Ponów usunięcie</translation>
 <translation id="6534179046333460208">Sugestie dotyczące internetu rzeczy</translation>
+<translation id="6554795675067793129">To konto jest zarządzane przez: <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Ponów</translation>
 <translation id="6563469144985748109">Twój menedżer jeszcze na to nie zezwolił</translation>
 <translation id="6569060085658103619">Przeglądasz stronę rozszerzenia</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">Morski</translation>
 <translation id="7064851114919012435">Dane kontaktowe</translation>
 <translation id="7079718277001814089">Ta strona zawiera złośliwe oprogramowanie</translation>
+<translation id="7081564429925484109">Ostrzeżenie: Ta zasada nie została scalona na podstawie zasady PolicyListMultipleSourceMergeList, ponieważ nie jest listą.</translation>
 <translation id="7087282848513945231">Hrabstwo</translation>
 <translation id="7090678807593890770">Wyszukaj w Google: <ph name="LINK" /></translation>
 <translation id="7108338896283013870">Ukryj</translation>
@@ -1150,6 +1167,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Zarządzaj hasłami…</translation>
 <translation id="7419106976560586862">Ścieżka profilu</translation>
+<translation id="7424427397225027541">Kontroluje sposób przetwarzania danych z Twojego konta. Google przetwarza dane z Twojego konta tylko za zgodą menedżera konta i tylko w określonych przez niego celach.</translation>
 <translation id="7437289804838430631">Dodaj dane kontaktowe</translation>
 <translation id="7440140511386898319">Przeglądaj offline</translation>
 <translation id="7441627299479586546">Nieprawidłowy podmiot zasady</translation>
@@ -1236,6 +1254,7 @@
 <translation id="780301667611848630">Nie, dziękuję</translation>
 <translation id="7805768142964895445">Stan</translation>
 <translation id="7806344367022510803">Wyszukiwarkę możesz zmienić w ustawieniach Chrome</translation>
+<translation id="7810209002420871817">Zarządzająca Twoim kontem domena <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Usunąć tę podpowiedź do formularza z Chrome?</translation>
 <translation id="7815407501681723534">Znalezione <ph name="SEARCH_RESULTS" /> dla zapytania „<ph name="SEARCH_STRING" />”: <ph name="NUMBER_OF_RESULTS" /></translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb
index 4a0cd57..aa83137e 100644
--- a/components/strings/components_strings_pt-BR.xtb
+++ b/components/strings/components_strings_pt-BR.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="pt-BR">
+<translation id="1001338328714563407">Como administrador do dispositivo e da conta, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Não agora</translation>
 <translation id="1010200102790553230">Carregar página mais tarde</translation>
 <translation id="1015730422737071372">Forneça detalhes adicionais</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Área de transferência</translation>
 <translation id="2587730715158995865">De <ph name="ARTICLE_PUBLISHER" />. Leia essa matéria e <ph name="OTHER_ARTICLE_COUNT" /> outras.</translation>
 <translation id="2587841377698384444">Código da API do diretório:</translation>
+<translation id="2595719060046994702">Este dispositivo e conta não são gerenciados por uma empresa ou outra organização.</translation>
 <translation id="2597378329261239068">Este documento está protegido por senha.  Digite a senha.</translation>
 <translation id="2609632851001447353">Variações</translation>
 <translation id="2618023639789766142">C10 (Envelope)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">A conexão foi redefinida.</translation>
 <translation id="2788784517760473862">Cartões de crédito aceitos</translation>
+<translation id="2792012897584536778">Os administradores deste dispositivo configuraram certificados de segurança que podem permitir que eles vejam o conteúdo dos sites que você visita.</translation>
 <translation id="2794233252405721443">Site bloqueado</translation>
 <translation id="2799020568854403057">O site a seguir contém apps prejudiciais</translation>
 <translation id="2799223571221894425">Reiniciar</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Endereços</translation>
 <translation id="290376772003165898">A página não está em <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">Foi detectada uma alteração na rede.</translation>
+<translation id="2910133103376701357">Seu dispositivo e sua conta são gerenciados por <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Fechar outros programas</translation>
 <translation id="2922350208395188000">O certificado do servidor não pode ser verificado.</translation>
 <translation id="2925673989565098301">Método de envio</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Na página "Configurações", você pode desativar quaisquer proxies configurados para uma conexão.</translation>
 <translation id="2955913368246107853">Fechar barra de localização</translation>
 <translation id="2969319727213777354">Para estabelecer uma conexão segura, o relógio precisa estar configurado corretamente. Isso ocorre porque os certificados que os websites usam para se identificar são válidos apenas por períodos específicos. Como o relógio do seu dispositivo está incorreto, o Google Chrome não consegue verificar esses certificados.</translation>
+<translation id="2970515157925768593">Pode alterar remotamente a configuração do dispositivo e da conta.</translation>
 <translation id="2972581237482394796">&amp;Refazer</translation>
 <translation id="2977665033722899841">Selecionado no momento: <ph name="ROW_NAME" />. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Limpar dados</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Mostrar cópia salva</translation>
 <translation id="3008447029300691911">Digite o CVC do <ph name="CREDIT_CARD" />. Depois da confirmação, os detalhes do seu cartão serão compartilhados com esse site.</translation>
 <translation id="3010559122411665027">Entrada de lista "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Como o administrador deste dispositivo, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Bloqueada automaticamente</translation>
 <translation id="3023071826883856138">You4 (Envelope)</translation>
 <translation id="3024663005179499861">Tipo de política incorreto</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Download quando estiver on-line</translation>
 <translation id="3293642807462928945">Saiba mais sobre a política <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Nenhum resultado de pesquisa encontrado</translation>
+<translation id="3311730110465560799">Pode alterar remotamente a configuração do seu dispositivo.</translation>
 <translation id="3320021301628644560">Adicionar endereço de faturamento</translation>
 <translation id="3324983252691184275">Carmim</translation>
 <translation id="3338095232262050444">Seguro</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">Ocultar status</translation>
 <translation id="3765032636089507299">A página de navegação segura está em construção.</translation>
 <translation id="3778403066972421603">Quer salvar este cartão na sua Conta do Google e neste dispositivo?</translation>
+<translation id="3779973883630527594">A empresa, escola ou organização que gerencia esta conta:</translation>
 <translation id="3781428340399460090">Rosa-escuro</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Validade: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">Ocorreu um erro ao processar seu pedido. Tente novamente.</translation>
 <translation id="4075732493274867456">O cliente e o servidor não são compatíveis com uma versão do protocolo SSL comum ou com o pacote de criptografia.</translation>
 <translation id="4079302484614802869">A configuração do proxy definida utiliza um URL de script .pac, e não servidores proxy fixos.</translation>
+<translation id="4082393374666368382">Configurações: gerenciamento</translation>
 <translation id="4092411512356034591">Ir para <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Site enganoso</translation>
 <translation id="4103249731201008433">O número de série do dispositivo é inválido</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">Preenchimento automático de pagamento desativado</translation>
 <translation id="4764776831041365478">A página <ph name="URL" /> pode estar temporariamente indisponível ou pode ter sido movida permanentemente para um novo endereço da Web.</translation>
 <translation id="4771973620359291008">Ocorreu um erro desconhecido.</translation>
+<translation id="4780900888022378816">Seu dispositivo é gerenciado por <ph name="ENROLLMENT_DOMAIN" />, e sua conta é gerenciada por <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Alternar para esta guia</translation>
 <translation id="4798078619018708837">Informe a data de validade e o CVC do <ph name="CREDIT_CARD" /> para atualizar os detalhes do cartão. Depois da confirmação, os detalhes do cartão da sua Conta do Google serão compartilhados com este site.</translation>
 <translation id="4800132727771399293">Verifique sua data de validade e seu CVC e tente novamente</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> diz</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Nenhum resultado</translation>
+<translation id="4945672369594656571">Controla como os dados do dispositivo e da conta são tratados. O Google processa esses dados exclusivamente sob o comando do administrador da conta e do dispositivo e unicamente para os fins especificados por ele.</translation>
 <translation id="4950898438188848926">Botão de alternância de guia. Pressione Enter para alternar para a guia aberta, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Ações</translation>
 <translation id="4955242332710481440">A5 Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">Texto que você copiou</translation>
 <translation id="5018422839182700155">Não é possível abrir essa página</translation>
 <translation id="5019198164206649151">Armazenamento de backup em estado inválido</translation>
+<translation id="5020154601324912079">Controla como os dados do dispositivo são tratados. O Google processa esses dados exclusivamente sob o comando do administrador do dispositivo e unicamente para os fins especificados por ele.</translation>
 <translation id="5023310440958281426">Verifique as políticas do administrador</translation>
 <translation id="5029568752722684782">Limpar cópia</translation>
 <translation id="503069730517007720">Um certificado raiz para "<ph name="SOFTWARE_NAME" />" é necessário, mas não está instalado. O administrador de TI deve revisar as instruções de configuração do "<ph name="SOFTWARE_NAME" />" para corrigir esse problema. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">É recomendado não fornecer informações confidencial a esse site (por exemplo, senhas ou cartões de crédito), porque elas podem ser roubadas por invasores.</translation>
 <translation id="5860033963881614850">Desativado</translation>
 <translation id="5863847714970149516">A página que você está prestes a acessar pode tentar cobrar pagamentos</translation>
+<translation id="5865951947699094510">Pode alterar remotamente a configuração da sua conta.</translation>
 <translation id="5866257070973731571">Adicione um Número de Telefone</translation>
 <translation id="5869405914158311789">Não é possível acessar esse site</translation>
 <translation id="5869522115854928033">Senhas salvas</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">Neste dispositivo</translation>
 <translation id="5980920751713728343">76 mm x 127 mm</translation>
 <translation id="598637245381783098">Não foi possível abrir app de pagamento</translation>
+<translation id="5988826871883769516">Seu dispositivo é gerenciado por <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Nem os servidores proxy fixos nem o URL de script .pac foram especificados.</translation>
 <translation id="5990559369517809815">Solicitações ao servidor foram bloqueadas por uma extensão.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">Se você conhece os riscos para sua segurança, pode <ph name="BEGIN_LINK" />visitar este site<ph name="END_LINK" /> antes de os apps prejudiciais serem removidos.</translation>
 <translation id="6047927260846328439">Este conteúdo pode tentar enganar você para que instale um software ou revele informações pessoais. <ph name="BEGIN_LINK" />Mostrar mesmo assim<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Não é possível acessar <ph name="SITE" /> no momento, porque o site usa bloqueio de certificados. Como os ataques e erros de rede são geralmente temporários, esta pagina provavelmente funcionará mais tarde.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Usar seus cartões em todos os dispositivos?</translation>
 <translation id="6059925163896151826">Dispositivos USB</translation>
 <translation id="6080696365213338172">Você acessou conteúdo usando um certificado fornecido pelo administrador. Os dados fornecidos a <ph name="DOMAIN" /> podem ser interceptados por seu administrador.</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">Reiniciar o Chrome</translation>
 <translation id="6529602333819889595">&amp;Refazer excluir</translation>
 <translation id="6534179046333460208">Sugestões da Web física</translation>
+<translation id="6554795675067793129">Sua conta é gerenciada por <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Refazer</translation>
 <translation id="6563469144985748109">Seu administrador ainda não o aprovou</translation>
 <translation id="6569060085658103619">Você está vendo uma página de extensões</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">Azul-petróleo</translation>
 <translation id="7064851114919012435">Dados de contato</translation>
 <translation id="7079718277001814089">Este site contém malware</translation>
+<translation id="7081564429925484109">Aviso: esta política não foi mesclada conforme especificado na política PolicyListMultipleSourceMergeList porque não é uma lista.</translation>
 <translation id="7087282848513945231">Condado</translation>
 <translation id="7090678807593890770">Pesquise <ph name="LINK" /> no Google</translation>
 <translation id="7108338896283013870">Ocultar</translation>
@@ -1150,6 +1167,7 @@
 <translation id="741007362987735528">Formato largo</translation>
 <translation id="7416351320495623771">Gerenciar senhas…</translation>
 <translation id="7419106976560586862">Caminho de perfil</translation>
+<translation id="7424427397225027541">Controla como dos dados da sua conta são tratados. O Google processa esses dados exclusivamente sob o comando do administrador da conta e unicamente para os fins especificados por ele.</translation>
 <translation id="7437289804838430631">Adicionar Informações de Contato</translation>
 <translation id="7440140511386898319">Ver conteúdo enquanto estiver off-line</translation>
 <translation id="7441627299479586546">Assunto da política incorreto</translation>
@@ -1236,6 +1254,7 @@
 <translation id="780301667611848630">Não</translation>
 <translation id="7805768142964895445">Status</translation>
 <translation id="7806344367022510803">Altere as configurações de mecanismo de pesquisa no Chrome</translation>
+<translation id="7810209002420871817">Como administrador da sua conta, <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Remover sugestão de formulário do Chrome?</translation>
 <translation id="7815407501681723534">Localizados <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> para "<ph name="SEARCH_STRING" />"</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb
index 1be2978..060db4e 100644
--- a/components/strings/components_strings_pt-PT.xtb
+++ b/components/strings/components_strings_pt-PT.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="pt-PT">
+<translation id="1001338328714563407">Enquanto gestor do seu dispositivo e da sua conta, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Agora não</translation>
 <translation id="1010200102790553230">Carregar a página mais tarde</translation>
 <translation id="1015730422737071372">Forneça mais detalhes</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Área de transferência</translation>
 <translation id="2587730715158995865">De <ph name="ARTICLE_PUBLISHER" />. Leia esta e mais <ph name="OTHER_ARTICLE_COUNT" /> notícias.</translation>
 <translation id="2587841377698384444">ID da API de diretório:</translation>
+<translation id="2595719060046994702">Este dispositivo e esta conta não são geridos por uma empresa ou por outra organização.</translation>
 <translation id="2597378329261239068">Este documento está protegido por palavra-passe.  Introduza uma palavra-passe.</translation>
 <translation id="2609632851001447353">Variações</translation>
 <translation id="2618023639789766142">C10 (Envelope)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">A ligação foi reposta.</translation>
 <translation id="2788784517760473862">Cartões de crédito admitidos</translation>
+<translation id="2792012897584536778">Os administradores deste dispositivo configuraram certificados de segurança que lhes podem permitir visualizar os conteúdos dos Websites visitados por si.</translation>
 <translation id="2794233252405721443">Site bloqueado</translation>
 <translation id="2799020568854403057">O site que pretende visitar contém aplicações prejudiciais</translation>
 <translation id="2799223571221894425">Reiniciar</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Endereços</translation>
 <translation id="290376772003165898">A página não está em <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">Foi detetada uma alteração de rede.</translation>
+<translation id="2910133103376701357">O seu dispositivo e a sua conta são geridos por <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Fechar outros programas</translation>
 <translation id="2922350208395188000">Não é possível verificar o certificado do servidor.</translation>
 <translation id="2925673989565098301">Método de fornecimento</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Pode desativar qualquer proxy configurado para uma ligação a partir da página de definições.</translation>
 <translation id="2955913368246107853">Fechar barra de localização</translation>
 <translation id="2969319727213777354">Para estabelecer uma ligação segura, o relógio tem de ser definido corretamente. Isto deve-se ao facto de os certificados que os Sites utilizam para se identificarem serem apenas válidos para períodos de tempo específicos. Uma vez que o relógio do seu dispositivo está incorreto, o Google Chrome não consegue validar estes certificados.</translation>
+<translation id="2970515157925768593">Pode alterar remotamente a configuração do seu dispositivo e da sua conta.</translation>
 <translation id="2972581237482394796">&amp;Repetir</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" /> selecionado atualmente. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Limpar dados</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Mostrar cópia guardada</translation>
 <translation id="3008447029300691911">Introduza o Código de Segurança/CVC de <ph name="CREDIT_CARD" />. Ao confirmar, os detalhes do cartão são partilhados com este site.</translation>
 <translation id="3010559122411665027">Entrada da lista "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Enquanto gestor deste dispositivo, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Bloqueada automaticamente</translation>
 <translation id="3023071826883856138">You4 (Envelope)</translation>
 <translation id="3024663005179499861">Tipo de política incorreto</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Transferir quando estiver online</translation>
 <translation id="3293642807462928945">Saiba mais acerca da política <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Não foram encontrados resultados da pesquisa</translation>
+<translation id="3311730110465560799">Pode alterar remotamente a configuração do seu dispositivo.</translation>
 <translation id="3320021301628644560">Adicionar endereço de faturação</translation>
 <translation id="3324983252691184275">Carmesim</translation>
 <translation id="3338095232262050444">Seguro</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">Ocultar estado</translation>
 <translation id="3765032636089507299">A página de Navegação segura está em construção.</translation>
 <translation id="3778403066972421603">Pretende guardar este cartão na sua Conta Google e neste dispositivo?</translation>
+<translation id="3779973883630527594">A empresa, escola ou organização que gere esta conta:</translation>
 <translation id="3781428340399460090">Rosa choque</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Expira a <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">Ocorreu um erro ao processar a sua encomenda. Tente novamente.</translation>
 <translation id="4075732493274867456">O cliente e o servidor não suportam uma versão do protocolo SSL ou um conjunto de cifras comum.</translation>
 <translation id="4079302484614802869">A configuração do proxy está definida para utilizar um URL de script .pac e não servidores proxy fixos.</translation>
+<translation id="4082393374666368382">Definições – Gestão</translation>
 <translation id="4092411512356034591">Pretende continuar para <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">O site seguinte é fraudulento</translation>
 <translation id="4103249731201008433">Número de série do dispositivo é inválido</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">Preenchimento automático do pagamento desativado</translation>
 <translation id="4764776831041365478">A página Web em <ph name="URL" /> poderá estar temporariamente inactiva ou poderá ter sido movida permanentemente para um novo endereço Web.</translation>
 <translation id="4771973620359291008">Ocorreu um erro desconhecido.</translation>
+<translation id="4780900888022378816">O seu dispositivo é gerido por <ph name="ENROLLMENT_DOMAIN" /> e a sua conta é gerida por <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Mudar para este separador</translation>
 <translation id="4798078619018708837">Introduza a data de validade e o Código de Segurança/CVC de <ph name="CREDIT_CARD" /> para atualizar os detalhes do cartão. Depois de confirmar, os detalhes do cartão da sua Conta Google são partilhados com este site.</translation>
 <translation id="4800132727771399293">Verifique a data de validade e o Código de Segurança/CVC e tente novamente</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> diz</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Nenhum resultado</translation>
+<translation id="4945672369594656571">Controla de que forma são processados os dados do seu dispositivo e da sua conta. A Google processa os dados do seu dispositivo e da sua conta exclusivamente de acordo com as orientações do gestor do dispositivo e da conta e apenas para os fins especificados pelo mesmo.</translation>
 <translation id="4950898438188848926">Botão de mudança de separador: prima Enter para mudar para o separador aberto, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Ações</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">Texto que copiou</translation>
 <translation id="5018422839182700155">Não é possível abrir esta página</translation>
 <translation id="5019198164206649151">Armazenamento de segurança em mau estado</translation>
+<translation id="5020154601324912079">Controla de que forma são processados os dados do seu dispositivo. A Google processa os dados do seu dispositivo exclusivamente de acordo com as orientações do gestor do dispositivo e apenas para os fins especificados pelo mesmo.</translation>
 <translation id="5023310440958281426">Verificar as políticas do gestor</translation>
 <translation id="5029568752722684782">Limpar cópia</translation>
 <translation id="503069730517007720">É necessário um certificado de raiz para o "<ph name="SOFTWARE_NAME" />", que não está instalado. O gestor de TI deve consultar as instruções de configuração do "<ph name="SOFTWARE_NAME" />" para corrigir este problema. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">Não deve introduzir informações confidenciais neste site (por exemplo, palavras-passe ou números de cartões de crédito), porque podem ser roubadas por atacantes.</translation>
 <translation id="5860033963881614850">Desativado</translation>
 <translation id="5863847714970149516">A próxima página pode tentar cobrar-lhe dinheiro</translation>
+<translation id="5865951947699094510">Pode alterar remotamente a configuração da sua conta.</translation>
 <translation id="5866257070973731571">Adicionar número de telefone</translation>
 <translation id="5869405914158311789">Não é possível aceder a este site</translation>
 <translation id="5869522115854928033">Palavras-passe guardadas</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">Neste dispositivo</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Não é possível abrir a aplicação de pagamento</translation>
+<translation id="5988826871883769516">O seu dispositivo é gerido pelo <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Não foram especificados servidores proxy fixos nem um URL de script .pac.</translation>
 <translation id="5990559369517809815">Os pedidos para o servidor foram bloqueados por uma extensão.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">Se compreende os riscos para a sua segurança, pode <ph name="BEGIN_LINK" />visitar este site<ph name="END_LINK" /> antes de as aplicações prejudiciais terem sido removidas.</translation>
 <translation id="6047927260846328439">Este conteúdo pode tentar enganá-lo de forma a que instale software ou revele informações pessoais. <ph name="BEGIN_LINK" />Mostrar mesmo assim<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Não pode visitar <ph name="SITE" /> neste momento, porque o Website utiliza a afixação de certificados. Os erros de rede e os ataques são geralmente temporários, pelo que esta página deverá funcionar mais tarde.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Pretende utilizar os seus cartões em todos os seus dispositivos?</translation>
 <translation id="6059925163896151826">Dispositivos USB</translation>
 <translation id="6080696365213338172">Acedeu a conteúdos utilizando um certificado fornecido por um gestor. Os dados que fornecer a <ph name="DOMAIN" /> podem ser intercetados pelo seu gestor.</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">Reiniciar o Chrome</translation>
 <translation id="6529602333819889595">&amp;Refazer eliminação</translation>
 <translation id="6534179046333460208">Sugestões da Web física</translation>
+<translation id="6554795675067793129">A sua conta é gerida pelo domínio <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Refazer</translation>
 <translation id="6563469144985748109">O seu gestor ainda não o aprovou</translation>
 <translation id="6569060085658103619">Está a ver a página de uma extensão</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">Azul esverdeado</translation>
 <translation id="7064851114919012435">Informações de contacto</translation>
 <translation id="7079718277001814089">Este site contém um software malicioso</translation>
+<translation id="7081564429925484109">Aviso: Esta política não foi unida, conforme especificado na política PolicyListMultipleSourceMergeList, porque não se trata de uma lista.</translation>
 <translation id="7087282848513945231">Município</translation>
 <translation id="7090678807593890770">Pesquisar <ph name="LINK" /> no Google</translation>
 <translation id="7108338896283013870">Ocultar</translation>
@@ -1149,6 +1166,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Gerir palavras-passe…</translation>
 <translation id="7419106976560586862">Caminho do Perfil</translation>
+<translation id="7424427397225027541">Controla de que forma são processados os dados da sua conta. A Google processa os dados da sua conta exclusivamente de acordo com as orientações do gestor da conta e apenas para os fins especificados pelo mesmo.</translation>
 <translation id="7437289804838430631">Adicionar informações de contacto</translation>
 <translation id="7440140511386898319">Explorar offline</translation>
 <translation id="7441627299479586546">Assunto da política incorreto</translation>
@@ -1235,6 +1253,7 @@
 <translation id="780301667611848630">Não, obrigado</translation>
 <translation id="7805768142964895445">Estado</translation>
 <translation id="7806344367022510803">Alterar definições do motor de pesquisa no Chrome</translation>
+<translation id="7810209002420871817">Enquanto gestor da sua conta, <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Pretende remover a sugestão do formulário do Chrome?</translation>
 <translation id="7815407501681723534">Encontrados <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> para "<ph name="SEARCH_STRING" />"</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb
index 950399e..3a17ec5f 100644
--- a/components/strings/components_strings_ro.xtb
+++ b/components/strings/components_strings_ro.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="ro">
+<translation id="1001338328714563407">Fiind managerul dispozitivului și contului, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Nu acum</translation>
 <translation id="1010200102790553230">Încarcă pagina mai târziu</translation>
 <translation id="1015730422737071372">Specifică detalii suplimentare</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Clipboard</translation>
 <translation id="2587730715158995865">De la <ph name="ARTICLE_PUBLISHER" />. Citește acest articol și încă <ph name="OTHER_ARTICLE_COUNT" />.</translation>
 <translation id="2587841377698384444">ID-ul API-ului Directory:</translation>
+<translation id="2595719060046994702">Dispozitivul și contul nu sunt gestionate de o companie sau o altă organizație.</translation>
 <translation id="2597378329261239068">Acest document este protejat cu parolă. Introdu o parolă.</translation>
 <translation id="2609632851001447353">Modificări</translation>
 <translation id="2618023639789766142">C10 (Plic)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Conexiunea a fost resetată.</translation>
 <translation id="2788784517760473862">Carduri de credit acceptate</translation>
+<translation id="2792012897584536778">Administratorii acestui dispozitiv au configurat certificate de securitate cu care pot vedea conținutul site-urilor pe care le accesezi.</translation>
 <translation id="2794233252405721443">Site blocat</translation>
 <translation id="2799020568854403057">Site-ul pe care urmează să îl accesezi conține aplicații dăunătoare</translation>
 <translation id="2799223571221894425">Repornește</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Adrese</translation>
 <translation id="290376772003165898">Pagina nu este în <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">A fost detectată o schimbare a rețelei.</translation>
+<translation id="2910133103376701357">Dispozitivul și contul sunt gestionate de <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">închide celelalte programe;</translation>
 <translation id="2922350208395188000">Certificatul serverului nu poate fi verificat.</translation>
 <translation id="2925673989565098301">Metodă de livrare</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Puteți să dezactivați serverele proxy configurate pentru o conexiune din pagina de setări.</translation>
 <translation id="2955913368246107853">Închide Bara de căutare</translation>
 <translation id="2969319727213777354">Pentru a stabili o conexiune securizată, ceasul trebuie să fie setat corect, deoarece certificatele pe care site-urile le folosesc pentru a se identifica sunt valabile numai pentru anumite intervale de timp. Din moment ce ora de pe dispozitiv este incorectă, Google Chrome nu poate verifica aceste certificate.</translation>
+<translation id="2970515157925768593">Poate să modifice de la distanță configurarea dispozitivului și a contului.</translation>
 <translation id="2972581237482394796">&amp;Repetă</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" /> selectat(ă). <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Șterge datele</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Afișați o copie salvată</translation>
 <translation id="3008447029300691911">Introdu codul CVC pentru <ph name="CREDIT_CARD" />. După ce confirmi, acest site va avea acces la detaliile cardului tău.</translation>
 <translation id="3010559122411665027">Intrarea din listă „<ph name="ENTRY_INDEX" />”: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Fiind managerul dispozitivului, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Blocată automat</translation>
 <translation id="3023071826883856138">You4 (Plic)</translation>
 <translation id="3024663005179499861">Tip de politică greșit</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Descarcă când ești online</translation>
 <translation id="3293642807462928945">Află mai multe despre politica <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Nu s-au găsit rezultate de căutare</translation>
+<translation id="3311730110465560799">Poate modifica de la distanță configurarea dispozitivului.</translation>
 <translation id="3320021301628644560">Adaugă o adresă de facturare</translation>
 <translation id="3324983252691184275">Roșu aprins</translation>
 <translation id="3338095232262050444">Securizat</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">Ascunde starea</translation>
 <translation id="3765032636089507299">Pagina Navigare sigură este în construcție.</translation>
 <translation id="3778403066972421603">Dorești să salvezi acest card în Contul Google și pe acest dispozitiv?</translation>
+<translation id="3779973883630527594">Compania, școala sau organizația care gestionează acest cont:</translation>
 <translation id="3781428340399460090">Roz aprins</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Expiră în <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">A apărut o eroare la procesarea comenzii. Încearcă din nou.</translation>
 <translation id="4075732493274867456">Clientul și serverul nu acceptă o versiune a protocolului SSL sau o suită de codificare obișnuită.</translation>
 <translation id="4079302484614802869">Configurația pentru proxy este setată să utilizeze o adresă URL pentru scripturi .pac, și nu servere proxy fixe.</translation>
+<translation id="4082393374666368382">Setări - Administrator</translation>
 <translation id="4092411512356034591">Accesezi <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Urmează un site înșelător</translation>
 <translation id="4103249731201008433">Numărul de serie al gadgetului este nevalid</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">Completarea automată pentru plată este dezactivată</translation>
 <translation id="4764776831041365478">Pagina web de la <ph name="URL" /> poate fi temporar nefuncțională sau a fost mutată definitiv la o nouă adresă web.</translation>
 <translation id="4771973620359291008">A apărut o eroare necunoscută.</translation>
+<translation id="4780900888022378816">Dispozitivul este gestionat de <ph name="ENROLLMENT_DOMAIN" />, iar contul este gestionat de <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Comută la această filă</translation>
 <translation id="4798078619018708837">Introdu data de expirare și codul CVC pentru <ph name="CREDIT_CARD" /> ca să actualizezi detaliile cardului. După ce confirmi, acest site va avea acces la detaliile cardului tău din Contul Google.</translation>
 <translation id="4800132727771399293">Verifică data de expirare și codul CVC și încearcă din nou</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> afișează mesajul</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Nu există rezultate</translation>
+<translation id="4945672369594656571">Stabilește modul în care sunt gestionate datele dispozitivului și ale contului. Google prelucrează datele dispozitivului și ale contului numai sub îndrumarea managerului de dispozitiv și de cont și numai în scopurile indicate de managerul de dispozitiv și de cont.</translation>
 <translation id="4950898438188848926">Butonul Comută între file, apasă pe Enter pentru a comuta la fila deschisă, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Acțiuni</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">Textul copiat de tine</translation>
 <translation id="5018422839182700155">Pagina nu poate fi deschisă</translation>
 <translation id="5019198164206649151">Depozit de fundal în stare nevalidă</translation>
+<translation id="5020154601324912079">Stabilește cum sunt gestionate datele dispozitivului. Google prelucrează datele dispozitivului numai sub îndrumarea managerului de dispozitiv și numai în scopurile indicate de acesta.</translation>
 <translation id="5023310440958281426">Consultați politicile administratorului</translation>
 <translation id="5029568752722684782">Șterge copia</translation>
 <translation id="503069730517007720">Un certificat rădăcină pentru „<ph name="SOFTWARE_NAME" />” este necesar, dar nu este instalat. Administratorul IT trebuie să verifice instrucțiunile de configurare pentru „<ph name="SOFTWARE_NAME" />” ca să remedieze problema. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">Nu ar trebui să introduci informații sensibile pe acest site (de exemplu, parole sau carduri de credit), deoarece ar putea fi furate de atacatori.</translation>
 <translation id="5860033963881614850">Dezactivat</translation>
 <translation id="5863847714970149516">Următoarea pagină poate să genereze costuri</translation>
+<translation id="5865951947699094510">Poate să modifice de la distanță crearea contului.</translation>
 <translation id="5866257070973731571">Adaugă un număr de telefon</translation>
 <translation id="5869405914158311789">Acest site nu poate fi accesat</translation>
 <translation id="5869522115854928033">Parole salvate</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">Pe acest dispozitiv</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Nu se poate deschide aplicația de plată</translation>
+<translation id="5988826871883769516">Dispozitivul este gestionat de <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Nu sunt specificate nici servere proxy fixe și nici o adresă URL pentru scripturi .pac.</translation>
 <translation id="5990559369517809815">Solicitările trimise la server au fost blocate de o extensie.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">Dacă îți asumi riscurile de securitate, poți să <ph name="BEGIN_LINK" />accesezi acest site<ph name="END_LINK" /> înainte ca aplicațiile dăunătoare să fie eliminate.</translation>
 <translation id="6047927260846328439">Acest conținut ar putea încerca să te păcălească să instalezi software sau să dezvălui informații cu caracter personal. <ph name="BEGIN_LINK" />Afișează oricum<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Nu poți accesa <ph name="SITE" /> acum, deoarece site-ul folosește fixarea certificatelor. Erorile de rețea și atacurile sunt de obicei temporare și probabil că această pagină va funcționa mai târziu.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Folosești cardurile pe toate dispozitivele?</translation>
 <translation id="6059925163896151826">Dispozitive USB</translation>
 <translation id="6080696365213338172">Ați accesat conținut utilizând un certificat oferit de administrator. Datele pe care le transmiteți către <ph name="DOMAIN" /> pot fi interceptate de administratorul dvs.</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">repornește Chrome;</translation>
 <translation id="6529602333819889595">&amp;Repetați ștergerea</translation>
 <translation id="6534179046333460208">Sugestii pentru Webul material</translation>
+<translation id="6554795675067793129">Contul tău este administrat de <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Repetă</translation>
 <translation id="6563469144985748109">Administratorul nu l-a aprobat încă</translation>
 <translation id="6569060085658103619">Se afișează pagina unei extensii</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">Albastru verzui</translation>
 <translation id="7064851114919012435">Informații de contact</translation>
 <translation id="7079718277001814089">Acest site conține programe malware</translation>
+<translation id="7081564429925484109">Atenție: această politică nu a fost îmbinată așa cum este indicat în politica PolicyListMultipleSourceMergeList, deoarece nu este o listă.</translation>
 <translation id="7087282848513945231">Comitat</translation>
 <translation id="7090678807593890770">Caută <ph name="LINK" /> pe Google</translation>
 <translation id="7108338896283013870">Ascunde</translation>
@@ -1150,6 +1167,7 @@
 <translation id="741007362987735528">Format-Larg</translation>
 <translation id="7416351320495623771">Gestionează parolele…</translation>
 <translation id="7419106976560586862">Calea profilului</translation>
+<translation id="7424427397225027541">Stabilește cum sunt gestionate datele contului. Google prelucrează datele contului numai sub îndrumarea managerului contului și numai în scopurile indicate de acesta.</translation>
 <translation id="7437289804838430631">Adaugă informații de contact</translation>
 <translation id="7440140511386898319">Explorează în timp ce ești offline</translation>
 <translation id="7441627299479586546">Subiectul politicii este greșit</translation>
@@ -1236,6 +1254,7 @@
 <translation id="780301667611848630">Nu, mulțumesc</translation>
 <translation id="7805768142964895445">Stare</translation>
 <translation id="7806344367022510803">Modifică setările motorului de căutare în Chrome</translation>
+<translation id="7810209002420871817">Fiind managerul contului tău, <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Elimini sugestia pentru formular din Chrome?</translation>
 <translation id="7815407501681723534">S-au găsit <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> pentru „<ph name="SEARCH_STRING" />”</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb
index 09b6339..4fa5e37 100644
--- a/components/strings/components_strings_sk.xtb
+++ b/components/strings/components_strings_sk.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="sk">
+<translation id="1001338328714563407">Ako správca zariadenia a účtu, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Teraz nie</translation>
 <translation id="1010200102790553230">Načítať stránku neskôr</translation>
 <translation id="1015730422737071372">Poskytnite ďalšie podrobnosti</translation>
@@ -300,6 +301,7 @@
 <translation id="2586657967955657006">Schránka</translation>
 <translation id="2587730715158995865">Od vydavateľa <ph name="ARTICLE_PUBLISHER" />. Prečítajte si tento príbeh a ďalšie (<ph name="OTHER_ARTICLE_COUNT" />).</translation>
 <translation id="2587841377698384444">Identifikátor priečinka API:</translation>
+<translation id="2595719060046994702">Toto zariadenie a účet nespravuje spoločnosť ani iná organizácia.</translation>
 <translation id="2597378329261239068">Tento dokument je chránený heslom. Zadajte heslo.</translation>
 <translation id="2609632851001447353">Variácie</translation>
 <translation id="2618023639789766142">C10 (obálka)</translation>
@@ -334,6 +336,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Spojenie bolo resetované.</translation>
 <translation id="2788784517760473862">Akceptované kreditné karty</translation>
+<translation id="2792012897584536778">Správcovia tohto zariadenia nastavili bezpečnostné certifikáty, ktoré im môžu umožniť zobraziť obsah vami navštívených webov.</translation>
 <translation id="2794233252405721443">Web je blokovaný</translation>
 <translation id="2799020568854403057">Web, ktorý chcete otvoriť, obsahuje škodlivé aplikácie</translation>
 <translation id="2799223571221894425">Znova spustiť</translation>
@@ -350,6 +353,7 @@
 <translation id="2903493209154104877">Adresy</translation>
 <translation id="290376772003165898">Stránka nie je v jazyku <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">Zistila sa zmena siete.</translation>
+<translation id="2910133103376701357">Vaše zariadenie a účet spravuje doména <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Zavrite ostatné programy</translation>
 <translation id="2922350208395188000">Certifikát servera sa nedá overiť.</translation>
 <translation id="2925673989565098301">Spôsob doručenia</translation>
@@ -360,6 +364,7 @@
 <translation id="2948083400971632585">Môžete zakázať ktorékoľvek servery proxy nakonfigurované na pripojenie na stránke nastavení.</translation>
 <translation id="2955913368246107853">Zatvoriť panel pre vyhľadávanie</translation>
 <translation id="2969319727213777354">Ak chcete nadviazať zabezpečené pripojenie, vaše hodiny musia byť nastavené správne. Je to preto, že certifikáty, ktoré webové stránky používajú na vlastnú identifikáciu, sú platné iba určitý čas. Keďže nie sú hodiny vášho zariadenia nastavené správne, Chrome nemôže tieto certifikáty overiť.</translation>
+<translation id="2970515157925768593">Môže vzdialene zmeniť nastavenie zariadenia a účtu.</translation>
 <translation id="2972581237482394796">&amp;Dopredu</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" />, aktuálne vybraté. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Vymazať dáta</translation>
@@ -371,6 +376,7 @@
 <translation id="3005723025932146533">Zobraziť uloženú kópiu</translation>
 <translation id="3008447029300691911">Zadajte kód CVC karty <ph name="CREDIT_CARD" />. Po potvrdení budú podrobnosti o karte zdieľané s týmto webom.</translation>
 <translation id="3010559122411665027">Položka zoznamu „<ph name="ENTRY_INDEX" />“: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Ako správca tohto zariadenia, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Automaticky blokované</translation>
 <translation id="3023071826883856138">You4 (obálka)</translation>
 <translation id="3024663005179499861">Chybný typ pravidla</translation>
@@ -413,6 +419,7 @@
 <translation id="3287510313208355388">Stiahnuť po obnovení pripojenia</translation>
 <translation id="3293642807462928945">Ďalšie informácie o pravidle <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Nič sa nenašlo</translation>
+<translation id="3311730110465560799">Môže vzdialene zmeniť nastavenie zaradenia.</translation>
 <translation id="3320021301628644560">Pridanie fakturačnej adresy</translation>
 <translation id="3324983252691184275">Karmínová</translation>
 <translation id="3338095232262050444">Zabezpečené</translation>
@@ -506,6 +513,7 @@
 <translation id="3761718714832595332">Skryť stav</translation>
 <translation id="3765032636089507299">Stránka Bezpečného prehliadania sa pripravuje.</translation>
 <translation id="3778403066972421603">Chcete uložiť túto kartu do svojho účtu Google a tohto zariadenia?</translation>
+<translation id="3779973883630527594">Spoločnosť, škola alebo organizácia, ktorá spravuje tento účet:</translation>
 <translation id="3781428340399460090">Jasnoružová</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Platnosť vyprší <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -546,6 +554,7 @@
 <translation id="4072486802667267160">Pri spracovaní vašej objednávky sa vyskytla chyba. Skúste to znova.</translation>
 <translation id="4075732493274867456">Klient a server nepodporujú spoločnú verziu protokolu SSL ani šifrovaciu súpravu.</translation>
 <translation id="4079302484614802869">Konfigurácia proxy je nastavená na použitie skriptu PAC webovej adresy, nie pevne daných serverov proxy.</translation>
+<translation id="4082393374666368382">Nastavenia – správa</translation>
 <translation id="4092411512356034591">Pokračovať na <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Podvodné webové stránky</translation>
 <translation id="4103249731201008433">Sériové číslo zariadenia je neplatné</translation>
@@ -678,6 +687,7 @@
 <translation id="4759118997339041434">Automatické dopĺňanie platobných údajov je zakázané</translation>
 <translation id="4764776831041365478">Stránka <ph name="URL" /> je možno dočasne nedostupná, možno bola natrvalo presunutá na novú webovú adresu.</translation>
 <translation id="4771973620359291008">Vyskytla sa neznáma chyba.</translation>
+<translation id="4780900888022378816">Zariadenie spravuje doména <ph name="ENROLLMENT_DOMAIN" /> a váš účet spravuje <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Prepnite na túto kartu</translation>
 <translation id="4798078619018708837">Ak chcete aktualizovať údaje o karte <ph name="CREDIT_CARD" />, zadajte dátum vypršania platnosti a kód CVC. Po potvrdení sa budú údaje o karte z vášho účtu Google zdieľať s týmto webom.</translation>
 <translation id="4800132727771399293">Skontrolujte dátum vypršania platnosti aj kód CVC a skúste to znova</translation>
@@ -702,6 +712,7 @@
 <translation id="4926159001844873046">Správa z webu <ph name="SITE" /></translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Žiadne výsledky</translation>
+<translation id="4945672369594656571">Ovláda spôsob spracovania údajov zariadenia a účtu. Google spracováva údaje zariadenia a účtu výlučne podľa pokynov správcu zariadenia a účtu a výhradne na účely špecifikované správcom.</translation>
 <translation id="4950898438188848926">Tlačidlo na prepnutie karty, stlačením klávesa Enter prepnete na otvorenú kartu, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Akcie</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -715,6 +726,7 @@
 <translation id="5017554619425969104">Skopírovaný text</translation>
 <translation id="5018422839182700155">Táto stránka sa nedá otvoriť</translation>
 <translation id="5019198164206649151">Zlý stav záložného ukladacieho priestoru</translation>
+<translation id="5020154601324912079">Ovláda spôsob spracovania údajov zariadenia. Google spracováva údaje zariadenia výlučne podľa pokynov správcu zariadenia a výhradne na účely špecifikované správcom.</translation>
 <translation id="5023310440958281426">Skontrolujte pravidlá správcu</translation>
 <translation id="5029568752722684782">Vymazať kópiu</translation>
 <translation id="503069730517007720">Vyžaduje sa koreňový certifikát softvéru <ph name="SOFTWARE_NAME" />, ale nie je nainštalovaný. Váš správca IT by si mal prezrieť pokyny na konfiguráciu softvéru <ph name="SOFTWARE_NAME" /> a tento problém vyriešiť. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -872,6 +884,7 @@
 <translation id="5838278095973806738">Na tomto webe by ste nemali zadávať citlivé údaje, napríklad heslá alebo kreditné karty, pretože by ich mohli ukradnúť útočníci.</translation>
 <translation id="5860033963881614850">Vypnuté</translation>
 <translation id="5863847714970149516">Stránka, na ktorú sa chystáte prejsť, vám môže účtovať poplatky</translation>
+<translation id="5865951947699094510">Môže vzdialene zmeniť nastavenie účtu.</translation>
 <translation id="5866257070973731571">Pridanie telefónneho čísla</translation>
 <translation id="5869405914158311789">Tento web je nedostupný</translation>
 <translation id="5869522115854928033">Uložené heslá</translation>
@@ -892,6 +905,7 @@
 <translation id="5977976211062815271">V tomto zariadení</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Nie je možné otvoriť platobnú aplikáciu</translation>
+<translation id="5988826871883769516">Vaše zariadenie spravuje organizácia <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Nie sú určené pevne dané servery proxy ani skript PAC webovej adresy.</translation>
 <translation id="5990559369517809815">Žiadosti odoslané serveru boli zablokované rozšírením.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -909,6 +923,7 @@
 <translation id="6047233362582046994">Ak si uvedomujete bezpečnostné riziko, môžete <ph name="BEGIN_LINK" />tento web navštíviť<ph name="END_LINK" /> ešte skôr, ako budú škodlivé aplikácie odstránené.</translation>
 <translation id="6047927260846328439">Tento obsah sa vás môže podvodom pokúsiť presvedčiť, aby ste si nainštalovali softvér alebo poskytli osobné informácie. <ph name="BEGIN_LINK" />Napriek tomu zobraziť<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Web <ph name="SITE" /> momentálne nemôžete navštíviť, pretože používa pripínanie certifikátov. Chyby siete a útoky sú zvyčajne dočasné, takže by táto stránka mala neskôr pravdepodobne fungovať.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Chcete použiť svoje karty vo všetkých zariadeniach?</translation>
 <translation id="6059925163896151826">Zariadenia USB</translation>
 <translation id="6080696365213338172">K obsahu ste pristúpili pomocou certifikátu, ktorý poskytol správca. Údaje, ktoré poskytnete doméne <ph name="DOMAIN" /> môžu byť zachytené správcom.</translation>
@@ -977,6 +992,7 @@
 <translation id="6508722015517270189">Reštartujte Chrome</translation>
 <translation id="6529602333819889595">&amp;Znova odstrániť</translation>
 <translation id="6534179046333460208">Návrhy Fyzického webu</translation>
+<translation id="6554795675067793129">Váš účet spravuje doména <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Znova</translation>
 <translation id="6563469144985748109">Váš správca to zatiaľ neschválil</translation>
 <translation id="6569060085658103619">Prezeráte si stránku s rozšíreniami</translation>
@@ -1061,6 +1077,7 @@
 <translation id="7062635574500127092">Modrozelená</translation>
 <translation id="7064851114919012435">Kontaktné informácie</translation>
 <translation id="7079718277001814089">Tento web obsahuje malvér</translation>
+<translation id="7081564429925484109">Upozornenie: Toto pravidlo nebolo zlúčené podľa špecifikácií pravidla PolicyListMultipleSourceMergeList, pretože to nie je zoznam.</translation>
 <translation id="7087282848513945231">Okres</translation>
 <translation id="7090678807593890770">Vyhľadajte na Googli výraz <ph name="LINK" /></translation>
 <translation id="7108338896283013870">Skryť</translation>
@@ -1134,6 +1151,7 @@
 <translation id="741007362987735528">Široký formát</translation>
 <translation id="7416351320495623771">Spravovať heslá…</translation>
 <translation id="7419106976560586862">Cesta profilu</translation>
+<translation id="7424427397225027541">Ovláda spôsob spracovania údajov účtu. Google spracováva údaje účtu výlučne podľa pokynov správcu účtu a výhradne na účely špecifikované správcom.</translation>
 <translation id="7437289804838430631">Pridať kontaktné informácie</translation>
 <translation id="7440140511386898319">Prieskum v režime offline</translation>
 <translation id="7441627299479586546">Chybný predmet pravidla</translation>
@@ -1220,6 +1238,7 @@
 <translation id="780301667611848630">Nie, ďakujem</translation>
 <translation id="7805768142964895445">Stav</translation>
 <translation id="7806344367022510803">Zmeňte nastavenia vyhľadávača v Chrome</translation>
+<translation id="7810209002420871817">Ako správca účtu <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Chcete návrh odstrániť z prehliadača Chrome?</translation>
 <translation id="7815407501681723534">Nájdené výsledky (počet: <ph name="NUMBER_OF_RESULTS" />) pre dopyt „<ph name="SEARCH_STRING" />“: <ph name="SEARCH_RESULTS" /></translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index 05b9190..4991e80e 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="sr">
+<translation id="1001338328714563407">Као менаџер вашег уређаја и налога, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Не сада</translation>
 <translation id="1010200102790553230">Касније учитај страницу</translation>
 <translation id="1015730422737071372">Наведите додатне детаље</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Меморија</translation>
 <translation id="2587730715158995865">Од издавача <ph name="ARTICLE_PUBLISHER" />. Прочитајте овај чланак вести и још <ph name="OTHER_ARTICLE_COUNT" /> чланака.</translation>
 <translation id="2587841377698384444">ИД API-ја за директоријуме:</translation>
+<translation id="2595719060046994702">Овим уређајем и налогом не управља компанија нити друга организација.</translation>
 <translation id="2597378329261239068">Овај документ је заштићен лозинком. Унесите лозинку.</translation>
 <translation id="2609632851001447353">Варијације</translation>
 <translation id="2618023639789766142">C10 (коверат)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Веза је враћена на почетне вредности.</translation>
 <translation id="2788784517760473862">Кредитне картице које се прихватају</translation>
+<translation id="2792012897584536778">Администратори овог уређаја су подесили безбедносне сертификате који могу да им омогуће да виде садржај веб-сајтова које посећујете.</translation>
 <translation id="2794233252405721443">Сајт је блокиран</translation>
 <translation id="2799020568854403057">Сајт који ћете посетити садржи штетне апликације</translation>
 <translation id="2799223571221894425">Поново покрени</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Адресе</translation>
 <translation id="290376772003165898">Ова страница није на језику <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">Откривена је промена на мрежи.</translation>
+<translation id="2910133103376701357">Уређајем и налогом управља <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Затворите друге програме</translation>
 <translation id="2922350208395188000">Није могуће проверити сертификат сервера.</translation>
 <translation id="2925673989565098301">Начин испоруке</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">На страници Подешавања можете да онемогућите све проксије конфигурисане за везу.</translation>
 <translation id="2955913368246107853">Затворите траку за проналажење</translation>
 <translation id="2969319727213777354">Да бисте успоставили безбедну везу, сат на уређају мора да буде тачан. То је зато што сертификати које веб-сајтови користе за идентификацију важе само за одређене временске периоде. Пошто сат на вашем уређају није тачан, Google Chrome не може да верификује те сертификате.</translation>
+<translation id="2970515157925768593">Може даљински да промени подешавање уређаја и налога.</translation>
 <translation id="2972581237482394796">&amp;Понови радњу</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" />, тренутно изабрано. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Обриши податке</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Прикажи сачувану копију</translation>
 <translation id="3008447029300691911">Унесите CVC за картицу <ph name="CREDIT_CARD" />. Када будете потврдили, подаци о картици ће бити послати овом сајту.</translation>
 <translation id="3010559122411665027">Унос на листи „<ph name="ENTRY_INDEX" />“: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Као менаџер овог уређаја, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Аутоматски је блокирано</translation>
 <translation id="3023071826883856138">You4 (коверат)</translation>
 <translation id="3024663005179499861">Погрешан тип смерница</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Преузми када сам онлајн</translation>
 <translation id="3293642807462928945">Сазнајте више о смерницама <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Нису пронађени резултати претраге</translation>
+<translation id="3311730110465560799">Може даљински да мења подешавање уређаја.</translation>
 <translation id="3320021301628644560">Додајте адресу за обрачун</translation>
 <translation id="3324983252691184275">Јаркоцрвена</translation>
 <translation id="3338095232262050444">Безбедан</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">Сакриј статус</translation>
 <translation id="3765032636089507299">Радови на страници Безбедно прегледање су у току.</translation>
 <translation id="3778403066972421603">Да ли желите да сачувате ову картицу на Google налогу и на овом уређају?</translation>
+<translation id="3779973883630527594">Компанија, школа или организација која управља овим налогом:</translation>
 <translation id="3781428340399460090">Јаркорозе</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Истиче <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">Дошло је до грешке при обради поруџбине. Пробајте поново.</translation>
 <translation id="4075732493274867456">Клијент и сервер не подржавају исту верзију SSL протокола или пакет за шифровање.</translation>
 <translation id="4079302484614802869">Конфигурација проксија је подешена да користи URL адресу .pac скрипте, а не фиксне прокси сервере.</translation>
+<translation id="4082393374666368382">Подешавања – управљање</translation>
 <translation id="4092411512356034591">Желите ли да наставите до <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Пред вама је обмањујући сајт</translation>
 <translation id="4103249731201008433">Серијски број уређаја је неважећи</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">Аутоматско попуњавање плаћања је онемогућено</translation>
 <translation id="4764776831041365478">Могуће је да веб-страница на адреси <ph name="URL" /> привремено не функционише или да је трајно премештена на нову веб адресу.</translation>
 <translation id="4771973620359291008">Дошло је до непознате грешке.</translation>
+<translation id="4780900888022378816">Уређајем управља <ph name="ENROLLMENT_DOMAIN" />, а налогом <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Пређите на ову картицу</translation>
 <translation id="4798078619018708837">Унесите рок трајања и CVC за картицу <ph name="CREDIT_CARD" /> да бисте ажурирали податке о картици. Када будете потврдили, подаци о картици са Google налога ће се делити са овим сајтом.</translation>
 <translation id="4800132727771399293">Проверите датум истека и CVC и покушајте поново</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> наводи:</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Нема резултата</translation>
+<translation id="4945672369594656571">Контролише како се рукује подацима са уређаја и налога. Google обрађује податке са уређаја и налога искључиво по упутству менаџера уређаја и налога и само у сврхе које он наведе.</translation>
 <translation id="4950898438188848926">Дугме за промену картице, притисните Enter да бисте прешли на отворену картицу, <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Радње</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">Текст који сте копирали</translation>
 <translation id="5018422839182700155">Не можемо да отворимо ову страницу</translation>
 <translation id="5019198164206649151">Складиште тока података је у лошем стању</translation>
+<translation id="5020154601324912079">Контролише како се рукује подацима са уређаја. Google обрађује податке са уређаја искључиво по упутству менаџера уређаја и само у сврхе које он наведе.</translation>
 <translation id="5023310440958281426">Проверите смернице администратора</translation>
 <translation id="5029568752722684782">Обриши копију</translation>
 <translation id="503069730517007720">Основни сертификат за софтвер „<ph name="SOFTWARE_NAME" />“ је обавезан, али није инсталиран. ИТ администратор треба да прегледа упутства за конфигурацију софтвера „<ph name="SOFTWARE_NAME" />“ да би решио овај проблем. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">Немојте да уносите осетљиве информације на овом сајту (на пример, лозинке или кредитне картице) јер нападачи могу да их украду.</translation>
 <translation id="5860033963881614850">Искључено</translation>
 <translation id="5863847714970149516">Следећа страница може да покуша да вам нешто наплати</translation>
+<translation id="5865951947699094510">Може даљински да мења подешавање налога.</translation>
 <translation id="5866257070973731571">Додајте број телефона</translation>
 <translation id="5869405914158311789">Овај сајт није доступан</translation>
 <translation id="5869522115854928033">Сачуване лозинке</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">На овом уређају</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Отварање апликације за плаћање није успело</translation>
+<translation id="5988826871883769516">Уређајем управља <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Нису наведени ни фиксни прокси сервери нити URL адреса .pac скрипте.</translation>
 <translation id="5990559369517809815">Додатак је блокирао захтеве упућене серверу.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">Ако разумете безбедносне ризике, можете да <ph name="BEGIN_LINK" />посетите овај сајт<ph name="END_LINK" /> пре него што уклонимо штетне апликације.</translation>
 <translation id="6047927260846328439">Овај садржај ће покушати да вас превари да инсталирате софтвер или откријете личне податке. <ph name="BEGIN_LINK" />Ипак прикажи<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Тренутно не можете да посетите <ph name="SITE" /> јер веб-сајт користи проверу сертификата. Грешке и напади на мрежи су обично привремени, па ће ова страница вероватно функционисати касније.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Желите ли да користите картице на свим уређајима?</translation>
 <translation id="6059925163896151826">USB уређаји</translation>
 <translation id="6080696365213338172">Приступали сте садржају помоћу сертификата који је обезбедио администратор. Администратор може да пресретне податке које обезбедите домену <ph name="DOMAIN" />.</translation>
@@ -989,6 +1004,7 @@
 <translation id="6508722015517270189">Поново покрените Chrome</translation>
 <translation id="6529602333819889595">&amp;Понови брисање</translation>
 <translation id="6534179046333460208">Предлози Интернета око нас</translation>
+<translation id="6554795675067793129">Вашим налогом управља <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Понови</translation>
 <translation id="6563469144985748109">Менаџер га још увек није одобрио</translation>
 <translation id="6569060085658103619">Прегледате страницу додатка.</translation>
@@ -1073,6 +1089,7 @@
 <translation id="7062635574500127092">Тиркизна</translation>
 <translation id="7064851114919012435">Контакт информације</translation>
 <translation id="7079718277001814089">Овај сајт садржи малвер</translation>
+<translation id="7081564429925484109">Упозорење: Ове смернице нису обједињене на начин наведен у смерницама PolicyListMultipleSourceMergeList зато што нису листа.</translation>
 <translation id="7087282848513945231">Округ</translation>
 <translation id="7090678807593890770">Потражите <ph name="LINK" /> на Google-у</translation>
 <translation id="7108338896283013870">Сакриј</translation>
@@ -1149,6 +1166,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Управљај лозинкама...</translation>
 <translation id="7419106976560586862">Путања профила</translation>
+<translation id="7424427397225027541">Контролише како се рукује подацима са налога. Google обрађује податке са налога искључиво по упутству менаџера налога и само у сврхе које он наведе.</translation>
 <translation id="7437289804838430631">Додај контакт информације</translation>
 <translation id="7440140511386898319">Истражујте док сте офлајн</translation>
 <translation id="7441627299479586546">Погрешан субјекат смерница</translation>
@@ -1235,6 +1253,7 @@
 <translation id="780301667611848630">Не, хвала</translation>
 <translation id="7805768142964895445">Статус</translation>
 <translation id="7806344367022510803">Промените подешавања претраживача у Chrome-у</translation>
+<translation id="7810209002420871817">Као менаџер вашег налога, <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Желите ли да уклоните предлог из Chrome-а?</translation>
 <translation id="7815407501681723534">Пронашли смо <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> за „<ph name="SEARCH_STRING" />“</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb
index e3465f0..43da983a 100644
--- a/components/strings/components_strings_sv.xtb
+++ b/components/strings/components_strings_sv.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="sv">
+<translation id="1001338328714563407">Som ansvarig för enheten och kontot, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">Inte nu</translation>
 <translation id="1010200102790553230">Läs in sidan senare</translation>
 <translation id="1015730422737071372">Ange ytterligare information</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">Urklipp</translation>
 <translation id="2587730715158995865">Från <ph name="ARTICLE_PUBLISHER" />. Läs denna och <ph name="OTHER_ARTICLE_COUNT" /> andra artiklar.</translation>
 <translation id="2587841377698384444">Id för katalog-API:</translation>
+<translation id="2595719060046994702">Enheten och kontot hanteras inte av ett företag eller annan organisation.</translation>
 <translation id="2597378329261239068">Dokumentet är lösenordsskyddat. Ange ett lösenord.</translation>
 <translation id="2609632851001447353">Varianter</translation>
 <translation id="2618023639789766142">C10 (kuvert)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Anslutningen  återställdes.</translation>
 <translation id="2788784517760473862">Godkända kreditkort</translation>
+<translation id="2792012897584536778">Den här enhetens administratör har konfigurerat säkerhetscertifikat som kan tillåta den att se innehållet på webbplatser du besöker.</translation>
 <translation id="2794233252405721443">Webbplatsen har blockerats</translation>
 <translation id="2799020568854403057">Det finns skadliga appar på webbplatsen du är på väg till</translation>
 <translation id="2799223571221894425">Starta om</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">Adresser</translation>
 <translation id="290376772003165898">Är sidan inte på <ph name="LANGUAGE" />?</translation>
 <translation id="2909946352844186028">En nätverksförändring upptäcktes.</translation>
+<translation id="2910133103376701357">Enheten och kontot hanteras av <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="2916038427272391327">Stäng andra program</translation>
 <translation id="2922350208395188000">Servercertifikatet kan inte kontrolleras.</translation>
 <translation id="2925673989565098301">Leveranssätt</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">Du kan inaktivera alla proxyservrar som har konfigurerats för en anslutning från sidan Inställningar.</translation>
 <translation id="2955913368246107853">Stäng sökfältet</translation>
 <translation id="2969319727213777354">Om du vill upprätta en säker anslutning måste klockan vara rätt inställd. Det beror på att certifikaten som webbplatserna använder för att identifiera sig har en bestämd giltighetstid. Google Chrome kan inte verifiera certifikaten eftersom klockan på enheten inte går rätt.</translation>
+<translation id="2970515157925768593">Kan ändra enhets- och kontokonfigurationen via fjärranslutning.</translation>
 <translation id="2972581237482394796">&amp;Upprepa</translation>
 <translation id="2977665033722899841"><ph name="ROW_NAME" /> är markerad just nu. <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">Rensa data</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">Visa sparad kopia</translation>
 <translation id="3008447029300691911">Ange CVC-koden för <ph name="CREDIT_CARD" />. När du bekräftar delas kortinformationen med den här webbplatsen.</translation>
 <translation id="3010559122411665027">Listposten <ph name="ENTRY_INDEX" />: <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">Som ansvarig för enheten, <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">Blockerades automatiskt</translation>
 <translation id="3023071826883856138">You4 (kuvert)</translation>
 <translation id="3024663005179499861">Felaktig policytyp</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">Ladda ned när du är online</translation>
 <translation id="3293642807462928945">Läs mer om principen <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">Inga sökresultat hittades</translation>
+<translation id="3311730110465560799">Kan ändra enhetskonfigureringen via fjärranslutning.</translation>
 <translation id="3320021301628644560">Lägg till faktureringsadress</translation>
 <translation id="3324983252691184275">Karmosinröd</translation>
 <translation id="3338095232262050444">Säker</translation>
@@ -518,6 +525,7 @@
 <translation id="3761718714832595332">Dölj status</translation>
 <translation id="3765032636089507299">Sidan Säker webbsökning är under utveckling</translation>
 <translation id="3778403066972421603">Vill du spara det här kortet i Google-kontot och på den här enheten?</translation>
+<translation id="3779973883630527594">Företaget, skolan eller organisationen som hanterar kontot:</translation>
 <translation id="3781428340399460090">Cerise</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">Utgångsdatum: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -558,6 +566,7 @@
 <translation id="4072486802667267160">Det gick inte att behandla beställningen. Försök igen.</translation>
 <translation id="4075732493274867456">Klienten och servern har inte stöd för en gemensam SSL-protokollversion eller chiffersvit.</translation>
 <translation id="4079302484614802869">Proxykonfigurationen är inställd på att använda en webbadress med PAC-skript, inte fasta proxyservrar.</translation>
+<translation id="4082393374666368382">Inställningar – hantering</translation>
 <translation id="4092411512356034591">Vill du fortsätta till <ph name="DOMAIN" />?</translation>
 <translation id="4098354747657067197">Webbplatsen som öppnas är bedräglig</translation>
 <translation id="4103249731201008433">Enhetens serienummer är ogiltigt</translation>
@@ -690,6 +699,7 @@
 <translation id="4759118997339041434">Autofyll för betalning har inaktiverats</translation>
 <translation id="4764776831041365478">Webbsidan på <ph name="URL" /> kan ligga nere för tillfället eller kan ha flyttats permanent till en ny webbadress.</translation>
 <translation id="4771973620359291008">Ett okänt fel uppstod.</translation>
+<translation id="4780900888022378816">Enheten hanteras av <ph name="ENROLLMENT_DOMAIN" /> och kontot hanteras av <ph name="ACCOUNT_DOMAIN" />.</translation>
 <translation id="4785689107224900852">Byt till den här fliken</translation>
 <translation id="4798078619018708837">Uppdatera kortinformationen genom att ange sista giltighetsdatum och CVC-kod för <ph name="CREDIT_CARD" />. När du bekräftar delas kortuppgifter från ditt Google-konto med webbplatsen.</translation>
 <translation id="4800132727771399293">Kontrollera utgångsdatum och CVC-kod och försök igen</translation>
@@ -714,6 +724,7 @@
 <translation id="4926159001844873046">Från <ph name="SITE" />:</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">Inga resultat</translation>
+<translation id="4945672369594656571">Styr hur enhets- och kontodata hanteras. Google behandlar endast enhetens och kontots data i enlighet med anvisningarna från den ansvariga för enheten och kontot och endast i de syften som anges av den ansvariga för enheten och kontot.</translation>
 <translation id="4950898438188848926">Knapp för flikbyte. Tryck på retur för att byta till den öppna fliken <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">Åtgärder</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -727,6 +738,7 @@
 <translation id="5017554619425969104">Texten som du kopierade</translation>
 <translation id="5018422839182700155">Det går inte att öppna den här sidan</translation>
 <translation id="5019198164206649151">Säkerhetskopian har dålig status</translation>
+<translation id="5020154601324912079">Styr hur enhetens data hanteras. Google behandlar endast enhetens data i enlighet med enhetshanterarens anvisningar och endast i de syften som anges av enhetshanteraren.</translation>
 <translation id="5023310440958281426">Kontrollera administratörsprinciperna</translation>
 <translation id="5029568752722684782">Ta bort kopia</translation>
 <translation id="503069730517007720">Ett rotcertifikat för <ph name="SOFTWARE_NAME" /> krävs men har inte installerats. IT-administratören bör granska konfigurationsanvisningarna för <ph name="SOFTWARE_NAME" /> och åtgärda problemet. <ph name="FURTHER_EXPLANATION" /></translation>
@@ -884,6 +896,7 @@
 <translation id="5838278095973806738">Du bör inte ange några känsliga uppgifter på den här webbplatsen (till exempel lösenord eller kreditkortsuppgifter) eftersom hackare kan stjäla dem.</translation>
 <translation id="5860033963881614850">Av</translation>
 <translation id="5863847714970149516">Sidan du är på väg till kan försöka debitera dig</translation>
+<translation id="5865951947699094510">Kan ändra kontokonfigureringen via fjärranslutning.</translation>
 <translation id="5866257070973731571">Ange telefonnummer</translation>
 <translation id="5869405914158311789">Webbplatsen kan inte nås</translation>
 <translation id="5869522115854928033">Sparade lösenord</translation>
@@ -904,6 +917,7 @@
 <translation id="5977976211062815271">På den här enheten</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">Det gick inte att öppna betalningsappen</translation>
+<translation id="5988826871883769516">Enheten hanteras av <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="5989320800837274978">Varken fasta proxyservrar eller en webbadress med PAC-skript har angetts.</translation>
 <translation id="5990559369517809815">Förfrågningar till servern har blockerats av ett tillägg.</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -921,6 +935,7 @@
 <translation id="6047233362582046994">Om du är medveten om säkerhetsriskerna kan du <ph name="BEGIN_LINK" />besöka webbplatsen<ph name="END_LINK" /> innan de skadliga apparna har tagits bort.</translation>
 <translation id="6047927260846328439">Sidan kan ha till syfte att försöka lura dig att installera programvara eller avslöja personliga uppgifter. <ph name="BEGIN_LINK" />Visa ändå<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">Du kan inte besöka <ph name="SITE" /> just nu eftersom tekniken att fästa certifikat används på webbplatsen. Nätverksfel och attacker är ofta tillfälliga, så sidan kommer förmodligen att fungera senare.</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">Vill du använda dina kort på alla enheter?</translation>
 <translation id="6059925163896151826">USB-enheter</translation>
 <translation id="6080696365213338172">Du har visat innehåll med hjälp av ett certifikat från en administratör. Det innebär att data som du har angett på <ph name="DOMAIN" /> även kan visas av administratören.</translation>
@@ -990,6 +1005,7 @@
 <translation id="6508722015517270189">Starta om Chrome</translation>
 <translation id="6529602333819889595">&amp;Gör om Ta bort</translation>
 <translation id="6534179046333460208">Förslag från Physical Web</translation>
+<translation id="6554795675067793129">Kontot hanteras av <ph name="ENROLLMENT_DOMAIN" />.</translation>
 <translation id="6556866813142980365">Upprepa</translation>
 <translation id="6563469144985748109">Den ansvarige har inte godkänt den ännu</translation>
 <translation id="6569060085658103619">Du visar en tilläggssida</translation>
@@ -1074,6 +1090,7 @@
 <translation id="7062635574500127092">Blågrön</translation>
 <translation id="7064851114919012435">Kontaktuppgifter</translation>
 <translation id="7079718277001814089">Webbplatsen innehåller skadlig programvara.</translation>
+<translation id="7081564429925484109">Varning! Den här principen har inte slagits samman enligt specifikationen i principen PolicyListMultipleSourceMergeList eftersom den inte är en lista.</translation>
 <translation id="7087282848513945231">Kommun</translation>
 <translation id="7090678807593890770">Sök efter <ph name="LINK" /> på Google</translation>
 <translation id="7108338896283013870">Dölj</translation>
@@ -1150,6 +1167,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">Hantera lösenord …</translation>
 <translation id="7419106976560586862">Profilsökväg</translation>
+<translation id="7424427397225027541">Styr hur kontots data hanteras. Google behandlar endast kontots data i enlighet med den kontoansvarigas anvisningar och endast i de syften som anges av den kontoansvariga.</translation>
 <translation id="7437289804838430631">Lägg till kontaktuppgifter</translation>
 <translation id="7440140511386898319">Utforska medan du är offline</translation>
 <translation id="7441627299479586546">Felaktigt policyämne</translation>
@@ -1236,6 +1254,7 @@
 <translation id="780301667611848630">Nej tack</translation>
 <translation id="7805768142964895445">Status</translation>
 <translation id="7806344367022510803">Inställningar för att ändra sökmotor i Chrome</translation>
+<translation id="7810209002420871817">Som ansvarig för kontot, <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">Vill du ta bort formulärförslaget från Chrome?</translation>
 <translation id="7815407501681723534">Hittade <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> för <ph name="SEARCH_STRING" /></translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb
index 02c4ac1..864c124a 100644
--- a/components/strings/components_strings_th.xtb
+++ b/components/strings/components_strings_th.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="th">
+<translation id="1001338328714563407">ในฐานะผู้จัดการอุปกรณ์และบัญชีของคุณ <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="1008557486741366299">ไม่ใช่ตอนนี้</translation>
 <translation id="1010200102790553230">โหลดหน้าภายหลัง</translation>
 <translation id="1015730422737071372">ให้รายละเอียดเพิ่มเติม</translation>
@@ -308,6 +309,7 @@
 <translation id="2586657967955657006">คลิปบอร์ด</translation>
 <translation id="2587730715158995865">จาก <ph name="ARTICLE_PUBLISHER" /> อ่านเรื่องราวนี้และอื่นๆ อีก <ph name="OTHER_ARTICLE_COUNT" /> เรื่อง</translation>
 <translation id="2587841377698384444">รหัส API ไดเรกทอรี:</translation>
+<translation id="2595719060046994702">อุปกรณ์และบัญชีนี้ไม่ได้จัดการโดยบริษัทหรือองค์กรอื่น</translation>
 <translation id="2597378329261239068">เอกสารนี้ได้รับการป้องกันด้วยรหัสผ่าน โปรดป้อนรหัสผ่าน</translation>
 <translation id="2609632851001447353">รูปแบบต่างๆ</translation>
 <translation id="2618023639789766142">C10 (ซองจดหมาย)</translation>
@@ -342,6 +344,7 @@
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">การเชื่อมต่อได้รับการรีเซ็ตแล้ว</translation>
 <translation id="2788784517760473862">บัตรเครดิตที่ยอมรับ</translation>
+<translation id="2792012897584536778">ผู้ดูแลระบบของอุปกรณ์นี้ได้ตั้งค่าใบรับรองความปลอดภัยที่อาจอนุญาตให้ตนดูเนื้อหาของเว็บไซต์ที่คุณเข้าชมได้</translation>
 <translation id="2794233252405721443">เว็บไซต์ที่ถูกบล็อก</translation>
 <translation id="2799020568854403057">เว็บไซต์ที่จะเปิดมีแอปอันตราย</translation>
 <translation id="2799223571221894425">เปิดใหม่</translation>
@@ -358,6 +361,7 @@
 <translation id="2903493209154104877">ที่อยู่</translation>
 <translation id="290376772003165898">หน้านี้ไม่ใช่ภาษา<ph name="LANGUAGE" />ใช่ไหม</translation>
 <translation id="2909946352844186028">ตรวจพบการเปลี่ยนแปลงเครือข่าย</translation>
+<translation id="2910133103376701357">อุปกรณ์และบัญชีของคุณจัดการโดย <ph name="ENROLLMENT_DOMAIN" /></translation>
 <translation id="2916038427272391327">ปิดโปรแกรมอื่นๆ</translation>
 <translation id="2922350208395188000">ไม่สามารถตรวจสอบใบรับรองของเซิร์ฟเวอร์</translation>
 <translation id="2925673989565098301">วิธีการนำส่งสินค้า</translation>
@@ -368,6 +372,7 @@
 <translation id="2948083400971632585">คุณสามารถปิดใช้งานพร็อกซีที่กำหนดค่าสำหรับการเชื่อมต่อจากหน้าการตั้งค่าได้</translation>
 <translation id="2955913368246107853">ปิดแถบค้นหา</translation>
 <translation id="2969319727213777354">หากต้องการสร้างการเชื่อมต่อที่ปลอดภัย คุณต้องตั้งค่านาฬิกาให้ถูกต้องเนื่องจากใบรับรองที่เว็บไซต์ใช้เพื่อระบุตัวตนจะใช้ได้ในช่วงเวลาที่เจาะจงเท่านั้น แต่เนื่องจากนาฬิกาของอุปกรณ์ไม่ถูกต้อง Google Chrome จึงไม่สามารถยืนยันใบรับรองเหล่านี้</translation>
+<translation id="2970515157925768593">เปลี่ยนการตั้งค่าอุปกรณ์และบัญชีจากระยะไกลได้</translation>
 <translation id="2972581237482394796">&amp;ทำซ้ำ</translation>
 <translation id="2977665033722899841">เลือก <ph name="ROW_NAME" /> อยู่ตอนนี้ <ph name="ROW_CONTENT" /></translation>
 <translation id="2982481275546140226">ล้างข้อมูล</translation>
@@ -379,6 +384,7 @@
 <translation id="3005723025932146533">แสดงสำเนาที่บันทึกไว้</translation>
 <translation id="3008447029300691911">ป้อน CVC สำหรับ <ph name="CREDIT_CARD" /> เมื่อยืนยันแล้ว รายละเอียดบัตรของคุณจะแชร์กับเว็บไซต์นี้</translation>
 <translation id="3010559122411665027">รายการที่เข้ามา "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
+<translation id="3014389611820813634">ในฐานะผู้จัดการของอุปกรณ์นี้ <ph name="ENROLLMENT_DOMAIN" />:</translation>
 <translation id="301521992641321250">ถูกบล็อกโดยอัตโนมัติ</translation>
 <translation id="3023071826883856138">You4 (ซองจดหมาย)</translation>
 <translation id="3024663005179499861">ประเภทนโยบายไม่ถูกต้อง</translation>
@@ -424,6 +430,7 @@
 <translation id="3287510313208355388">ดาวน์โหลดเมื่อออนไลน์</translation>
 <translation id="3293642807462928945">ดูข้อมูลเพิ่มเติมเกี่ยวกับนโยบาย <ph name="POLICY_NAME" /></translation>
 <translation id="3303855915957856445">ไม่พบผลการค้นหา</translation>
+<translation id="3311730110465560799">เปลี่ยนการตั้งค่าอุปกรณ์จากระยะไกลได้</translation>
 <translation id="3320021301628644560">เพิ่มที่อยู่สำหรับการเรียกเก็บเงิน</translation>
 <translation id="3324983252691184275">แดงเข้ม</translation>
 <translation id="3338095232262050444">ปลอดภัย</translation>
@@ -517,6 +524,7 @@
 <translation id="3761718714832595332">ซ่อนสถานะ</translation>
 <translation id="3765032636089507299">หน้า Google Safe Browsing อยู่ในระหว่างการปรับปรุง</translation>
 <translation id="3778403066972421603">คุณต้องการบันทึกบัตรนี้ลงในบัญชี Google และในอุปกรณ์นี้ไหม</translation>
+<translation id="3779973883630527594">บริษัท โรงเรียน หรือองค์กรที่จัดการบัญชีนี้:</translation>
 <translation id="3781428340399460090">ชมพูเจิดจ้า</translation>
 <translation id="3783418713923659662">Mastercard</translation>
 <translation id="3787705759683870569">หมดอายุ <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
@@ -557,6 +565,7 @@
 <translation id="4072486802667267160">เกิดข้อผิดพลาดในการประมวลผลคำสั่งซื้อของคุณ โปรดลองอีกครั้ง</translation>
 <translation id="4075732493274867456">ไคลเอ็นต์และเซิร์ฟเวอร์ไม่รองรับโปรโตคอล SSL เวอร์ชันทั่วไปหรือชุดการเข้ารหัส</translation>
 <translation id="4079302484614802869">การกำหนดค่าพร็อกซีมีการตั้งค่าให้ใช้ URL สคริปต์ .pac ไม่ใช่พร็อกซีเซิร์ฟเวอร์แบบคงที่</translation>
+<translation id="4082393374666368382">การตั้งค่า - การจัดการ</translation>
 <translation id="4092411512356034591">ไปที่ <ph name="DOMAIN" /> ไหม</translation>
 <translation id="4098354747657067197">เว็บไซต์ข้างหน้ามีการหลอกลวง</translation>
 <translation id="4103249731201008433">หมายเลขซีเรียลของอุปกรณ์ไม่ถูกต้อง</translation>
@@ -689,6 +698,7 @@
 <translation id="4759118997339041434">ปิดใช้การป้อนการชำระเงินอัตโนมัติแล้ว</translation>
 <translation id="4764776831041365478">หน้าเว็บใน <ph name="URL" /> อาจหยุดให้บริการชั่วคราวหรืออาจถูกย้ายไปยังที่อยู่เว็บใหม่อย่างถาวร</translation>
 <translation id="4771973620359291008">มีข้อผิดพลาดที่ไม่ทราบเกิดขึ้น</translation>
+<translation id="4780900888022378816">อุปกรณ์ของคุณจัดการโดย <ph name="ENROLLMENT_DOMAIN" /> และบัญชีของคุณจัดการโดย <ph name="ACCOUNT_DOMAIN" /></translation>
 <translation id="4785689107224900852">เปลี่ยนเป็นแท็บนี้</translation>
 <translation id="4798078619018708837">ป้อนวันที่หมดอายุและ CVC ของ <ph name="CREDIT_CARD" /> เพื่ออัปเดตรายละเอียดของบัตร เมื่อยืนยันแล้ว ระบบจะแชร์รายละเอียดของบัตรจากบัญชี Google กับเว็บไซต์นี้</translation>
 <translation id="4800132727771399293">ตรวจสอบวันหมดอายุและ CVC แล้วลองอีกครั้ง</translation>
@@ -713,6 +723,7 @@
 <translation id="4926159001844873046"><ph name="SITE" /> บอกว่า</translation>
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4943872375798546930">ไม่มีผลการค้นหา</translation>
+<translation id="4945672369594656571">ควบคุมวิธีจัดการข้อมูลอุปกรณ์และบัญชีของคุณ Google ประมวลผลข้อมูลอุปกรณ์และบัญชีภายใต้คำแนะนำของผู้จัดการอุปกรณ์และบัญชีของคุณโดยเฉพาะและตามวัตถุประสงค์ที่ผู้จัดการอุปกรณ์และบัญชีระบุไว้เท่านั้น</translation>
 <translation id="4950898438188848926">ปุ่มเปลี่ยนแท็บ โปรดกด Enter เพื่อเปลี่ยนไปยังแท็บที่เปิดอยู่ <ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="495170559598752135">การทำงาน</translation>
 <translation id="4955242332710481440">A5-Extra</translation>
@@ -726,6 +737,7 @@
 <translation id="5017554619425969104">ข้อความที่คุณคัดลอก</translation>
 <translation id="5018422839182700155">ไม่สามารถเปิดหน้านี้</translation>
 <translation id="5019198164206649151">ไม่สามารถจัดเก็บเนื่องจากระบบแบ็คเอนด์อยู่ในสถานะไม่ดี</translation>
+<translation id="5020154601324912079">ควบคุมวิธีจัดการข้อมูลอุปกรณ์ของคุณ Google ประมวลผลข้อมูลอุปกรณ์ภายใต้คำแนะนำของผู้จัดการอุปกรณ์ของคุณโดยเฉพาะและตามวัตถุประสงค์ที่ผู้จัดการอุปกรณ์ระบุไว้เท่านั้น</translation>
 <translation id="5023310440958281426">ตรวจสอบนโยบายของผู้ดูแลระบบของคุณ</translation>
 <translation id="5029568752722684782">ล้างสำเนา</translation>
 <translation id="503069730517007720">ไม่ได้ติดตั้งใบรับรองรากที่จำเป็นของ "<ph name="SOFTWARE_NAME" />" ผู้ดูแลระบบ IT ควรดูวิธีการกำหนดค่าของ "<ph name="SOFTWARE_NAME" />" เพื่อแก้ไขปัญหานี้ <ph name="FURTHER_EXPLANATION" /></translation>
@@ -883,6 +895,7 @@
 <translation id="5838278095973806738">คุณไม่ควรป้อนข้อมูลที่ละเอียดอ่อนบนเว็บไซต์นี้ (ตัวอย่างเช่น รหัสผ่านหรือบัตรเครดิต) เนื่องจากผู้โจมตีอาจขโมยข้อมูลดังกล่าวไปได้</translation>
 <translation id="5860033963881614850">ปิด</translation>
 <translation id="5863847714970149516">ระบบอาจพยายามเรียกเก็บเงินจากคุณในหน้าถัดไป</translation>
+<translation id="5865951947699094510">เปลี่ยนการตั้งค่าบัญชีจากระยะไกลได้</translation>
 <translation id="5866257070973731571">เพิ่มหมายเลขโทรศัพท์</translation>
 <translation id="5869405914158311789">ไม่สามารถเข้าถึงเว็บไซต์นี้</translation>
 <translation id="5869522115854928033">รหัสผ่านที่บันทึกไว้</translation>
@@ -903,6 +916,7 @@
 <translation id="5977976211062815271">ในอุปกรณ์นี้</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
 <translation id="598637245381783098">ไม่สามารถเปิดแอปการชำระเงิน</translation>
+<translation id="5988826871883769516">อุปกรณ์นี้จัดการโดย <ph name="ENROLLMENT_DOMAIN" /></translation>
 <translation id="5989320800837274978">ไม่มีการระบุทั้งพร็อกซีเซิร์ฟเวอร์แบบคงที่หรือ URL สคริปต์ .pac</translation>
 <translation id="5990559369517809815">คำขอไปยังเซิร์ฟเวอร์ถูกบล็อกโดยส่วนขยาย</translation>
 <translation id="6008256403891681546">JCB</translation>
@@ -920,6 +934,7 @@
 <translation id="6047233362582046994">หากคุณเข้าใจความเสี่ยงต่อความปลอดภัย คุณสามารถ<ph name="BEGIN_LINK" />ไปยังไซต์นี้<ph name="END_LINK" />ก่อนที่จะมีการนำแอปอันตรายออก</translation>
 <translation id="6047927260846328439">เนื้อหานี้อาจพยายามหลอกล่อให้คุณติดตั้งซอฟต์แวร์หรือเปิดเผยข้อมูลส่วนบุคคล <ph name="BEGIN_LINK" />แสดงเนื้อหา<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">คุณไม่สามารถไปที่ <ph name="SITE" /> ได้ในขณะนี้เนื่องจากเว็บไซต์ใช้การตรึงใบรับรอง โดยปกติข้อผิดพลาดของเครือข่ายและการโจมตีจะเกิดขึ้นเพียงชั่วคราว หน้านี้จึงอาจใช้งานได้ในภายหลัง</translation>
+<translation id="6052284303005792909">•</translation>
 <translation id="6058977677006700226">ต้องการใช้บัตรในอุปกรณ์ทุกเครื่องไหม</translation>
 <translation id="6059925163896151826">อุปกรณ์ USB</translation>
 <translation id="6080696365213338172">คุณเข้าถึงเนื้อหาโดยใช้ใบรับรองที่ผู้ดูแลระบบออกให้ ข้อมูลที่คุณให้กับ <ph name="DOMAIN" /> อาจถูกสกัดกั้นโดยผู้ดูแลระบบ</translation>
@@ -989,6 +1004,7 @@
 <translation id="6508722015517270189">รีสตาร์ท Chrome</translation>
 <translation id="6529602333819889595">&amp;ทำซ้ำการนำออก</translation>
 <translation id="6534179046333460208">คำแนะนำ Physical Web</translation>
+<translation id="6554795675067793129">บัญชีของคุณจัดการโดย <ph name="ENROLLMENT_DOMAIN" /></translation>
 <translation id="6556866813142980365">ทำซ้ำ</translation>
 <translation id="6563469144985748109">ผู้จัดการยังไม่ได้อนุมัติเว็บไซต์นี้</translation>
 <translation id="6569060085658103619">คุณกำลังดูหน้าส่วนขยาย</translation>
@@ -1073,6 +1089,7 @@
 <translation id="7062635574500127092">น้ำเงินอมเขียว</translation>
 <translation id="7064851114919012435">ข้อมูลติดต่อ</translation>
 <translation id="7079718277001814089">เว็บไซต์นี้มีมัลแวร์</translation>
+<translation id="7081564429925484109">คำเตือน: ระบบไม่ได้รวมนโยบายนี้ตามที่ระบุในนโยบาย PolicyListMultipleSourceMergeList เพราะไม่ใช่รายการ</translation>
 <translation id="7087282848513945231">ประเทศ</translation>
 <translation id="7090678807593890770">ค้นหา <ph name="LINK" /> จาก Google</translation>
 <translation id="7108338896283013870">ซ่อน</translation>
@@ -1149,6 +1166,7 @@
 <translation id="741007362987735528">Wide-Format</translation>
 <translation id="7416351320495623771">จัดการรหัสผ่าน…</translation>
 <translation id="7419106976560586862">เส้นทางโปรไฟล์</translation>
+<translation id="7424427397225027541">ควบคุมวิธีจัดการข้อมูลบัญชีของคุณ Google ประมวลผลข้อมูลบัญชีภายใต้คำแนะนำของผู้จัดการบัญชีของคุณโดยเฉพาะและตามวัตถุประสงค์ที่ผู้จัดการบัญชีระบุไว้เท่านั้น</translation>
 <translation id="7437289804838430631">เพิ่มข้อมูลติดต่อ</translation>
 <translation id="7440140511386898319">สำรวจขณะที่ออฟไลน์</translation>
 <translation id="7441627299479586546">หัวเรื่องนโยบายไม่ถูกต้อง</translation>
@@ -1235,6 +1253,7 @@
 <translation id="780301667611848630">ไม่ ขอบคุณ</translation>
 <translation id="7805768142964895445">สถานะ</translation>
 <translation id="7806344367022510803">เปลี่ยนการตั้งค่าเครื่องมือค้นหาใน Chrome</translation>
+<translation id="7810209002420871817">ในฐานะผู้จัดการบัญชีของคุณ <ph name="ACCOUNT_DOMAIN" />:</translation>
 <translation id="7812922009395017822">Mir</translation>
 <translation id="7813600968533626083">นำคำแนะนำสำหรับแบบฟอร์มออกจาก Chrome ไหม</translation>
 <translation id="7815407501681723534">พบ<ph name="SEARCH_RESULTS" /> <ph name="NUMBER_OF_RESULTS" /> รายการสำหรับ "<ph name="SEARCH_STRING" />"</translation>
diff --git a/components/sync/model/fake_model_type_change_processor.cc b/components/sync/model/fake_model_type_change_processor.cc
index bcb050f..d585da0b 100644
--- a/components/sync/model/fake_model_type_change_processor.cc
+++ b/components/sync/model/fake_model_type_change_processor.cc
@@ -72,6 +72,10 @@
   return "";
 }
 
+std::string FakeModelTypeChangeProcessor::TrackedCacheGuid() {
+  return "";
+}
+
 void FakeModelTypeChangeProcessor::ReportError(const ModelError& error) {
   error_ = error;
 }
diff --git a/components/sync/model/fake_model_type_change_processor.h b/components/sync/model/fake_model_type_change_processor.h
index d166b9f7..6c2f4a3 100644
--- a/components/sync/model/fake_model_type_change_processor.h
+++ b/components/sync/model/fake_model_type_change_processor.h
@@ -47,6 +47,7 @@
   void ModelReadyToSync(std::unique_ptr<MetadataBatch> batch) override;
   bool IsTrackingMetadata() override;
   std::string TrackedAccountId() override;
+  std::string TrackedCacheGuid() override;
   void ReportError(const ModelError& error) override;
   base::Optional<ModelError> GetError() const override;
   base::WeakPtr<ModelTypeControllerDelegate> GetControllerDelegate() override;
diff --git a/components/sync/model/mock_model_type_change_processor.cc b/components/sync/model/mock_model_type_change_processor.cc
index 415429e3..0aa016d 100644
--- a/components/sync/model/mock_model_type_change_processor.cc
+++ b/components/sync/model/mock_model_type_change_processor.cc
@@ -75,6 +75,8 @@
 
   std::string TrackedAccountId() override { return other_->TrackedAccountId(); }
 
+  std::string TrackedCacheGuid() override { return other_->TrackedCacheGuid(); }
+
   void ReportError(const ModelError& error) override {
     other_->ReportError(error);
   }
@@ -141,6 +143,9 @@
   ON_CALL(*this, TrackedAccountId())
       .WillByDefault(
           Invoke(delegate, &ModelTypeChangeProcessor::TrackedAccountId));
+  ON_CALL(*this, TrackedCacheGuid())
+      .WillByDefault(
+          Invoke(delegate, &ModelTypeChangeProcessor::TrackedCacheGuid));
   ON_CALL(*this, ReportError(_))
       .WillByDefault(Invoke(delegate, &ModelTypeChangeProcessor::ReportError));
   ON_CALL(*this, GetError())
diff --git a/components/sync/model/mock_model_type_change_processor.h b/components/sync/model/mock_model_type_change_processor.h
index b8b55b18..6594d33 100644
--- a/components/sync/model/mock_model_type_change_processor.h
+++ b/components/sync/model/mock_model_type_change_processor.h
@@ -43,6 +43,7 @@
   MOCK_METHOD1(ModelReadyToSync, void(std::unique_ptr<MetadataBatch> batch));
   MOCK_METHOD0(IsTrackingMetadata, bool());
   MOCK_METHOD0(TrackedAccountId, std::string());
+  MOCK_METHOD0(TrackedCacheGuid, std::string());
   MOCK_METHOD1(ReportError, void(const ModelError& error));
   MOCK_CONST_METHOD0(GetError, base::Optional<ModelError>());
   MOCK_METHOD0(GetControllerDelegate,
diff --git a/components/sync/model/model_type_change_processor.h b/components/sync/model/model_type_change_processor.h
index 872904b4..bfc55b2 100644
--- a/components/sync/model/model_type_change_processor.h
+++ b/components/sync/model/model_type_change_processor.h
@@ -108,6 +108,10 @@
   // tracking metadata.
   virtual std::string TrackedAccountId() = 0;
 
+  // Returns the cache guid for which metadata is being tracked, or empty if not
+  // tracking metadata.
+  virtual std::string TrackedCacheGuid() = 0;
+
   // Report an error in the model to sync. Should be called for any persistence
   // or consistency error the bridge encounters outside of a method that allows
   // returning a ModelError directly. Outstanding callbacks are not expected to
diff --git a/components/sync/model_impl/client_tag_based_model_type_processor.cc b/components/sync/model_impl/client_tag_based_model_type_processor.cc
index 56c44d6..da200ce 100644
--- a/components/sync/model_impl/client_tag_based_model_type_processor.cc
+++ b/components/sync/model_impl/client_tag_based_model_type_processor.cc
@@ -300,6 +300,17 @@
   return model_type_state_.authenticated_account_id();
 }
 
+std::string ClientTagBasedModelTypeProcessor::TrackedCacheGuid() {
+  // Returning non-empty here despite !IsTrackingMetadata() has weird semantics,
+  // e.g. initial updates are being fetched but we haven't received the response
+  // (i.e. prior to exercising MergeSyncData()). Let's be cautious and hide the
+  // cache GUID.
+  if (!IsTrackingMetadata()) {
+    return "";
+  }
+  return model_type_state_.cache_guid();
+}
+
 void ClientTagBasedModelTypeProcessor::ReportError(const ModelError& error) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
diff --git a/components/sync/model_impl/client_tag_based_model_type_processor.h b/components/sync/model_impl/client_tag_based_model_type_processor.h
index e71c767..2e17196a 100644
--- a/components/sync/model_impl/client_tag_based_model_type_processor.h
+++ b/components/sync/model_impl/client_tag_based_model_type_processor.h
@@ -78,6 +78,7 @@
   void ModelReadyToSync(std::unique_ptr<MetadataBatch> batch) override;
   bool IsTrackingMetadata() override;
   std::string TrackedAccountId() override;
+  std::string TrackedCacheGuid() override;
   void ReportError(const ModelError& error) override;
   base::Optional<ModelError> GetError() const override;
   base::WeakPtr<ModelTypeControllerDelegate> GetControllerDelegate() override;
diff --git a/components/sync/model_impl/client_tag_based_model_type_processor_unittest.cc b/components/sync/model_impl/client_tag_based_model_type_processor_unittest.cc
index b877811a..e4d1fb2 100644
--- a/components/sync/model_impl/client_tag_based_model_type_processor_unittest.cc
+++ b/components/sync/model_impl/client_tag_based_model_type_processor_unittest.cc
@@ -229,12 +229,13 @@
 
   void OnSyncStarting(
       const std::string& authenticated_account_id = "SomeAccountId",
+      const std::string& cache_guid = "TestCacheGuid",
       StorageOption storage_option = STORAGE_ON_DISK) {
     DataTypeActivationRequest request;
     request.error_handler = base::BindRepeating(
         &ClientTagBasedModelTypeProcessorTest::ErrorReceived,
         base::Unretained(this));
-    request.cache_guid = "TestCacheGuid";
+    request.cache_guid = cache_guid;
     request.authenticated_account_id = authenticated_account_id;
     request.storage_option = storage_option;
     request.configuration_start_time = base::Time::Now();
@@ -403,6 +404,32 @@
   EXPECT_EQ("PersistedAccountId", type_processor()->TrackedAccountId());
 }
 
+TEST_F(ClientTagBasedModelTypeProcessorTest,
+       ShouldExposeNewlyTrackedCacheGuid) {
+  ModelReadyToSync();
+  ASSERT_EQ("", type_processor()->TrackedCacheGuid());
+  OnSyncStarting("SomeAccountId", "TestCacheGuid");
+  worker()->UpdateFromServer();
+  EXPECT_EQ("TestCacheGuid", type_processor()->TrackedCacheGuid());
+}
+
+TEST_F(ClientTagBasedModelTypeProcessorTest,
+       ShouldExposePreviouslyTrackedCacheGuid) {
+  std::unique_ptr<MetadataBatch> metadata_batch = db()->CreateMetadataBatch();
+  sync_pb::ModelTypeState model_type_state(metadata_batch->GetModelTypeState());
+  model_type_state.set_initial_sync_done(true);
+  model_type_state.set_cache_guid("PersistedCacheGuid");
+  metadata_batch->SetModelTypeState(model_type_state);
+  type_processor()->ModelReadyToSync(std::move(metadata_batch));
+
+  // Even prior to starting sync, the cache guid should be set.
+  EXPECT_EQ("PersistedCacheGuid", type_processor()->TrackedCacheGuid());
+
+  // If sync gets started, the cache guid should still be set.
+  OnSyncStarting("SomeAccountId", "PersistedCacheGuid");
+  EXPECT_EQ("PersistedCacheGuid", type_processor()->TrackedCacheGuid());
+}
+
 // Test that an initial sync handles local and remote items properly.
 TEST_F(ClientTagBasedModelTypeProcessorTest, ShouldMergeLocalAndRemoteChanges) {
   ModelReadyToSync();
@@ -1799,7 +1826,7 @@
 TEST_F(ClientTagBasedModelTypeProcessorTest,
        ShouldReportEphemeralConfigurationTime) {
   InitializeToMetadataLoaded(/*initial_sync_done=*/false);
-  OnSyncStarting("SomeAccountId", STORAGE_IN_MEMORY);
+  OnSyncStarting("SomeAccountId", "TestCacheGuid", STORAGE_IN_MEMORY);
 
   UpdateResponseDataList updates;
   updates.push_back(worker()->GenerateUpdateData(
@@ -1819,7 +1846,7 @@
 TEST_F(ClientTagBasedModelTypeProcessorTest,
        ShouldNotReportEphemeralConfigurationTimeForPersistentStorage) {
   InitializeToMetadataLoaded(/*initial_sync_done=*/false);
-  OnSyncStarting("SomeAccountId", STORAGE_ON_DISK);
+  OnSyncStarting("SomeAccountId", "TestCacheGuid", STORAGE_ON_DISK);
 
   base::HistogramTester histogram_tester;
 
@@ -1885,7 +1912,7 @@
 TEST_F(FullUpdateClientTagBasedModelTypeProcessorTest,
        ShouldReportEphemeralConfigurationTimeOnlyForFirstFullUpdate) {
   InitializeToMetadataLoaded(/*initial_sync_done=*/false);
-  OnSyncStarting("SomeAccountId", STORAGE_IN_MEMORY);
+  OnSyncStarting("SomeAccountId", "TestCacheGuid", STORAGE_IN_MEMORY);
 
   UpdateResponseDataList updates1;
   updates1.push_back(worker()->GenerateUpdateData(
diff --git a/components/tracing/common/stack_sampler_android.cc b/components/tracing/common/stack_sampler_android.cc
index 9cb2349..83a0096 100644
--- a/components/tracing/common/stack_sampler_android.cc
+++ b/components/tracing/common/stack_sampler_android.cc
@@ -5,6 +5,7 @@
 #include "components/tracing/common/stack_sampler_android.h"
 
 #include "base/profiler/profile_builder.h"
+#include "base/profiler/unwinder.h"
 #include "base/trace_event/trace_event.h"
 
 namespace tracing {
@@ -19,7 +20,8 @@
 
 // Unimplemented. StackSamplerAndroid needs to be implemented in terms of
 // base::StackSamplerImpl to make use of this.
-void StackSamplerAndroid::AddAuxUnwinder(base::Unwinder* unwinder) {}
+void StackSamplerAndroid::AddAuxUnwinder(
+    std::unique_ptr<base::Unwinder> unwinder) {}
 
 void StackSamplerAndroid::RecordStackFrames(
     StackBuffer* stack_buffer,
diff --git a/components/tracing/common/stack_sampler_android.h b/components/tracing/common/stack_sampler_android.h
index c8e6a6f64..a38b465 100644
--- a/components/tracing/common/stack_sampler_android.h
+++ b/components/tracing/common/stack_sampler_android.h
@@ -25,7 +25,7 @@
   StackSamplerAndroid& operator=(const StackSamplerAndroid&) = delete;
 
   // StackSampler:
-  void AddAuxUnwinder(base::Unwinder* unwinder) override;
+  void AddAuxUnwinder(std::unique_ptr<base::Unwinder> unwinder) override;
   void RecordStackFrames(StackBuffer* stack_buffer,
                          base::ProfileBuilder* profile_builder) override;
 
diff --git a/components/ui_devtools/views/dom_agent_mac.mm b/components/ui_devtools/views/dom_agent_mac.mm
index 10d5502..0a1e30b 100644
--- a/components/ui_devtools/views/dom_agent_mac.mm
+++ b/components/ui_devtools/views/dom_agent_mac.mm
@@ -12,10 +12,7 @@
 namespace ui_devtools {
 
 DOMAgentMac::DOMAgentMac() {}
-DOMAgentMac::~DOMAgentMac() {
-  for (views::Widget* widget : roots_)
-    widget->RemoveObserver(this);
-}
+DOMAgentMac::~DOMAgentMac() {}
 
 protocol::Response DOMAgentMac::enable() {
   views::NativeWidgetMac::SetInitNativeWidgetCallback(base::BindRepeating(
@@ -26,6 +23,9 @@
 protocol::Response DOMAgentMac::disable() {
   views::NativeWidgetMac::SetInitNativeWidgetCallback(
       base::RepeatingCallback<void(views::NativeWidgetMac*)>());
+  for (views::Widget* widget : roots_)
+    widget->RemoveObserver(this);
+  roots_.clear();
   return DOMAgent::disable();
 }
 
diff --git a/components/ui_devtools/views/overlay_agent_unittest.cc b/components/ui_devtools/views/overlay_agent_unittest.cc
index e3d1e38..20520e2 100644
--- a/components/ui_devtools/views/overlay_agent_unittest.cc
+++ b/components/ui_devtools/views/overlay_agent_unittest.cc
@@ -53,7 +53,9 @@
   void TearDown() override {
     // Ensure DOMAgent shuts down before the root window closes to avoid
     // lifetime issues.
+    overlay_agent_->disable();
     overlay_agent_.reset();
+    dom_agent_->disable();
     dom_agent_.reset();
     uber_dispatcher_.reset();
     fake_frontend_channel_.reset();
diff --git a/components/viz/client/client_resource_provider_unittest.cc b/components/viz/client/client_resource_provider_unittest.cc
index e948d23..b6511b76 100644
--- a/components/viz/client/client_resource_provider_unittest.cc
+++ b/components/viz/client/client_resource_provider_unittest.cc
@@ -12,6 +12,7 @@
 #include "components/viz/common/resources/returned_resource.h"
 #include "components/viz/common/resources/single_release_callback.h"
 #include "components/viz/test/test_context_provider.h"
+#include "gpu/command_buffer/common/shared_image_usage.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -482,14 +483,11 @@
 
   MockReleaseCallback release;
 
-  GLuint texture;
-  context_provider()->ContextGL()->GenTextures(1, &texture);
-  context_provider()->ContextGL()->BindTexture(GL_TEXTURE_2D, texture);
-  gpu::Mailbox mailbox;
-  context_provider()->ContextGL()->ProduceTextureDirectCHROMIUM(texture,
-                                                                mailbox.name);
-  gpu::SyncToken sync_token;
-  context_provider()->ContextGL()->GenSyncTokenCHROMIUM(sync_token.GetData());
+  auto* sii = context_provider()->SharedImageInterface();
+  gpu::Mailbox mailbox = sii->CreateSharedImage(
+      ResourceFormat::RGBA_8888, gfx::Size(1, 1), gfx::ColorSpace(),
+      gpu::SHARED_IMAGE_USAGE_GLES2 | gpu::SHARED_IMAGE_USAGE_DISPLAY);
+  gpu::SyncToken sync_token = sii->GenUnverifiedSyncToken();
 
   auto tran = TransferableResource::MakeGL(mailbox, GL_LINEAR, GL_TEXTURE_2D,
                                            sync_token);
diff --git a/components/viz/common/BUILD.gn b/components/viz/common/BUILD.gn
index f183d05..032661653 100644
--- a/components/viz/common/BUILD.gn
+++ b/components/viz/common/BUILD.gn
@@ -151,6 +151,8 @@
     "hit_test/hit_test_data_builder.h",
     "hit_test/hit_test_region_list.cc",
     "hit_test/hit_test_region_list.h",
+    "pausable_elapsed_timer.cc",
+    "pausable_elapsed_timer.h",
     "presentation_feedback_map.h",
     "quads/compositor_frame.cc",
     "quads/compositor_frame.h",
@@ -309,6 +311,7 @@
     "gl_scaler_test_util.h",
     "gl_scaler_unittest.cc",
     "gpu/context_cache_controller_unittest.cc",
+    "pausable_elapsed_timer_unittest.cc",
     "quads/draw_quad_unittest.cc",
     "quads/render_pass_unittest.cc",
     "resources/platform_color_unittest.cc",
diff --git a/components/viz/common/pausable_elapsed_timer.cc b/components/viz/common/pausable_elapsed_timer.cc
new file mode 100644
index 0000000..09c3e36
--- /dev/null
+++ b/components/viz/common/pausable_elapsed_timer.cc
@@ -0,0 +1,30 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/viz/common/pausable_elapsed_timer.h"
+
+namespace viz {
+
+PausableElapsedTimer::PausableElapsedTimer() {}
+
+base::TimeDelta PausableElapsedTimer::Elapsed() const {
+  if (active_timer_)
+    return previous_elapsed_ + active_timer_->Elapsed();
+  else
+    return previous_elapsed_;
+}
+
+void PausableElapsedTimer::Pause() {
+  if (!active_timer_)
+    return;
+  previous_elapsed_ += active_timer_->Elapsed();
+  active_timer_.reset();
+}
+
+void PausableElapsedTimer::Resume() {
+  if (!active_timer_)
+    active_timer_.emplace();
+}
+
+}  // namespace viz
diff --git a/components/viz/common/pausable_elapsed_timer.h b/components/viz/common/pausable_elapsed_timer.h
new file mode 100644
index 0000000..ea31f0a3
--- /dev/null
+++ b/components/viz/common/pausable_elapsed_timer.h
@@ -0,0 +1,42 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_VIZ_COMMON_PAUSABLE_ELAPSED_TIMER_H_
+#define COMPONENTS_VIZ_COMMON_PAUSABLE_ELAPSED_TIMER_H_
+
+#include "base/macros.h"
+#include "base/optional.h"
+#include "base/time/time.h"
+#include "base/timer/elapsed_timer.h"
+#include "components/viz/common/viz_common_export.h"
+
+namespace viz {
+
+// A extension of base::ElapsedTimer to support pausing. The timer starts off in
+// a paused state. This allows the calculation of the duration of a task to not
+// include the time when it is not running.
+class VIZ_COMMON_EXPORT PausableElapsedTimer {
+ public:
+  PausableElapsedTimer();
+
+  // Returns the time elapsed since object construction excluding the time when
+  // the timer is paused.
+  base::TimeDelta Elapsed() const;
+
+  // Pause the timer. No-op if already paused.
+  void Pause();
+
+  // Resume the timer. No-op is not currently paused.
+  void Resume();
+
+ private:
+  base::Optional<base::ElapsedTimer> active_timer_;
+  base::TimeDelta previous_elapsed_;
+
+  DISALLOW_COPY_AND_ASSIGN(PausableElapsedTimer);
+};
+
+}  // namespace viz
+
+#endif  // COMPONENTS_VIZ_COMMON_PAUSABLE_ELAPSED_TIMER_H_
diff --git a/components/viz/common/pausable_elapsed_timer_unittest.cc b/components/viz/common/pausable_elapsed_timer_unittest.cc
new file mode 100644
index 0000000..1189052
--- /dev/null
+++ b/components/viz/common/pausable_elapsed_timer_unittest.cc
@@ -0,0 +1,100 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/viz/common/pausable_elapsed_timer.h"
+#include "base/test/scoped_mock_clock_override.h"
+#include "base/test/simple_test_tick_clock.h"
+#include "base/time/time.h"
+#include "base/time/time_override.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace viz {
+
+class PausableElapsedTimerTest : public testing::Test {
+ protected:
+  base::ScopedMockClockOverride mock_clock_;
+};
+
+// The timer starts as paused.
+TEST_F(PausableElapsedTimerTest, StartsAsPaused) {
+  PausableElapsedTimer timer;
+
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(2));
+
+  EXPECT_EQ(timer.Elapsed(), base::TimeDelta::FromMilliseconds(0));
+}
+
+// Get the elapsed time while paused, without any pause before.
+TEST_F(PausableElapsedTimerTest, ElapsedWhilePaused) {
+  PausableElapsedTimer timer;
+  timer.Resume();
+
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(5));
+  timer.Pause();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(5));
+
+  EXPECT_EQ(timer.Elapsed(), base::TimeDelta::FromMilliseconds(5));
+}
+
+// Get the elapsed time while unpaused with pausing in between.
+TEST_F(PausableElapsedTimerTest, WithPausing) {
+  PausableElapsedTimer timer;
+  timer.Resume();
+
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(2));
+  timer.Pause();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(10));
+  timer.Resume();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(3));
+
+  EXPECT_EQ(timer.Elapsed(), base::TimeDelta::FromMilliseconds(5));
+}
+
+// Get the elapsed time while paused, with some pauses before.
+TEST_F(PausableElapsedTimerTest, ElpasedWhilePausedWithPausesBefore) {
+  PausableElapsedTimer timer;
+  timer.Resume();
+
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(1));
+  timer.Pause();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(2));
+  timer.Resume();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(3));
+  timer.Pause();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(7));
+
+  EXPECT_EQ(timer.Elapsed(), base::TimeDelta::FromMilliseconds(4));
+}
+
+// Pausing while already paused should not change the internal time.
+TEST_F(PausableElapsedTimerTest, PausingWhilePaused) {
+  PausableElapsedTimer timer;
+  timer.Resume();
+
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(1));
+  timer.Pause();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(2));
+  timer.Pause();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(4));
+
+  EXPECT_EQ(timer.Elapsed(), base::TimeDelta::FromMilliseconds(1));
+}
+
+// Resuming while not paused should not change the internal time.
+TEST_F(PausableElapsedTimerTest, ResumingWhileNotPaused) {
+  PausableElapsedTimer timer;
+  timer.Resume();
+
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(1));
+  timer.Pause();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(3));
+  timer.Resume();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(5));
+  timer.Resume();
+  mock_clock_.Advance(base::TimeDelta::FromMilliseconds(10));
+
+  EXPECT_EQ(timer.Elapsed(), base::TimeDelta::FromMilliseconds(16));
+}
+
+}  // namespace viz
diff --git a/components/viz/service/display/display_resource_provider_unittest.cc b/components/viz/service/display/display_resource_provider_unittest.cc
index cae558e..5fe0e27d 100644
--- a/components/viz/service/display/display_resource_provider_unittest.cc
+++ b/components/viz/service/display/display_resource_provider_unittest.cc
@@ -33,7 +33,6 @@
 #include "components/viz/test/test_gles2_interface.h"
 #include "components/viz/test/test_gpu_memory_buffer_manager.h"
 #include "components/viz/test/test_shared_bitmap_manager.h"
-#include "components/viz/test/test_texture.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -82,82 +81,9 @@
   return shared_bitmap_id;
 }
 
-// Shared data between multiple ResourceProviderGLES2Interface. This contains
-// mailbox contents as well as information about sync points.
-class ContextSharedData {
- public:
-  static std::unique_ptr<ContextSharedData> Create() {
-    return base::WrapUnique(new ContextSharedData());
-  }
-
-  uint32_t InsertFenceSync() { return next_fence_sync_++; }
-
-  void GenMailbox(GLbyte* mailbox) {
-    memset(mailbox, 0, GL_MAILBOX_SIZE_CHROMIUM);
-    memcpy(mailbox, &next_mailbox_, sizeof(next_mailbox_));
-    ++next_mailbox_;
-  }
-
-  void ProduceTexture(const GLbyte* mailbox_name,
-                      const gpu::SyncToken& sync_token,
-                      scoped_refptr<TestTexture> texture) {
-    uint32_t sync_point = static_cast<uint32_t>(sync_token.release_count());
-
-    unsigned mailbox = 0;
-    memcpy(&mailbox, mailbox_name, sizeof(mailbox));
-    ASSERT_TRUE(mailbox && mailbox < next_mailbox_);
-    textures_[mailbox] = texture;
-    ASSERT_LT(sync_point_for_mailbox_[mailbox], sync_point);
-    sync_point_for_mailbox_[mailbox] = sync_point;
-  }
-
-  scoped_refptr<TestTexture> ConsumeTexture(const GLbyte* mailbox_name,
-                                            const gpu::SyncToken& sync_token) {
-    unsigned mailbox = 0;
-    memcpy(&mailbox, mailbox_name, sizeof(mailbox));
-    DCHECK(mailbox && mailbox < next_mailbox_);
-
-    // If the latest sync point the context has waited on is before the sync
-    // point for when the mailbox was set, pretend we never saw that
-    // ProduceTexture.
-    if (sync_point_for_mailbox_[mailbox] > sync_token.release_count()) {
-      NOTREACHED();
-      return scoped_refptr<TestTexture>();
-    }
-    return textures_[mailbox];
-  }
-
- private:
-  ContextSharedData() : next_fence_sync_(1), next_mailbox_(1) {}
-
-  uint64_t next_fence_sync_;
-  unsigned next_mailbox_;
-  using TextureMap = std::unordered_map<unsigned, scoped_refptr<TestTexture>>;
-  TextureMap textures_;
-  std::unordered_map<unsigned, uint32_t> sync_point_for_mailbox_;
-};
-
 class ResourceProviderGLES2Interface : public TestGLES2Interface {
  public:
-  explicit ResourceProviderGLES2Interface(ContextSharedData* shared_data)
-      : shared_data_(shared_data) {}
-
-  void GenSyncTokenCHROMIUM(GLbyte* sync_token) override {
-    uint64_t fence_sync = shared_data_->InsertFenceSync();
-    gpu::SyncToken sync_token_data(gpu::CommandBufferNamespace::GPU_IO,
-                                   gpu::CommandBufferId::FromUnsafeValue(0x123),
-                                   fence_sync);
-    sync_token_data.SetVerifyFlush();
-    // Commit the ProduceTextureDirectCHROMIUM calls at this point, so that
-    // they're associated with the sync point.
-    for (const std::unique_ptr<PendingProduceTexture>& pending_texture :
-         pending_produce_textures_) {
-      shared_data_->ProduceTexture(pending_texture->mailbox, sync_token_data,
-                                   pending_texture->texture);
-    }
-    pending_produce_textures_.clear();
-    memcpy(sync_token, &sync_token_data, sizeof(sync_token_data));
-  }
+  ResourceProviderGLES2Interface() = default;
 
   void WaitSyncTokenCHROMIUM(const GLbyte* sync_token) override {
     gpu::SyncToken sync_token_data;
@@ -174,172 +100,22 @@
     return last_waited_sync_token_;
   }
 
-  void TexStorage2DEXT(GLenum target,
-                       GLint levels,
-                       GLuint internalformat,
-                       GLint width,
-                       GLint height) override {
-    CheckTextureIsBound(target);
-    ASSERT_EQ(static_cast<unsigned>(GL_TEXTURE_2D), target);
-    ASSERT_EQ(1, levels);
-    GLenum format = GL_RGBA;
-    switch (internalformat) {
-      case GL_RGBA8_OES:
-        break;
-      case GL_BGRA8_EXT:
-        format = GL_BGRA_EXT;
-        break;
-      default:
-        NOTREACHED();
-    }
-    AllocateTexture(gfx::Size(width, height), format);
-  }
-
-  void TexImage2D(GLenum target,
-                  GLint level,
-                  GLint internalformat,
-                  GLsizei width,
-                  GLsizei height,
-                  GLint border,
-                  GLenum format,
-                  GLenum type,
-                  const void* pixels) override {
-    CheckTextureIsBound(target);
-    ASSERT_EQ(static_cast<unsigned>(GL_TEXTURE_2D), target);
-    ASSERT_FALSE(level);
-    ASSERT_EQ(internalformat, static_cast<GLint>(format));
-    ASSERT_FALSE(border);
-    ASSERT_EQ(static_cast<unsigned>(GL_UNSIGNED_BYTE), type);
-    AllocateTexture(gfx::Size(width, height), format);
-    if (pixels)
-      SetPixels(0, 0, width, height, pixels);
-  }
-
-  void TexSubImage2D(GLenum target,
-                     GLint level,
-                     GLint xoffset,
-                     GLint yoffset,
-                     GLsizei width,
-                     GLsizei height,
-                     GLenum format,
-                     GLenum type,
-                     const void* pixels) override {
-    CheckTextureIsBound(target);
-    ASSERT_EQ(static_cast<unsigned>(GL_TEXTURE_2D), target);
-    ASSERT_FALSE(level);
-    ASSERT_EQ(static_cast<unsigned>(GL_UNSIGNED_BYTE), type);
-    {
-      base::AutoLock lock_for_texture_access(namespace_->lock);
-      ASSERT_EQ(GLDataFormat(BoundTexture(target)->format), format);
-    }
-    ASSERT_TRUE(pixels);
-    SetPixels(xoffset, yoffset, width, height, pixels);
-  }
-
-  void ProduceTextureDirectCHROMIUM(GLuint texture, GLbyte* mailbox) override {
-    shared_data_->GenMailbox(mailbox);
-    // Delay moving the texture into the mailbox until the next
-    // sync token, so that it is not visible to other contexts that
-    // haven't waited on that sync point.
-    std::unique_ptr<PendingProduceTexture> pending(new PendingProduceTexture);
-    memcpy(pending->mailbox, mailbox, sizeof(pending->mailbox));
-    base::AutoLock lock_for_texture_access(namespace_->lock);
-    pending->texture = UnboundTexture(texture);
-    pending_produce_textures_.push_back(std::move(pending));
-  }
-
-  GLuint CreateAndConsumeTextureCHROMIUM(const GLbyte* mailbox) override {
-    GLuint texture_id;
-    GenTextures(1, &texture_id);
-
-    base::AutoLock lock_for_texture_access(namespace_->lock);
-    scoped_refptr<TestTexture> texture =
-        shared_data_->ConsumeTexture(mailbox, last_waited_sync_token_);
-    namespace_->textures.Replace(texture_id, texture);
-    return texture_id;
-  }
-
-  void GetPixels(const gfx::Size& size,
-                 ResourceFormat format,
-                 uint8_t* pixels) {
-    CheckTextureIsBound(GL_TEXTURE_2D);
-    base::AutoLock lock_for_texture_access(namespace_->lock);
-    scoped_refptr<TestTexture> texture = BoundTexture(GL_TEXTURE_2D);
-    ASSERT_EQ(texture->size, size);
-    ASSERT_EQ(texture->format, format);
-    memcpy(pixels, texture->data.get(), TextureSizeBytes(size, format));
-  }
-
  private:
-  void AllocateTexture(const gfx::Size& size, GLenum format) {
-    CheckTextureIsBound(GL_TEXTURE_2D);
-    ResourceFormat texture_format = RGBA_8888;
-    switch (format) {
-      case GL_RGBA:
-        texture_format = RGBA_8888;
-        break;
-      case GL_BGRA_EXT:
-        texture_format = BGRA_8888;
-        break;
-    }
-    base::AutoLock lock_for_texture_access(namespace_->lock);
-    BoundTexture(GL_TEXTURE_2D)->Reallocate(size, texture_format);
-  }
-
-  void SetPixels(int xoffset,
-                 int yoffset,
-                 int width,
-                 int height,
-                 const void* pixels) {
-    CheckTextureIsBound(GL_TEXTURE_2D);
-    base::AutoLock lock_for_texture_access(namespace_->lock);
-    scoped_refptr<TestTexture> texture = BoundTexture(GL_TEXTURE_2D);
-    ASSERT_TRUE(texture->data.get());
-    ASSERT_TRUE(xoffset >= 0 && xoffset + width <= texture->size.width());
-    ASSERT_TRUE(yoffset >= 0 && yoffset + height <= texture->size.height());
-    ASSERT_TRUE(pixels);
-    size_t in_pitch = TextureSizeBytes(gfx::Size(width, 1), texture->format);
-    size_t out_pitch =
-        TextureSizeBytes(gfx::Size(texture->size.width(), 1), texture->format);
-    uint8_t* dest = texture->data.get() + yoffset * out_pitch +
-                    TextureSizeBytes(gfx::Size(xoffset, 1), texture->format);
-    const uint8_t* src = static_cast<const uint8_t*>(pixels);
-    for (int i = 0; i < height; ++i) {
-      memcpy(dest, src, in_pitch);
-      dest += out_pitch;
-      src += in_pitch;
-    }
-  }
-
-  struct PendingProduceTexture {
-    GLbyte mailbox[GL_MAILBOX_SIZE_CHROMIUM];
-    scoped_refptr<TestTexture> texture;
-  };
-  ContextSharedData* shared_data_;
   gpu::SyncToken last_waited_sync_token_;
-  std::vector<std::unique_ptr<PendingProduceTexture>> pending_produce_textures_;
 };
 
 class DisplayResourceProviderTest : public testing::TestWithParam<bool> {
  public:
-  explicit DisplayResourceProviderTest(bool child_needs_sync_token)
-      : use_gpu_(GetParam()),
-        child_needs_sync_token_(child_needs_sync_token),
-        shared_data_(ContextSharedData::Create()) {
+  DisplayResourceProviderTest() : use_gpu_(GetParam()) {
     if (use_gpu_) {
-      auto gl_owned =
-          std::make_unique<ResourceProviderGLES2Interface>(shared_data_.get());
+      auto gl_owned = std::make_unique<ResourceProviderGLES2Interface>();
       gl_ = gl_owned.get();
       context_provider_ = TestContextProvider::Create(std::move(gl_owned));
       context_provider_->UnboundTestContextGL()
           ->set_support_texture_format_bgra8888(true);
       context_provider_->BindToCurrentThread();
 
-      auto child_gl_owned =
-          std::make_unique<ResourceProviderGLES2Interface>(shared_data_.get());
-      child_gl_ = child_gl_owned.get();
-      child_context_provider_ =
-          TestContextProvider::Create(std::move(child_gl_owned));
+      child_context_provider_ = TestContextProvider::Create();
       child_context_provider_->UnboundTestContextGL()
           ->set_support_texture_format_bgra8888(true);
       child_context_provider_->BindToCurrentThread();
@@ -357,8 +133,6 @@
     MakeChildResourceProvider();
   }
 
-  DisplayResourceProviderTest() : DisplayResourceProviderTest(true) {}
-
   ~DisplayResourceProviderTest() {
     if (child_resource_provider_)
       child_resource_provider_->ShutdownAndReleaseAllResources();
@@ -367,8 +141,7 @@
   bool use_gpu() const { return use_gpu_; }
 
   void MakeChildResourceProvider() {
-    child_resource_provider_ =
-        std::make_unique<ClientResourceProvider>(child_needs_sync_token_);
+    child_resource_provider_ = std::make_unique<ClientResourceProvider>(true);
   }
 
   static ReturnCallback GetReturnCallback(
@@ -386,12 +159,8 @@
 
   TransferableResource CreateResource(ResourceFormat format) {
     if (use_gpu()) {
-      unsigned texture;
-      child_gl_->GenTextures(1, &texture);
-      gpu::Mailbox gpu_mailbox;
-      child_gl_->ProduceTextureDirectCHROMIUM(texture, gpu_mailbox.name);
-      gpu::SyncToken sync_token;
-      child_gl_->GenSyncTokenCHROMIUM(sync_token.GetData());
+      gpu::Mailbox gpu_mailbox = gpu::Mailbox::Generate();
+      gpu::SyncToken sync_token = GenSyncToken();
       EXPECT_TRUE(sync_token.HasData());
 
       TransferableResource gl_resource = TransferableResource::MakeGL(
@@ -408,7 +177,6 @@
   }
 
   ResourceId MakeGpuResourceAndSendToDisplay(
-      char c,
       GLuint filter,
       GLuint target,
       const gpu::SyncToken& sync_token,
@@ -417,9 +185,7 @@
 
     int child = resource_provider->CreateChild(return_callback, true);
 
-    gpu::Mailbox gpu_mailbox;
-    gpu_mailbox.name[0] = c;
-    gpu_mailbox.name[1] = 0;
+    gpu::Mailbox gpu_mailbox = gpu::Mailbox::Generate();
     auto resource = TransferableResource::MakeGL(gpu_mailbox, GL_LINEAR, target,
                                                  sync_token);
     resource.id = 11;
@@ -428,12 +194,18 @@
     return map.find(resource.id)->second;
   }
 
+  gpu::SyncToken GenSyncToken() {
+    gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO,
+                              gpu::CommandBufferId::FromUnsafeValue(0x123),
+                              next_fence_sync_++);
+    sync_token.SetVerifyFlush();
+    return sync_token;
+  }
+
  protected:
   const bool use_gpu_;
-  const bool child_needs_sync_token_;
-  const std::unique_ptr<ContextSharedData> shared_data_;
   ResourceProviderGLES2Interface* gl_ = nullptr;
-  ResourceProviderGLES2Interface* child_gl_ = nullptr;
+  uint64_t next_fence_sync_ = 1;
   scoped_refptr<TestContextProvider> context_provider_;
   scoped_refptr<TestContextProvider> child_context_provider_;
   std::unique_ptr<TestGpuMemoryBufferManager> gpu_memory_buffer_manager_;
@@ -768,14 +540,9 @@
   auto no_token_resource_provider = std::make_unique<ClientResourceProvider>(
       /*delegated_sync_points_required=*/true);
 
-  GLuint external_texture_id = child_gl_->CreateExternalTexture();
-
   // A sync point is specified directly and should be used.
-  gpu::Mailbox external_mailbox;
-  child_gl_->ProduceTextureDirectCHROMIUM(external_texture_id,
-                                          external_mailbox.name);
-  gpu::SyncToken external_sync_token;
-  child_gl_->GenSyncTokenCHROMIUM(external_sync_token.GetData());
+  gpu::Mailbox external_mailbox = gpu::Mailbox::Generate();
+  gpu::SyncToken external_sync_token = GenSyncToken();
   EXPECT_TRUE(external_sync_token.HasData());
   ResourceId id = no_token_resource_provider->ImportResource(
       TransferableResource::MakeGL(external_mailbox, GL_LINEAR,
@@ -1010,31 +777,14 @@
   MOCK_METHOD2(BindTexture, void(GLenum target, GLuint texture));
   MOCK_METHOD3(TexParameteri, void(GLenum target, GLenum pname, GLint param));
   MOCK_METHOD1(WaitSyncTokenCHROMIUM, void(const GLbyte* sync_token));
-  MOCK_METHOD2(ProduceTextureDirectCHROMIUM,
-               void(GLuint texture, GLbyte* mailbox));
   MOCK_METHOD1(CreateAndConsumeTextureCHROMIUM,
                unsigned(const GLbyte* mailbox));
 
   // Force all textures to be consecutive numbers starting at "1",
   // so we easily can test for them.
-  GLuint NextTextureId() override {
-    base::AutoLock lock(namespace_->lock);
-    return namespace_->next_texture_id++;
-  }
+  GLuint NextTextureId() override { return next_texture_id_++; }
 
   void RetireTextureId(GLuint) override {}
-
-  void GenSyncTokenCHROMIUM(GLbyte* sync_token) override {
-    gpu::SyncToken sync_token_data(gpu::CommandBufferNamespace::GPU_IO,
-                                   gpu::CommandBufferId::FromUnsafeValue(0x123),
-                                   next_fence_sync_++);
-    sync_token_data.SetVerifyFlush();
-    memcpy(sync_token, &sync_token_data, sizeof(sync_token_data));
-  }
-
-  GLuint64 GetNextFenceSync() const { return next_fence_sync_; }
-
-  GLuint64 next_fence_sync_ = 1;
 };
 
 class ResourceProviderTestImportedResourceGLFilters {
@@ -1065,15 +815,12 @@
     gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO,
                               gpu::CommandBufferId::FromUnsafeValue(0x12),
                               0x34);
-    const GLuint64 current_fence_sync = child_gl->GetNextFenceSync();
 
     EXPECT_CALL(*child_gl, BindTexture(_, _)).Times(0);
     EXPECT_CALL(*child_gl, WaitSyncTokenCHROMIUM(_)).Times(0);
-    EXPECT_CALL(*child_gl, ProduceTextureDirectCHROMIUM(_, _)).Times(0);
     EXPECT_CALL(*child_gl, CreateAndConsumeTextureCHROMIUM(_)).Times(0);
 
-    gpu::Mailbox gpu_mailbox;
-    memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1);
+    gpu::Mailbox gpu_mailbox = gpu::Mailbox::Generate();
     GLuint filter = mailbox_nearest_neighbor ? GL_NEAREST : GL_LINEAR;
     auto resource = TransferableResource::MakeGL(gpu_mailbox, filter,
                                                  GL_TEXTURE_2D, sync_token);
@@ -1084,7 +831,6 @@
         SingleReleaseCallback::Create(base::BindOnce(
             &MockReleaseCallback::Released, base::Unretained(&release))));
     EXPECT_NE(0u, resource_id);
-    EXPECT_EQ(current_fence_sync, child_gl->GetNextFenceSync());
 
     testing::Mock::VerifyAndClearExpectations(child_gl);
 
@@ -1117,8 +863,6 @@
           .WillOnce(Return(texture_id));
       EXPECT_CALL(*gl, BindTexture(GL_TEXTURE_2D, texture_id));
 
-      EXPECT_CALL(*gl, ProduceTextureDirectCHROMIUM(_, _)).Times(0);
-
       // The sampler will reset these if |mailbox_nearest_neighbor| does not
       // match |sampler_filter|.
       if (mailbox_nearest_neighbor != (sampler_filter == GL_NEAREST)) {
@@ -1131,13 +875,9 @@
       DisplayResourceProvider::ScopedSamplerGL lock(
           resource_provider.get(), mapped_resource_id, sampler_filter);
       testing::Mock::VerifyAndClearExpectations(gl);
-      EXPECT_EQ(current_fence_sync, gl->GetNextFenceSync());
 
       // When done with it, a sync point should be inserted, but no produce is
       // necessary.
-      EXPECT_CALL(*child_gl, BindTexture(_, _)).Times(0);
-      EXPECT_CALL(*child_gl, ProduceTextureDirectCHROMIUM(_, _)).Times(0);
-
       EXPECT_CALL(*child_gl, WaitSyncTokenCHROMIUM(_)).Times(0);
       EXPECT_CALL(*child_gl, CreateAndConsumeTextureCHROMIUM(_)).Times(0);
     }
@@ -1220,15 +960,12 @@
 
   gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO,
                             gpu::CommandBufferId::FromUnsafeValue(0x12), 0x34);
-  const GLuint64 current_fence_sync = child_gl->GetNextFenceSync();
 
   EXPECT_CALL(*child_gl, BindTexture(_, _)).Times(0);
   EXPECT_CALL(*child_gl, WaitSyncTokenCHROMIUM(_)).Times(0);
-  EXPECT_CALL(*child_gl, ProduceTextureDirectCHROMIUM(_, _)).Times(0);
   EXPECT_CALL(*child_gl, CreateAndConsumeTextureCHROMIUM(_)).Times(0);
 
-  gpu::Mailbox gpu_mailbox;
-  memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1);
+  gpu::Mailbox gpu_mailbox = gpu::Mailbox::Generate();
   std::unique_ptr<SingleReleaseCallback> callback =
       SingleReleaseCallback::Create(base::DoNothing());
 
@@ -1238,7 +975,6 @@
   ResourceId resource_id =
       child_resource_provider->ImportResource(resource, std::move(callback));
   EXPECT_NE(0u, resource_id);
-  EXPECT_EQ(current_fence_sync, child_gl->GetNextFenceSync());
 
   testing::Mock::VerifyAndClearExpectations(child_gl);
 
@@ -1273,17 +1009,12 @@
     EXPECT_CALL(*gl, CreateAndConsumeTextureCHROMIUM(_))
         .WillOnce(Return(texture_id));
 
-    EXPECT_CALL(*gl, ProduceTextureDirectCHROMIUM(_, _)).Times(0);
-
     DisplayResourceProvider::ScopedReadLockGL lock(resource_provider.get(),
                                                    mapped_resource_id);
     testing::Mock::VerifyAndClearExpectations(gl);
 
     // When done with it, a sync point should be inserted, but no produce is
     // necessary.
-    EXPECT_CALL(*gl, BindTexture(_, _)).Times(0);
-    EXPECT_CALL(*gl, ProduceTextureDirectCHROMIUM(_, _)).Times(0);
-
     EXPECT_CALL(*gl, WaitSyncTokenCHROMIUM(_)).Times(0);
     EXPECT_CALL(*gl, CreateAndConsumeTextureCHROMIUM(_)).Times(0);
     testing::Mock::VerifyAndClearExpectations(gl);
@@ -1312,21 +1043,16 @@
       DisplayResourceProvider::kGpu, context_provider.get(),
       shared_bitmap_manager_.get());
 
-  const GLuint64 current_fence_sync = gl->GetNextFenceSync();
-
   EXPECT_CALL(*gl, BindTexture(_, _)).Times(0);
   EXPECT_CALL(*gl, WaitSyncTokenCHROMIUM(_)).Times(0);
-  EXPECT_CALL(*gl, ProduceTextureDirectCHROMIUM(_, _)).Times(0);
   EXPECT_CALL(*gl, CreateAndConsumeTextureCHROMIUM(_)).Times(0);
 
   gpu::SyncToken sync_token(gpu::CommandBufferNamespace::GPU_IO,
                             gpu::CommandBufferId::FromUnsafeValue(0x12), 0x34);
   ResourceId id_with_sync = MakeGpuResourceAndSendToDisplay(
-      'a', GL_LINEAR, GL_TEXTURE_2D, sync_token, resource_provider.get());
+      GL_LINEAR, GL_TEXTURE_2D, sync_token, resource_provider.get());
   ResourceId id_without_sync = MakeGpuResourceAndSendToDisplay(
-      'a', GL_LINEAR, GL_TEXTURE_2D, gpu::SyncToken(), resource_provider.get());
-
-  EXPECT_EQ(current_fence_sync, gl->GetNextFenceSync());
+      GL_LINEAR, GL_TEXTURE_2D, gpu::SyncToken(), resource_provider.get());
 
   // First call to WaitSyncToken should call WaitSyncToken, but only if a
   // SyncToken was present.
@@ -1351,13 +1077,8 @@
   if (!use_gpu())
     return;
 
-  GLuint external_texture_id = child_gl_->CreateExternalTexture();
-
-  gpu::Mailbox external_mailbox;
-  child_gl_->ProduceTextureDirectCHROMIUM(external_texture_id,
-                                          external_mailbox.name);
-  gpu::SyncToken external_sync_token;
-  child_gl_->GenSyncTokenCHROMIUM(external_sync_token.GetData());
+  gpu::Mailbox external_mailbox = gpu::Mailbox::Generate();
+  gpu::SyncToken external_sync_token = GenSyncToken();
   EXPECT_TRUE(external_sync_token.HasData());
 
   TransferableResource id1_transfer = TransferableResource::MakeGLOverlay(
diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc
index 336484b..19ce877 100644
--- a/components/viz/service/display/gl_renderer.cc
+++ b/components/viz/service/display/gl_renderer.cc
@@ -230,8 +230,11 @@
   float edge[24];
   SkScalar color_matrix[20];
 
-  // Blending refers to modifications to the backdrop.
+  // Blending in the fragment shaders is used for modifications to the backdrop
+  // and for supporting advanced blending equation when not available by the
+  // underlying graphics API.
   bool use_shaders_for_blending = false;
+  SkBlendMode blend_mode = SkBlendMode::kSrcOver;
 
   bool use_aa = false;
 
@@ -1122,9 +1125,9 @@
 void GLRenderer::UpdateRPDQShadersForBlending(
     DrawRenderPassDrawQuadParams* params) {
   const RenderPassDrawQuad* quad = params->quad;
-  SkBlendMode blend_mode = quad->shared_quad_state->blend_mode;
+  params->blend_mode = quad->shared_quad_state->blend_mode;
   params->use_shaders_for_blending =
-      !CanApplyBlendModeUsingBlendFunc(blend_mode) ||
+      !CanApplyBlendModeUsingBlendFunc(params->blend_mode) ||
       ShouldApplyBackdropFilters(params->backdrop_filters) ||
       settings_->force_blending_with_shaders;
 
@@ -1170,7 +1173,7 @@
           gl_->DeleteTextures(1, &params->background_texture);
           params->background_texture = 0;
         }
-      } else if (CanApplyBlendModeUsingBlendFunc(blend_mode) &&
+      } else if (CanApplyBlendModeUsingBlendFunc(params->blend_mode) &&
                  ShouldApplyBackdropFilters(params->backdrop_filters)) {
         // Something went wrong with applying backdrop filters to the
         // backdrop.
@@ -1181,6 +1184,7 @@
     } else {  // params->background_rect.IsEmpty()
       DCHECK(!params->background_image_id);
       params->use_shaders_for_blending = false;
+      params->blend_mode = SkBlendMode::kSrcOver;
     }
   }
 
@@ -1330,7 +1334,7 @@
 }
 
 void GLRenderer::UpdateRPDQBlendMode(DrawRenderPassDrawQuadParams* params) {
-  SkBlendMode blend_mode = params->quad->shared_quad_state->blend_mode;
+  SkBlendMode blend_mode = params->blend_mode;
   SetBlendEnabled((!params->use_shaders_for_blending &&
                    (params->quad->ShouldDrawWithBlending() ||
                     !IsDefaultBlendMode(blend_mode))) ||
@@ -1351,7 +1355,7 @@
 
   BlendMode shader_blend_mode =
       params->use_shaders_for_blending
-          ? BlendModeFromSkXfermode(params->quad->shared_quad_state->blend_mode)
+          ? BlendModeFromSkXfermode(params->blend_mode)
           : BLEND_MODE_NONE;
 
   SamplerType sampler_type = SAMPLER_TYPE_2D;
@@ -1522,7 +1526,7 @@
     gl_->Flush();
 
   if (!params.use_shaders_for_blending)
-    RestoreBlendFuncToDefault(params.quad->shared_quad_state->blend_mode);
+    RestoreBlendFuncToDefault(params.blend_mode);
 }
 
 namespace {
diff --git a/components/viz/service/display_embedder/skia_output_surface_impl.cc b/components/viz/service/display_embedder/skia_output_surface_impl.cc
index bd907eb..bcc5e4b9 100644
--- a/components/viz/service/display_embedder/skia_output_surface_impl.cc
+++ b/components/viz/service/display_embedder/skia_output_surface_impl.cc
@@ -404,6 +404,7 @@
     const std::vector<ResourceId>& ids) {
   if (ids.empty())
     return;
+
   std::vector<std::unique_ptr<ImageContext>> image_contexts;
   for (auto id : ids) {
     auto it = promise_image_cache_.find(id);
@@ -415,6 +416,9 @@
     promise_image_cache_.erase(it);
   }
 
+  if (image_contexts.empty())
+    return;
+
   // impl_on_gpu_ is released on the GPU thread by a posted task from
   // SkiaOutputSurfaceImpl::dtor. So it is safe to use base::Unretained.
   auto callback = base::BindOnce(&SkiaOutputSurfaceImplOnGpu::ReleaseSkImages,
diff --git a/components/viz/test/BUILD.gn b/components/viz/test/BUILD.gn
index dfaa111..90dc7d7 100644
--- a/components/viz/test/BUILD.gn
+++ b/components/viz/test/BUILD.gn
@@ -38,8 +38,6 @@
     "mock_display_client.cc",
     "mock_display_client.h",
     "mock_helper.h",
-    "ordered_texture_map.cc",
-    "ordered_texture_map.h",
     "paths.cc",
     "paths.h",
     "stub_surface_client.cc",
@@ -66,8 +64,6 @@
     "test_layer_tree_frame_sink.h",
     "test_shared_bitmap_manager.cc",
     "test_shared_bitmap_manager.h",
-    "test_texture.cc",
-    "test_texture.h",
   ]
   deps = [
     "//base",
diff --git a/components/viz/test/DEPS b/components/viz/test/DEPS
index 5077f39..4cd834a1 100644
--- a/components/viz/test/DEPS
+++ b/components/viz/test/DEPS
@@ -9,6 +9,7 @@
   "+gpu/command_buffer/client/shared_image_interface.h",
   "+gpu/command_buffer/common/capabilities.h",
   "+gpu/command_buffer/common/context_result.h",
+  "+gpu/command_buffer/common/mailbox.h",
   "+gpu/command_buffer/common/skia_utils.h",
   "+gpu/command_buffer/common/sync_token.h",
   "+gpu/config/gpu_feature_info.h",
diff --git a/components/viz/test/ordered_texture_map.cc b/components/viz/test/ordered_texture_map.cc
deleted file mode 100644
index eefc91c1..0000000
--- a/components/viz/test/ordered_texture_map.cc
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/viz/test/ordered_texture_map.h"
-
-#include <stddef.h>
-
-#include <algorithm>
-
-#include "base/logging.h"
-#include "components/viz/test/test_texture.h"
-
-namespace viz {
-
-OrderedTextureMap::OrderedTextureMap() = default;
-
-OrderedTextureMap::~OrderedTextureMap() = default;
-
-void OrderedTextureMap::Append(GLuint id, scoped_refptr<TestTexture> texture) {
-  DCHECK(texture);
-  DCHECK(!ContainsId(id));
-
-  textures_[id] = texture;
-  ordered_textures_.push_back(id);
-}
-
-void OrderedTextureMap::Replace(GLuint id, scoped_refptr<TestTexture> texture) {
-  DCHECK(texture);
-  DCHECK(ContainsId(id));
-
-  textures_[id] = texture;
-}
-
-void OrderedTextureMap::Remove(GLuint id) {
-  auto map_it = textures_.find(id);
-  // for some test we generate dummy tex id, which are not registered,
-  // nothing to remove in that case.
-  if (map_it == textures_.end())
-    return;
-  textures_.erase(map_it);
-
-  auto list_it =
-      std::find(ordered_textures_.begin(), ordered_textures_.end(), id);
-  DCHECK(list_it != ordered_textures_.end());
-  ordered_textures_.erase(list_it);
-}
-
-size_t OrderedTextureMap::Size() {
-  return ordered_textures_.size();
-}
-
-bool OrderedTextureMap::ContainsId(GLuint id) {
-  return textures_.find(id) != textures_.end();
-}
-
-scoped_refptr<TestTexture> OrderedTextureMap::TextureForId(GLuint id) {
-  DCHECK(ContainsId(id));
-  scoped_refptr<TestTexture> texture = textures_[id];
-  DCHECK(texture);
-  return texture;
-}
-
-GLuint OrderedTextureMap::IdAt(size_t index) {
-  DCHECK(index < Size());
-  return ordered_textures_[index];
-}
-
-}  // namespace viz
diff --git a/components/viz/test/ordered_texture_map.h b/components/viz/test/ordered_texture_map.h
deleted file mode 100644
index 7ec96d2..0000000
--- a/components/viz/test/ordered_texture_map.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_VIZ_TEST_ORDERED_TEXTURE_MAP_H_
-#define COMPONENTS_VIZ_TEST_ORDERED_TEXTURE_MAP_H_
-
-#include <stddef.h>
-
-#include <unordered_map>
-#include <vector>
-
-#include "base/memory/ref_counted.h"
-#include "third_party/khronos/GLES2/gl2.h"
-
-namespace viz {
-
-struct TestTexture;
-
-class OrderedTextureMap {
- public:
-  OrderedTextureMap();
-  ~OrderedTextureMap();
-
-  void Append(GLuint id, scoped_refptr<TestTexture> texture);
-  void Replace(GLuint id, scoped_refptr<TestTexture> texture);
-  void Remove(GLuint id);
-
-  size_t Size();
-
-  bool ContainsId(GLuint id);
-
-  scoped_refptr<TestTexture> TextureForId(GLuint id);
-  GLuint IdAt(size_t index);
-
- private:
-  using TextureMap = std::unordered_map<GLuint, scoped_refptr<TestTexture>>;
-  using TextureList = std::vector<GLuint>;
-
-  TextureMap textures_;
-  TextureList ordered_textures_;
-};
-
-}  // namespace viz
-
-#endif  // COMPONENTS_VIZ_TEST_ORDERED_TEXTURE_MAP_H_
diff --git a/components/viz/test/test_gles2_interface.cc b/components/viz/test/test_gles2_interface.cc
index e4290d8..cd04f69 100644
--- a/components/viz/test/test_gles2_interface.cc
+++ b/components/viz/test/test_gles2_interface.cc
@@ -11,6 +11,7 @@
 #include "base/memory/scoped_refptr.h"
 #include "components/viz/test/test_context_support.h"
 #include "gpu/GLES2/gl2extchromium.h"
+#include "gpu/command_buffer/common/mailbox.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace viz {
@@ -27,75 +28,19 @@
   return s_context_id++;
 }
 
-const GLuint TestGLES2Interface::kExternalTextureId = 1337;
-
-static base::LazyInstance<base::Lock>::Leaky g_shared_namespace_lock =
-    LAZY_INSTANCE_INITIALIZER;
-
-TestGLES2Interface::Namespace* TestGLES2Interface::shared_namespace_ = nullptr;
-TestGLES2Interface::Namespace::Namespace()
-    : next_buffer_id(1),
-      next_image_id(1),
-      next_texture_id(1),
-      next_renderbuffer_id(1) {}
-
-TestGLES2Interface::Namespace::~Namespace() {
-  g_shared_namespace_lock.Get().AssertAcquired();
-  if (shared_namespace_ == this)
-    shared_namespace_ = nullptr;
-}
-
-TestGLES2Interface::TestGLES2Interface()
-    : context_id_(NextContextId()),
-      times_bind_texture_succeeds_(-1),
-      times_end_query_succeeds_(-1),
-      context_lost_(false),
-      times_map_buffer_chromium_succeeds_(-1),
-      next_program_id_(1000),
-      next_shader_id_(2000),
-      next_framebuffer_id_(1),
-      current_framebuffer_(0),
-      reshape_called_(false),
-      width_(0),
-      height_(0),
-      scale_factor_(-1.f),
-      test_support_(nullptr),
-      last_update_type_(NO_UPDATE),
-      next_insert_fence_sync_(1),
-      unpack_alignment_(4),
-      weak_ptr_factory_(this) {
+TestGLES2Interface::TestGLES2Interface() : context_id_(NextContextId()) {
   // For stream textures.
   set_have_extension_egl_image(true);
   set_max_texture_size(2048);
-
-  CreateNamespace();
 }
 
-TestGLES2Interface::~TestGLES2Interface() {
-  base::AutoLock lock(g_shared_namespace_lock.Get());
-  namespace_ = nullptr;
-}
-
-void TestGLES2Interface::CreateNamespace() {
-  base::AutoLock lock(g_shared_namespace_lock.Get());
-  if (shared_namespace_) {
-    namespace_ = shared_namespace_;
-  } else {
-    namespace_ = base::MakeRefCounted<Namespace>();
-    shared_namespace_ = namespace_.get();
-  }
-}
+TestGLES2Interface::~TestGLES2Interface() = default;
 
 void TestGLES2Interface::GenTextures(GLsizei n, GLuint* textures) {
   for (int i = 0; i < n; ++i) {
     textures[i] = NextTextureId();
-    DCHECK_NE(textures[i], kExternalTextureId);
+    textures_.insert(textures[i]);
   }
-  base::AutoLock lock(namespace_->lock);
-
-  for (int i = 0; i < n; ++i)
-    namespace_->textures.Append(textures[i],
-                                base::MakeRefCounted<TestTexture>());
 }
 
 void TestGLES2Interface::GenBuffers(GLsizei n, GLuint* buffers) {
@@ -120,12 +65,9 @@
 }
 
 void TestGLES2Interface::DeleteTextures(GLsizei n, const GLuint* textures) {
-  for (int i = 0; i < n; ++i)
-    RetireTextureId(textures[i]);
-  base::AutoLock lock(namespace_->lock);
   for (int i = 0; i < n; ++i) {
-    namespace_->textures.Remove(textures[i]);
-    texture_targets_.UnbindTexture(textures[i]);
+    RetireTextureId(textures[i]);
+    textures_.erase(textures[i]);
   }
 }
 
@@ -171,9 +113,7 @@
 
   if (!texture)
     return;
-  base::AutoLock lock(namespace_->lock);
-  DCHECK(namespace_->textures.ContainsId(texture));
-  texture_targets_.BindTexture(target, texture);
+  DCHECK(base::ContainsKey(textures_, texture));
   used_textures_.insert(texture);
 }
 
@@ -247,13 +187,6 @@
   }
 }
 
-void TestGLES2Interface::Viewport(GLint x,
-                                  GLint y,
-                                  GLsizei width,
-                                  GLsizei height) {}
-
-void TestGLES2Interface::ActiveTexture(GLenum target) {}
-
 void TestGLES2Interface::UseProgram(GLuint program) {
   if (!program)
     return;
@@ -267,25 +200,6 @@
   return GL_FRAMEBUFFER_COMPLETE;
 }
 
-void TestGLES2Interface::Scissor(GLint x,
-                                 GLint y,
-                                 GLsizei width,
-                                 GLsizei height) {}
-
-void TestGLES2Interface::DrawElements(GLenum mode,
-                                      GLsizei count,
-                                      GLenum type,
-                                      const void* indices) {}
-
-void TestGLES2Interface::ClearColor(GLclampf red,
-                                    GLclampf green,
-                                    GLclampf blue,
-                                    GLclampf alpha) {}
-
-void TestGLES2Interface::ClearStencil(GLint s) {}
-
-void TestGLES2Interface::Clear(GLbitfield mask) {}
-
 void TestGLES2Interface::Flush() {
   test_support_->CallAllSyncPointCallbacks();
 }
@@ -298,19 +212,11 @@
   test_support_->CallAllSyncPointCallbacks();
 }
 
-void TestGLES2Interface::ShallowFlushCHROMIUM() {
-}
-
-void TestGLES2Interface::Enable(GLenum cap) {}
-
-void TestGLES2Interface::Disable(GLenum cap) {}
-
 void TestGLES2Interface::BindRenderbuffer(GLenum target, GLuint renderbuffer) {
   if (!renderbuffer)
     return;
-  base::AutoLock lock_for_renderbuffer_access(namespace_->lock);
-  if (renderbuffer != 0 && namespace_->renderbuffer_set.find(renderbuffer) ==
-                               namespace_->renderbuffer_set.end()) {
+  if (renderbuffer != 0 &&
+      renderbuffer_set_.find(renderbuffer) == renderbuffer_set_.end()) {
     ADD_FAILURE() << "bindRenderbuffer called with unknown renderbuffer";
   } else if ((renderbuffer >> 16) != context_id_) {
     ADD_FAILURE()
@@ -319,7 +225,6 @@
 }
 
 void TestGLES2Interface::BindFramebuffer(GLenum target, GLuint framebuffer) {
-  base::AutoLock lock_for_framebuffer_access(namespace_->lock);
   if (framebuffer != 0 &&
       framebuffer_set_.find(framebuffer) == framebuffer_set_.end()) {
     ADD_FAILURE() << "bindFramebuffer called with unknown framebuffer";
@@ -337,17 +242,14 @@
     return;
   unsigned context_id = buffer >> 16;
   unsigned buffer_id = buffer & 0xffff;
-  base::AutoLock lock(namespace_->lock);
   DCHECK(buffer_id);
-  DCHECK_LT(buffer_id, namespace_->next_buffer_id);
+  DCHECK_LT(buffer_id, next_buffer_id_);
   DCHECK_EQ(context_id, context_id_);
 
-  std::unordered_map<unsigned, std::unique_ptr<Buffer>>& buffers =
-      namespace_->buffers;
-  if (buffers.count(bound_buffer_[target]) == 0)
-    buffers[bound_buffer_[target]] = base::WrapUnique(new Buffer);
+  if (buffers_.count(bound_buffer_[target]) == 0)
+    buffers_[bound_buffer_[target]] = std::make_unique<Buffer>();
 
-  buffers[bound_buffer_[target]]->target = target;
+  buffers_[bound_buffer_[target]]->target = target;
 }
 
 void TestGLES2Interface::PixelStorei(GLenum pname, GLint param) {
@@ -372,63 +274,6 @@
   }
 }
 
-void TestGLES2Interface::TexImage2D(GLenum target,
-                                    GLint level,
-                                    GLint internalformat,
-                                    GLsizei width,
-                                    GLsizei height,
-                                    GLint border,
-                                    GLenum format,
-                                    GLenum type,
-                                    const void* pixels) {}
-
-void TestGLES2Interface::TexSubImage2D(GLenum target,
-                                       GLint level,
-                                       GLint xoffset,
-                                       GLint yoffset,
-                                       GLsizei width,
-                                       GLsizei height,
-                                       GLenum format,
-                                       GLenum type,
-                                       const void* pixels) {}
-
-void TestGLES2Interface::TexStorage2DEXT(GLenum target,
-                                         GLsizei levels,
-                                         GLenum internalformat,
-                                         GLsizei width,
-                                         GLsizei height) {}
-
-void TestGLES2Interface::TexStorage2DImageCHROMIUM(GLenum target,
-                                                   GLenum internalformat,
-                                                   GLenum bufferusage,
-                                                   GLsizei width,
-                                                   GLsizei height) {}
-
-void TestGLES2Interface::FramebufferRenderbuffer(GLenum target,
-                                                 GLenum attachment,
-                                                 GLenum renderbuffertarget,
-                                                 GLuint renderbuffer) {}
-
-void TestGLES2Interface::FramebufferTexture2D(GLenum target,
-                                              GLenum attachment,
-                                              GLenum textarget,
-                                              GLuint texture,
-                                              GLint level) {}
-
-void TestGLES2Interface::RenderbufferStorage(GLenum target,
-                                             GLenum internalformat,
-                                             GLsizei width,
-                                             GLsizei height) {}
-
-void TestGLES2Interface::CompressedTexImage2D(GLenum target,
-                                              GLint level,
-                                              GLenum internalformat,
-                                              GLsizei width,
-                                              GLsizei height,
-                                              GLint border,
-                                              GLsizei image_size,
-                                              const void* data) {}
-
 GLuint TestGLES2Interface::CreateImageCHROMIUM(ClientBuffer buffer,
                                                GLsizei width,
                                                GLsizei height,
@@ -437,35 +282,23 @@
          (test_capabilities_.texture_format_bgra8888 &&
           internalformat == GL_BGRA_EXT));
   GLuint image_id = NextImageId();
-  base::AutoLock lock(namespace_->lock);
-  std::unordered_set<unsigned>& images = namespace_->images;
-  images.insert(image_id);
+  images_.insert(image_id);
   return image_id;
 }
 
 void TestGLES2Interface::DestroyImageCHROMIUM(GLuint image_id) {
   RetireImageId(image_id);
-  base::AutoLock lock(namespace_->lock);
-  std::unordered_set<unsigned>& images = namespace_->images;
-  if (!images.count(image_id))
+  if (!images_.count(image_id)) {
     ADD_FAILURE() << "destroyImageCHROMIUM called on unknown image "
                   << image_id;
-  images.erase(image_id);
+  }
+  images_.erase(image_id);
 }
 
-void TestGLES2Interface::BindTexImage2DCHROMIUM(GLenum target, GLint image_id) {
-}
-
-void TestGLES2Interface::ReleaseTexImage2DCHROMIUM(GLenum target,
-                                                   GLint image_id) {}
-
 void* TestGLES2Interface::MapBufferCHROMIUM(GLuint target, GLenum access) {
-  base::AutoLock lock(namespace_->lock);
-  std::unordered_map<unsigned, std::unique_ptr<Buffer>>& buffers =
-      namespace_->buffers;
   DCHECK_GT(bound_buffer_.count(target), 0u);
-  DCHECK_GT(buffers.count(bound_buffer_[target]), 0u);
-  DCHECK_EQ(target, buffers[bound_buffer_[target]]->target);
+  DCHECK_GT(buffers_.count(bound_buffer_[target]), 0u);
+  DCHECK_EQ(target, buffers_[bound_buffer_[target]]->target);
   if (times_map_buffer_chromium_succeeds_ >= 0) {
     if (!times_map_buffer_chromium_succeeds_) {
       return nullptr;
@@ -473,17 +306,14 @@
     --times_map_buffer_chromium_succeeds_;
   }
 
-  return buffers[bound_buffer_[target]]->pixels.get();
+  return buffers_[bound_buffer_[target]]->pixels.get();
 }
 
 GLboolean TestGLES2Interface::UnmapBufferCHROMIUM(GLuint target) {
-  base::AutoLock lock(namespace_->lock);
-  std::unordered_map<unsigned, std::unique_ptr<Buffer>>& buffers =
-      namespace_->buffers;
   DCHECK_GT(bound_buffer_.count(target), 0u);
-  DCHECK_GT(buffers.count(bound_buffer_[target]), 0u);
-  DCHECK_EQ(target, buffers[bound_buffer_[target]]->target);
-  buffers[bound_buffer_[target]]->pixels = nullptr;
+  DCHECK_GT(buffers_.count(bound_buffer_[target]), 0u);
+  DCHECK_EQ(target, buffers_[bound_buffer_[target]]->target);
+  buffers_[bound_buffer_[target]]->pixels = nullptr;
   return true;
 }
 
@@ -491,13 +321,10 @@
                                     GLsizeiptr size,
                                     const void* data,
                                     GLenum usage) {
-  base::AutoLock lock(namespace_->lock);
-  std::unordered_map<unsigned, std::unique_ptr<Buffer>>& buffers =
-      namespace_->buffers;
   DCHECK_GT(bound_buffer_.count(target), 0u);
-  DCHECK_GT(buffers.count(bound_buffer_[target]), 0u);
-  DCHECK_EQ(target, buffers[bound_buffer_[target]]->target);
-  Buffer* buffer = buffers[bound_buffer_[target]].get();
+  DCHECK_GT(buffers_.count(bound_buffer_[target]), 0u);
+  DCHECK_EQ(target, buffers_[bound_buffer_[target]]->target);
+  Buffer* buffer = buffers_[bound_buffer_[target]].get();
   if (context_lost_) {
     buffer->pixels = nullptr;
     return;
@@ -573,21 +400,10 @@
     *params = 1;
 }
 
-void TestGLES2Interface::DiscardFramebufferEXT(GLenum target,
-                                               GLsizei count,
-                                               const GLenum* attachments) {}
-
 void TestGLES2Interface::ProduceTextureDirectCHROMIUM(GLuint texture,
                                                       GLbyte* mailbox) {
-  static char mailbox_name1 = '1';
-  static char mailbox_name2 = '1';
-  mailbox[0] = mailbox_name1;
-  mailbox[1] = mailbox_name2;
-  mailbox[2] = '\0';
-  if (++mailbox_name1 == 0) {
-    mailbox_name1 = '1';
-    ++mailbox_name2;
-  }
+  gpu::Mailbox gpu_mailbox = gpu::Mailbox::Generate();
+  memcpy(mailbox, gpu_mailbox.name, sizeof(gpu_mailbox.name));
 }
 
 GLuint TestGLES2Interface::CreateAndConsumeTextureCHROMIUM(
@@ -633,24 +449,6 @@
   return GL_NO_ERROR;
 }
 
-scoped_refptr<TestTexture> TestGLES2Interface::BoundTexture(GLenum target) {
-  // The caller is expected to lock the namespace for texture access.
-  namespace_->lock.AssertAcquired();
-  return namespace_->textures.TextureForId(BoundTextureId(target));
-}
-
-scoped_refptr<TestTexture> TestGLES2Interface::UnboundTexture(GLuint texture) {
-  // The caller is expected to lock the namespace for texture access.
-  namespace_->lock.AssertAcquired();
-  return namespace_->textures.TextureForId(texture);
-}
-
-GLuint TestGLES2Interface::CreateExternalTexture() {
-  base::AutoLock lock(namespace_->lock);
-  namespace_->textures.Append(kExternalTextureId, new TestTexture());
-  return kExternalTextureId;
-}
-
 void TestGLES2Interface::set_times_bind_texture_succeeds(int times) {
   times_bind_texture_succeeds_ = times;
 }
@@ -745,68 +543,55 @@
 }
 
 size_t TestGLES2Interface::NumTextures() const {
-  base::AutoLock lock(namespace_->lock);
-  return namespace_->textures.Size();
-}
-
-GLuint TestGLES2Interface::TextureAt(int i) const {
-  base::AutoLock lock(namespace_->lock);
-  return namespace_->textures.IdAt(i);
+  return textures_.size();
 }
 
 GLuint TestGLES2Interface::NextTextureId() {
-  base::AutoLock lock(namespace_->lock);
-  GLuint texture_id = namespace_->next_texture_id++;
+  GLuint texture_id = next_texture_id_++;
   DCHECK(texture_id < (1 << 16));
   texture_id |= context_id_ << 16;
   return texture_id;
 }
 
 void TestGLES2Interface::RetireTextureId(GLuint id) {
-  base::AutoLock lock(namespace_->lock);
   unsigned context_id = id >> 16;
   unsigned texture_id = id & 0xffff;
   DCHECK(texture_id);
-  DCHECK_LT(texture_id, namespace_->next_texture_id);
+  DCHECK_LT(texture_id, next_texture_id_);
   DCHECK_EQ(context_id, context_id_);
 }
 
 GLuint TestGLES2Interface::NextBufferId() {
-  base::AutoLock lock(namespace_->lock);
-  GLuint buffer_id = namespace_->next_buffer_id++;
+  GLuint buffer_id = next_buffer_id_++;
   DCHECK(buffer_id < (1 << 16));
   buffer_id |= context_id_ << 16;
   return buffer_id;
 }
 
 void TestGLES2Interface::RetireBufferId(GLuint id) {
-  base::AutoLock lock(namespace_->lock);
   unsigned context_id = id >> 16;
   unsigned buffer_id = id & 0xffff;
   DCHECK(buffer_id);
-  DCHECK_LT(buffer_id, namespace_->next_buffer_id);
+  DCHECK_LT(buffer_id, next_buffer_id_);
   DCHECK_EQ(context_id, context_id_);
 }
 
 GLuint TestGLES2Interface::NextImageId() {
-  base::AutoLock lock(namespace_->lock);
-  GLuint image_id = namespace_->next_image_id++;
+  GLuint image_id = next_image_id_++;
   DCHECK(image_id < (1 << 16));
   image_id |= context_id_ << 16;
   return image_id;
 }
 
 void TestGLES2Interface::RetireImageId(GLuint id) {
-  base::AutoLock lock(namespace_->lock);
   unsigned context_id = id >> 16;
   unsigned image_id = id & 0xffff;
   DCHECK(image_id);
-  DCHECK_LT(image_id, namespace_->next_image_id);
+  DCHECK_LT(image_id, next_image_id_);
   DCHECK_EQ(context_id, context_id_);
 }
 
 GLuint TestGLES2Interface::NextFramebufferId() {
-  base::AutoLock lock_for_framebuffer_access(namespace_->lock);
   GLuint id = next_framebuffer_id_++;
   DCHECK(id < (1 << 16));
   id |= context_id_ << 16;
@@ -815,25 +600,21 @@
 }
 
 void TestGLES2Interface::RetireFramebufferId(GLuint id) {
-  base::AutoLock lock_for_framebuffer_access(namespace_->lock);
-  DCHECK(framebuffer_set_.find(id) != framebuffer_set_.end());
+  DCHECK(base::ContainsKey(framebuffer_set_, id));
   framebuffer_set_.erase(id);
 }
 
 GLuint TestGLES2Interface::NextRenderbufferId() {
-  base::AutoLock lock_for_renderbuffer_access(namespace_->lock);
-  GLuint id = namespace_->next_renderbuffer_id++;
+  GLuint id = next_renderbuffer_id_++;
   DCHECK(id < (1 << 16));
   id |= context_id_ << 16;
-  namespace_->renderbuffer_set.insert(id);
+  renderbuffer_set_.insert(id);
   return id;
 }
 
 void TestGLES2Interface::RetireRenderbufferId(GLuint id) {
-  base::AutoLock lock_for_renderbuffer_access(namespace_->lock);
-  DCHECK(namespace_->renderbuffer_set.find(id) !=
-         namespace_->renderbuffer_set.end());
-  namespace_->renderbuffer_set.erase(id);
+  DCHECK(base::ContainsKey(renderbuffer_set_, id));
+  renderbuffer_set_.erase(id);
 }
 
 void TestGLES2Interface::SetMaxSamples(int max_samples) {
@@ -841,78 +622,15 @@
 }
 
 size_t TestGLES2Interface::NumFramebuffers() const {
-  base::AutoLock lock_for_framebuffer_access(namespace_->lock);
   return framebuffer_set_.size();
 }
 
 size_t TestGLES2Interface::NumRenderbuffers() const {
-  base::AutoLock lock_for_renderbuffer_access(namespace_->lock);
-  return namespace_->renderbuffer_set.size();
-}
-
-void TestGLES2Interface::CheckTextureIsBound(GLenum target) {
-  DCHECK(BoundTextureId(target));
-}
-GLuint TestGLES2Interface::BoundTextureId(GLenum target) {
-  return texture_targets_.BoundTexture(target);
-}
-
-TestGLES2Interface::TextureTargets::TextureTargets() {
-  // Initialize default bindings.
-  bound_textures_[GL_TEXTURE_2D] = 0;
-  bound_textures_[GL_TEXTURE_EXTERNAL_OES] = 0;
-  bound_textures_[GL_TEXTURE_RECTANGLE_ARB] = 0;
-}
-
-TestGLES2Interface::TextureTargets::~TextureTargets() = default;
-
-void TestGLES2Interface::TextureTargets::BindTexture(GLenum target, GLuint id) {
-  // Make sure this is a supported target by seeing if it was bound to before.
-  DCHECK(bound_textures_.find(target) != bound_textures_.end());
-  bound_textures_[target] = id;
-}
-
-void TestGLES2Interface::TexParameteri(GLenum target,
-                                       GLenum pname,
-                                       GLint param) {
-  CheckTextureIsBound(target);
-  base::AutoLock lock_for_texture_access(namespace_->lock);
-  scoped_refptr<TestTexture> texture = BoundTexture(target);
-  DCHECK(texture->IsValidParameter(pname));
-  texture->params[pname] = param;
-}
-
-void TestGLES2Interface::GetTexParameteriv(GLenum target,
-                                           GLenum pname,
-                                           GLint* value) {
-  CheckTextureIsBound(target);
-  base::AutoLock lock_for_texture_access(namespace_->lock);
-  scoped_refptr<TestTexture> texture = BoundTexture(target);
-  DCHECK(texture->IsValidParameter(pname));
-  auto it = texture->params.find(pname);
-  if (it != texture->params.end())
-    *value = it->second;
-}
-
-void TestGLES2Interface::TextureTargets::UnbindTexture(GLuint id) {
-  // Bind zero to any targets that the id is bound to.
-  for (auto it = bound_textures_.begin(); it != bound_textures_.end(); it++) {
-    if (it->second == id)
-      it->second = 0;
-  }
-}
-
-GLuint TestGLES2Interface::TextureTargets::BoundTexture(GLenum target) {
-  DCHECK(bound_textures_.find(target) != bound_textures_.end());
-  return bound_textures_[target];
+  return renderbuffer_set_.size();
 }
 
 TestGLES2Interface::Buffer::Buffer() : target(0), size(0) {}
 
 TestGLES2Interface::Buffer::~Buffer() = default;
 
-TestGLES2Interface::Image::Image() = default;
-
-TestGLES2Interface::Image::~Image() = default;
-
 }  // namespace viz
diff --git a/components/viz/test/test_gles2_interface.h b/components/viz/test/test_gles2_interface.h
index 96109e0..abe8e95 100644
--- a/components/viz/test/test_gles2_interface.h
+++ b/components/viz/test/test_gles2_interface.h
@@ -16,8 +16,6 @@
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "base/stl_util.h"
-#include "components/viz/test/ordered_texture_map.h"
-#include "components/viz/test/test_texture.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "gpu/command_buffer/client/gles2_interface_stub.h"
 #include "gpu/command_buffer/common/capabilities.h"
@@ -59,26 +57,10 @@
                                 GLint* precision) override;
   GLenum CheckFramebufferStatus(GLenum target) override;
 
-  void ActiveTexture(GLenum target) override;
-  void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) override;
   void UseProgram(GLuint program) override;
-  void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) override;
-  void DrawElements(GLenum mode,
-                    GLsizei count,
-                    GLenum type,
-                    const void* indices) override;
-  void ClearColor(GLclampf red,
-                  GLclampf green,
-                  GLclampf blue,
-                  GLclampf alpha) override;
-  void ClearStencil(GLint s) override;
-  void Clear(GLbitfield mask) override;
   void Flush() override;
   void Finish() override;
   void ShallowFinishCHROMIUM() override;
-  void ShallowFlushCHROMIUM() override;
-  void Enable(GLenum cap) override;
-  void Disable(GLenum cap) override;
 
   void BindBuffer(GLenum target, GLuint buffer) override;
   void BindRenderbuffer(GLenum target, GLuint buffer) override;
@@ -86,65 +68,11 @@
 
   void PixelStorei(GLenum pname, GLint param) override;
 
-  void TexImage2D(GLenum target,
-                  GLint level,
-                  GLint internalformat,
-                  GLsizei width,
-                  GLsizei height,
-                  GLint border,
-                  GLenum format,
-                  GLenum type,
-                  const void* pixels) override;
-  void TexSubImage2D(GLenum target,
-                     GLint level,
-                     GLint xoffset,
-                     GLint yoffset,
-                     GLsizei width,
-                     GLsizei height,
-                     GLenum format,
-                     GLenum type,
-                     const void* pixels) override;
-  void TexStorage2DEXT(GLenum target,
-                       GLsizei levels,
-                       GLenum internalformat,
-                       GLsizei width,
-                       GLsizei height) override;
-  void TexStorage2DImageCHROMIUM(GLenum target,
-                                 GLenum internalformat,
-                                 GLenum bufferusage,
-                                 GLsizei width,
-                                 GLsizei height) override;
-  void TexParameteri(GLenum target, GLenum pname, GLint param) override;
-  void GetTexParameteriv(GLenum target, GLenum pname, GLint* value) override;
-
-  void CompressedTexImage2D(GLenum target,
-                            GLint level,
-                            GLenum internalformat,
-                            GLsizei width,
-                            GLsizei height,
-                            GLint border,
-                            GLsizei image_size,
-                            const void* data) override;
   GLuint CreateImageCHROMIUM(ClientBuffer buffer,
                              GLsizei width,
                              GLsizei height,
                              GLenum internalformat) override;
   void DestroyImageCHROMIUM(GLuint image_id) override;
-  void BindTexImage2DCHROMIUM(GLenum target, GLint image_id) override;
-  void ReleaseTexImage2DCHROMIUM(GLenum target, GLint image_id) override;
-  void FramebufferRenderbuffer(GLenum target,
-                               GLenum attachment,
-                               GLenum renderbuffertarget,
-                               GLuint renderbuffer) override;
-  void FramebufferTexture2D(GLenum target,
-                            GLenum attachment,
-                            GLenum textarget,
-                            GLuint texture,
-                            GLint level) override;
-  void RenderbufferStorage(GLenum target,
-                           GLenum internalformat,
-                           GLsizei width,
-                           GLsizei height) override;
 
   void* MapBufferCHROMIUM(GLuint target, GLenum access) override;
   GLboolean UnmapBufferCHROMIUM(GLuint target) override;
@@ -157,9 +85,6 @@
   void EndQueryEXT(GLenum target) override;
   void GetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint* params) override;
 
-  void DiscardFramebufferEXT(GLenum target,
-                             GLsizei count,
-                             const GLenum* attachments) override;
   void ProduceTextureDirectCHROMIUM(GLuint texture, GLbyte* mailbox) override;
   GLuint CreateAndConsumeTextureCHROMIUM(const GLbyte* mailbox) override;
   GLuint CreateAndTexStorage2DSharedImageCHROMIUM(
@@ -180,7 +105,6 @@
   void WaitSyncTokenCHROMIUM(const GLbyte* sync_token) override;
 
   size_t NumTextures() const;
-  GLuint TextureAt(int i) const;
 
   size_t NumUsedTextures() const { return used_textures_.size(); }
   bool UsedTexture(int texture) const {
@@ -191,9 +115,6 @@
   size_t NumFramebuffers() const;
   size_t NumRenderbuffers() const;
 
-  scoped_refptr<TestTexture> BoundTexture(GLenum target);
-  scoped_refptr<TestTexture> UnboundTexture(GLuint texture);
-  GLuint CreateExternalTexture();
   bool IsContextLost() { return context_lost_; }
   void set_test_support(TestContextSupport* test_support) {
     test_support_ = test_support;
@@ -267,20 +188,6 @@
   UpdateType last_update_type() { return last_update_type_; }
 
  protected:
-  struct TextureTargets {
-    TextureTargets();
-    ~TextureTargets();
-
-    void BindTexture(GLenum target, GLuint id);
-    void UnbindTexture(GLuint id);
-
-    GLuint BoundTexture(GLenum target);
-
-   private:
-    using TargetTextureMap = std::unordered_map<GLenum, GLuint>;
-    TargetTextureMap bound_textures_;
-  };
-
   struct Buffer {
     Buffer();
     ~Buffer();
@@ -293,74 +200,45 @@
     DISALLOW_COPY_AND_ASSIGN(Buffer);
   };
 
-  struct Image {
-    Image();
-    ~Image();
-
-    std::unique_ptr<uint8_t[]> pixels;
-
-   private:
-    DISALLOW_COPY_AND_ASSIGN(Image);
-  };
-
-  struct Namespace : public base::RefCountedThreadSafe<Namespace> {
-    Namespace();
-
-    // Protects all fields.
-    base::Lock lock;
-    unsigned next_buffer_id;
-    unsigned next_image_id;
-    unsigned next_texture_id;
-    unsigned next_renderbuffer_id;
-    std::unordered_map<unsigned, std::unique_ptr<Buffer>> buffers;
-    std::unordered_set<unsigned> images;
-    OrderedTextureMap textures;
-    std::unordered_set<unsigned> renderbuffer_set;
-
-   private:
-    friend class base::RefCountedThreadSafe<Namespace>;
-    ~Namespace();
-    DISALLOW_COPY_AND_ASSIGN(Namespace);
-  };
-
-  void CheckTextureIsBound(GLenum target);
-
-  void CreateNamespace();
-  static const GLuint kExternalTextureId;
-  GLuint BoundTextureId(GLenum target);
   unsigned context_id_;
   gpu::Capabilities test_capabilities_;
-  int times_bind_texture_succeeds_;
-  int times_end_query_succeeds_;
-  bool context_lost_;
-  int times_map_buffer_chromium_succeeds_;
+  int times_bind_texture_succeeds_ = -1;
+  int times_end_query_succeeds_ = -1;
+  bool context_lost_ = false;
+  int times_map_buffer_chromium_succeeds_ = -1;
   base::OnceClosure context_lost_callback_;
   std::unordered_set<unsigned> used_textures_;
-  unsigned next_program_id_;
+  unsigned next_program_id_ = 1000;
   std::unordered_set<unsigned> program_set_;
-  unsigned next_shader_id_;
+  unsigned next_shader_id_ = 2000;
   std::unordered_set<unsigned> shader_set_;
-  unsigned next_framebuffer_id_;
+  unsigned next_framebuffer_id_ = 1;
   std::unordered_set<unsigned> framebuffer_set_;
-  unsigned current_framebuffer_;
+  unsigned current_framebuffer_ = 0;
   std::vector<TestGLES2Interface*> shared_contexts_;
-  bool reshape_called_;
-  int width_;
-  int height_;
-  float scale_factor_;
-  TestContextSupport* test_support_;
+  bool reshape_called_ = false;
+  int width_ = 0;
+  int height_ = 0;
+  float scale_factor_ = -1.f;
+  TestContextSupport* test_support_ = nullptr;
   gfx::Rect update_rect_;
-  UpdateType last_update_type_;
-  GLuint64 next_insert_fence_sync_;
+  UpdateType last_update_type_ = NO_UPDATE;
+  GLuint64 next_insert_fence_sync_ = 1;
   gpu::SyncToken last_waited_sync_token_;
-  int unpack_alignment_;
+  int unpack_alignment_ = 4;
 
   base::flat_map<unsigned, unsigned> bound_buffer_;
-  TextureTargets texture_targets_;
 
-  scoped_refptr<Namespace> namespace_;
-  static Namespace* shared_namespace_;
-  base::WeakPtrFactory<TestGLES2Interface> weak_ptr_factory_;
+  unsigned next_buffer_id_ = 1;
+  unsigned next_image_id_ = 1;
+  unsigned next_texture_id_ = 1;
+  unsigned next_renderbuffer_id_ = 1;
+  std::unordered_map<unsigned, std::unique_ptr<Buffer>> buffers_;
+  std::unordered_set<unsigned> images_;
+  std::unordered_set<unsigned> textures_;
+  std::unordered_set<unsigned> renderbuffer_set_;
+
+  base::WeakPtrFactory<TestGLES2Interface> weak_ptr_factory_{this};
 };
 
 }  // namespace viz
diff --git a/components/viz/test/test_gles2_interface_unittest.cc b/components/viz/test/test_gles2_interface_unittest.cc
index 8a4198c..3eef7108 100644
--- a/components/viz/test/test_gles2_interface_unittest.cc
+++ b/components/viz/test/test_gles2_interface_unittest.cc
@@ -14,86 +14,6 @@
 namespace viz {
 namespace {
 
-static bool check_parameter_value(TestGLES2Interface* gl,
-                                  GLenum pname,
-                                  GLint expected_value) {
-  GLint actual_value = 0;
-  gl->GetTexParameteriv(GL_TEXTURE_2D, pname, &actual_value);
-  return expected_value == actual_value;
-}
-
-static void expect_default_parameter_values(TestGLES2Interface* gl) {
-  EXPECT_TRUE(check_parameter_value(gl, GL_TEXTURE_MAG_FILTER, GL_LINEAR));
-  EXPECT_TRUE(check_parameter_value(gl, GL_TEXTURE_MIN_FILTER,
-                                    GL_NEAREST_MIPMAP_LINEAR));
-  EXPECT_TRUE(check_parameter_value(gl, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));
-  EXPECT_TRUE(check_parameter_value(gl, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));
-  EXPECT_TRUE(check_parameter_value(gl, GL_TEXTURE_USAGE_ANGLE, GL_NONE));
-}
-
-TEST(TestGLES2InterfaceTest, GetDefaultTextureParameterValues) {
-  auto gl = std::make_unique<TestGLES2Interface>();
-
-  GLuint texture;
-  gl->GenTextures(1, &texture);
-  gl->BindTexture(GL_TEXTURE_2D, texture);
-
-  expect_default_parameter_values(gl.get());
-}
-
-TEST(TestGLES2InterfaceTest, SetAndGetTextureParameter) {
-  auto gl = std::make_unique<TestGLES2Interface>();
-
-  GLuint texture;
-  gl->GenTextures(1, &texture);
-  gl->BindTexture(GL_TEXTURE_2D, texture);
-  gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-
-  EXPECT_TRUE(
-      check_parameter_value(gl.get(), GL_TEXTURE_MIN_FILTER, GL_NEAREST));
-}
-
-TEST(TestGLES2InterfaceTest,
-     SetAndGetMultipleTextureParametersOnMultipleTextures) {
-  auto gl = std::make_unique<TestGLES2Interface>();
-
-  // Set and get non-default texture parameters on the first texture.
-  GLuint first_texture;
-  gl->GenTextures(1, &first_texture);
-  gl->BindTexture(GL_TEXTURE_2D, first_texture);
-  gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-  gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
-  EXPECT_TRUE(
-      check_parameter_value(gl.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR));
-  EXPECT_TRUE(
-      check_parameter_value(gl.get(), GL_TEXTURE_MAG_FILTER, GL_NEAREST));
-
-  // Set and get different, non-default texture parameters on the second
-  // texture.
-  GLuint second_texture;
-  gl->GenTextures(1, &second_texture);
-  gl->BindTexture(GL_TEXTURE_2D, second_texture);
-  gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
-                    GL_LINEAR_MIPMAP_NEAREST);
-  gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
-                    GL_LINEAR_MIPMAP_LINEAR);
-
-  EXPECT_TRUE(check_parameter_value(gl.get(), GL_TEXTURE_MIN_FILTER,
-                                    GL_LINEAR_MIPMAP_NEAREST));
-  EXPECT_TRUE(check_parameter_value(gl.get(), GL_TEXTURE_MAG_FILTER,
-                                    GL_LINEAR_MIPMAP_LINEAR));
-
-  // Get texture parameters on the first texture and verify they are still
-  // intact.
-  gl->BindTexture(GL_TEXTURE_2D, first_texture);
-
-  EXPECT_TRUE(
-      check_parameter_value(gl.get(), GL_TEXTURE_MIN_FILTER, GL_LINEAR));
-  EXPECT_TRUE(
-      check_parameter_value(gl.get(), GL_TEXTURE_MAG_FILTER, GL_NEAREST));
-}
-
 TEST(TestGLES2InterfaceTest, UseMultipleRenderAndFramebuffers) {
   auto gl = std::make_unique<TestGLES2Interface>();
 
diff --git a/components/viz/test/test_texture.cc b/components/viz/test/test_texture.cc
deleted file mode 100644
index a73c931..0000000
--- a/components/viz/test/test_texture.cc
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/viz/test/test_texture.h"
-
-#include <stddef.h>
-#include <stdint.h>
-
-#include "gpu/GLES2/gl2extchromium.h"
-#include "third_party/khronos/GLES2/gl2ext.h"
-
-namespace viz {
-
-size_t TextureSizeBytes(const gfx::Size& size, ResourceFormat format) {
-  unsigned int components_per_pixel = 4;
-  unsigned int bytes_per_component = 1;
-  return size.width() * size.height() * components_per_pixel *
-         bytes_per_component;
-}
-
-TestTexture::TestTexture() : format(RGBA_8888) {
-  // Initialize default parameter values.
-  params[GL_TEXTURE_MAG_FILTER] = GL_LINEAR;
-  params[GL_TEXTURE_MIN_FILTER] = GL_NEAREST_MIPMAP_LINEAR;
-  params[GL_TEXTURE_WRAP_S] = GL_CLAMP_TO_EDGE;
-  params[GL_TEXTURE_WRAP_T] = GL_CLAMP_TO_EDGE;
-  params[GL_TEXTURE_USAGE_ANGLE] = GL_NONE;
-}
-
-TestTexture::~TestTexture() = default;
-
-void TestTexture::Reallocate(const gfx::Size& size, ResourceFormat format) {
-  this->size = size;
-  this->format = format;
-  this->data.reset(new uint8_t[TextureSizeBytes(size, format)]);
-}
-
-bool TestTexture::IsValidParameter(GLenum pname) {
-  return params.find(pname) != params.end();
-}
-
-}  // namespace viz
diff --git a/components/viz/test/test_texture.h b/components/viz/test/test_texture.h
deleted file mode 100644
index e61e7af..0000000
--- a/components/viz/test/test_texture.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_VIZ_TEST_TEST_TEXTURE_H_
-#define COMPONENTS_VIZ_TEST_TEST_TEXTURE_H_
-
-#include <stddef.h>
-#include <stdint.h>
-
-#include <memory>
-#include <unordered_map>
-
-#include "base/memory/ref_counted.h"
-#include "components/viz/common/resources/resource_format.h"
-#include "third_party/khronos/GLES2/gl2.h"
-#include "ui/gfx/geometry/size.h"
-
-namespace viz {
-
-size_t TextureSizeBytes(const gfx::Size& size, ResourceFormat format);
-
-struct TestTexture : public base::RefCounted<TestTexture> {
-  TestTexture();
-
-  void Reallocate(const gfx::Size& size, ResourceFormat format);
-  bool IsValidParameter(GLenum pname);
-
-  gfx::Size size;
-  ResourceFormat format;
-  std::unique_ptr<uint8_t[]> data;
-
-  using TextureParametersMap = std::unordered_map<GLenum, GLint>;
-  TextureParametersMap params;
-
- private:
-  friend class base::RefCounted<TestTexture>;
-  ~TestTexture();
-};
-
-}  // namespace viz
-
-#endif  // COMPONENTS_VIZ_TEST_TEST_TEXTURE_H_
diff --git a/content/app/strings/translations/content_strings_mr.xtb b/content/app/strings/translations/content_strings_mr.xtb
index 8f895dd9..5b2eba7 100644
--- a/content/app/strings/translations/content_strings_mr.xtb
+++ b/content/app/strings/translations/content_strings_mr.xtb
@@ -4,7 +4,7 @@
 <translation id="1018939186200882850">मेनू आयटम</translation>
 <translation id="10623998915015855">टॉगल बटण</translation>
 <translation id="1088086359088493902">सेकंद</translation>
-<translation id="1171774979989969504">कृपया एक ईमेल अॅड्रेस एंटर करा.</translation>
+<translation id="1171774979989969504">कृपया एक ईमेल ॲड्रेस एंटर करा.</translation>
 <translation id="1178581264944972037">विराम द्या</translation>
 <translation id="1188858454923323853">पूरक</translation>
 <translation id="1206619573307042055">marquee</translation>
@@ -20,7 +20,7 @@
 <translation id="1637811476055996098">फायली निवडा</translation>
 <translation id="1650423536718072820">पुलकोट</translation>
 <translation id="1727886345390570319">सबटायटल मेनू लपवा</translation>
-<translation id="1729654308190250600">कृपया एक रिक्त नसलेला ईमेल अॅड्रेस एंटर करा.</translation>
+<translation id="1729654308190250600">कृपया एक रिक्त नसलेला ईमेल ॲड्रेस एंटर करा.</translation>
 <translation id="1758486001363313524">अन्य...</translation>
 <translation id="1806710327868736751">सूचना_संवाद</translation>
 <translation id="1821985195704844674">ट्री ग्रीड</translation>
diff --git a/content/browser/service_worker/service_worker_context_unittest.cc b/content/browser/service_worker/service_worker_context_unittest.cc
index 1946997..28e6427 100644
--- a/content/browser/service_worker/service_worker_context_unittest.cc
+++ b/content/browser/service_worker/service_worker_context_unittest.cc
@@ -375,6 +375,9 @@
   auto version = base::MakeRefCounted<ServiceWorkerVersion>(
       registration.get(), script_url, blink::mojom::ScriptType::kClassic,
       2l /* dummy version id */, context()->AsWeakPtr());
+  version->set_fetch_handler_existence(
+      ServiceWorkerVersion::FetchHandlerExistence::EXISTS);
+  version->SetStatus(ServiceWorkerVersion::ACTIVATED);
 
   ServiceWorkerRemoteProviderEndpoint endpoint;
   base::WeakPtr<ServiceWorkerProviderHost> host =
diff --git a/content/browser/service_worker/service_worker_provider_host.cc b/content/browser/service_worker/service_worker_provider_host.cc
index 27d80a29..93db2cb5 100644
--- a/content/browser/service_worker/service_worker_provider_host.cc
+++ b/content/browser/service_worker/service_worker_provider_host.cc
@@ -8,6 +8,7 @@
 
 #include "base/bind.h"
 #include "base/callback_helpers.h"
+#include "base/debug/alias.h"
 #include "base/guid.h"
 #include "base/memory/ptr_util.h"
 #include "base/stl_util.h"
@@ -309,6 +310,11 @@
   return schemes.find(url_.scheme()) != schemes.end();
 }
 
+ServiceWorkerVersion* ServiceWorkerProviderHost::controller() const {
+  CheckControllerConsistency();
+  return controller_.get();
+}
+
 blink::mojom::ControllerServiceWorkerMode
 ServiceWorkerProviderHost::GetControllerMode() const {
   if (!controller_)
@@ -357,10 +363,10 @@
   if (controller_registration_ != registration)
     return;
 
-  DCHECK(controller());
+  DCHECK(controller_);
   ServiceWorkerVersion* active = controller_registration_->active_version();
   DCHECK(active);
-  DCHECK_NE(active, controller());
+  DCHECK_NE(active, controller_.get());
   DCHECK_EQ(active->status(), ServiceWorkerVersion::ACTIVATING);
   UpdateController(true /* notify_controllerchange */);
 }
@@ -843,7 +849,6 @@
   return true;
 }
 
-#if DCHECK_IS_ON()
 void ServiceWorkerProviderHost::CheckControllerConsistency() const {
   if (!controller_) {
     DCHECK(!controller_registration_);
@@ -852,8 +857,23 @@
   DCHECK(IsProviderForClient());
   DCHECK(controller_registration_);
   DCHECK_EQ(controller_->registration_id(), controller_registration_->id());
+  switch (controller_->status()) {
+    case ServiceWorkerVersion::NEW:
+    case ServiceWorkerVersion::INSTALLING:
+    case ServiceWorkerVersion::INSTALLED:
+    case ServiceWorkerVersion::REDUNDANT: {
+      ServiceWorkerVersion::Status status = controller_->status();
+      base::debug::Alias(&status);
+      CHECK(false) << "Controller service worker has a bad status: "
+                   << ServiceWorkerVersion::VersionStatusToString(status);
+      break;
+    }
+    case ServiceWorkerVersion::ACTIVATING:
+    case ServiceWorkerVersion::ACTIVATED:
+      // Valid status, controller is being activated.
+      break;
+  }
 }
-#endif
 
 void ServiceWorkerProviderHost::Register(
     const GURL& script_url,
diff --git a/content/browser/service_worker/service_worker_provider_host.h b/content/browser/service_worker/service_worker_provider_host.h
index 039a8f3..66216dcd 100644
--- a/content/browser/service_worker/service_worker_provider_host.h
+++ b/content/browser/service_worker/service_worker_provider_host.h
@@ -180,13 +180,7 @@
   blink::mojom::ControllerServiceWorkerMode GetControllerMode() const;
 
   // For service worker clients. Returns this client's controller.
-  ServiceWorkerVersion* controller() const {
-#if DCHECK_IS_ON()
-    CheckControllerConsistency();
-#endif  // DCHECK_IS_ON()
-
-    return controller_.get();
-  }
+  ServiceWorkerVersion* controller() const;
 
   ServiceWorkerRegistration* controller_registration() const {
 #if DCHECK_IS_ON()
@@ -514,9 +508,9 @@
   // controller has not yet been decided.
   bool IsControllerDecided() const;
 
-#if DCHECK_IS_ON()
+  // TODO(crbug.com/951571): Put this check function behind DCHECK_IS_ON() once
+  // we figured out the cause of invalid controller status.
   void CheckControllerConsistency() const;
-#endif  // DCHECK_IS_ON()
 
   // Implements blink::mojom::ServiceWorkerContainerHost.
   void Register(const GURL& script_url,
diff --git a/content/browser/service_worker/service_worker_registration_unittest.cc b/content/browser/service_worker/service_worker_registration_unittest.cc
index 028b022a0..3327ee3 100644
--- a/content/browser/service_worker/service_worker_registration_unittest.cc
+++ b/content/browser/service_worker/service_worker_registration_unittest.cc
@@ -1078,8 +1078,11 @@
   const GURL kScriptUrl("https://www.example.com/sw.js");
   scoped_refptr<ServiceWorkerRegistration> registration =
       CreateRegistration(kScope);
+
   scoped_refptr<ServiceWorkerVersion> version =
       CreateVersion(registration.get(), kScriptUrl);
+  version->SetStatus(ServiceWorkerVersion::ACTIVATED);
+
   ServiceWorkerRemoteProviderEndpoint remote_endpoint;
   base::WeakPtr<ServiceWorkerProviderHost> host = CreateProviderHostForWindow(
       helper_->mock_render_process_id(), true /* is_parent_frame_secure */,
diff --git a/content/browser/service_worker/service_worker_storage_unittest.cc b/content/browser/service_worker/service_worker_storage_unittest.cc
index f2d3426..c9e1578 100644
--- a/content/browser/service_worker/service_worker_storage_unittest.cc
+++ b/content/browser/service_worker/service_worker_storage_unittest.cc
@@ -1465,6 +1465,7 @@
 TEST_F(ServiceWorkerResourceStorageTest, DeleteRegistration_ActiveVersion) {
   // Promote the worker to active and add a controllee.
   registration_->SetActiveVersion(registration_->waiting_version());
+  registration_->active_version()->SetStatus(ServiceWorkerVersion::ACTIVATED);
   storage()->UpdateToActiveState(registration_.get(), base::DoNothing());
   ServiceWorkerRemoteProviderEndpoint remote_endpoint;
   base::WeakPtr<ServiceWorkerProviderHost> host = CreateProviderHostForWindow(
@@ -1512,6 +1513,7 @@
 TEST_F(ServiceWorkerResourceStorageDiskTest, CleanupOnRestart) {
   // Promote the worker to active and add a controllee.
   registration_->SetActiveVersion(registration_->waiting_version());
+  registration_->active_version()->SetStatus(ServiceWorkerVersion::ACTIVATED);
   registration_->SetWaitingVersion(nullptr);
   storage()->UpdateToActiveState(registration_.get(), base::DoNothing());
   ServiceWorkerRemoteProviderEndpoint remote_endpoint;
@@ -1672,6 +1674,7 @@
 TEST_F(ServiceWorkerResourceStorageTest, UpdateRegistration) {
   // Promote the worker to active worker and add a controllee.
   registration_->SetActiveVersion(registration_->waiting_version());
+  registration_->active_version()->SetStatus(ServiceWorkerVersion::ACTIVATED);
   storage()->UpdateToActiveState(registration_.get(), base::DoNothing());
   ServiceWorkerRemoteProviderEndpoint remote_endpoint;
   base::WeakPtr<ServiceWorkerProviderHost> host = CreateProviderHostForWindow(
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
index ba36f0a..ac56f2c 100644
--- a/content/browser/service_worker/service_worker_version.cc
+++ b/content/browser/service_worker/service_worker_version.cc
@@ -702,6 +702,9 @@
   const std::string& uuid = provider_host->client_uuid();
   CHECK(!provider_host->client_uuid().empty());
   DCHECK(!base::ContainsKey(controllee_map_, uuid));
+  // TODO(crbug.com/951571): Change to DCHECK once we figured out the cause of
+  // invalid controller status.
+  CHECK(status_ == ACTIVATING || status_ == ACTIVATED);
 
   controllee_map_[uuid] = provider_host;
   embedded_worker_->UpdateForegroundPriority();
diff --git a/gpu/BUILD.gn b/gpu/BUILD.gn
index 248e44bc..3796bef 100644
--- a/gpu/BUILD.gn
+++ b/gpu/BUILD.gn
@@ -255,6 +255,7 @@
   if (use_dawn) {
     sources += [
       "command_buffer/tests/webgpu_fence_unittest.cc",
+      "command_buffer/tests/webgpu_mailbox_unittest.cc",
       "command_buffer/tests/webgpu_test.cc",
       "command_buffer/tests/webgpu_test.h",
     ]
diff --git a/gpu/command_buffer/build_webgpu_cmd_buffer.py b/gpu/command_buffer/build_webgpu_cmd_buffer.py
index f106793..66df1e9 100755
--- a/gpu/command_buffer/build_webgpu_cmd_buffer.py
+++ b/gpu/command_buffer/build_webgpu_cmd_buffer.py
@@ -42,9 +42,16 @@
       'commands': 'size * sizeof(char)',
     },
   },
+  'AssociateMailbox': {
+    'type': 'PUT',
+    'count': 16,  # GL_MAILBOX_SIZE_CHROMIUM
+    'trace_level': 1,
+  },
+  'DissociateMailbox': {
+    'trace_level': 1,
+  },
 }
 
-
 def main(argv):
   """This is the main function."""
   parser = OptionParser()
diff --git a/gpu/command_buffer/client/webgpu_cmd_helper_autogen.h b/gpu/command_buffer/client/webgpu_cmd_helper_autogen.h
index f94bf3d1..a90c77a 100644
--- a/gpu/command_buffer/client/webgpu_cmd_helper_autogen.h
+++ b/gpu/command_buffer/client/webgpu_cmd_helper_autogen.h
@@ -20,4 +20,27 @@
   }
 }
 
+void AssociateMailboxImmediate(GLuint device_id,
+                               GLuint device_generation,
+                               GLuint id,
+                               GLuint generation,
+                               GLuint usage,
+                               const GLbyte* mailbox) {
+  const uint32_t size = webgpu::cmds::AssociateMailboxImmediate::ComputeSize();
+  webgpu::cmds::AssociateMailboxImmediate* c =
+      GetImmediateCmdSpaceTotalSize<webgpu::cmds::AssociateMailboxImmediate>(
+          size);
+  if (c) {
+    c->Init(device_id, device_generation, id, generation, usage, mailbox);
+  }
+}
+
+void DissociateMailbox(GLuint texture_id, GLuint texture_generation) {
+  webgpu::cmds::DissociateMailbox* c =
+      GetCmdSpace<webgpu::cmds::DissociateMailbox>();
+  if (c) {
+    c->Init(texture_id, texture_generation);
+  }
+}
+
 #endif  // GPU_COMMAND_BUFFER_CLIENT_WEBGPU_CMD_HELPER_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/webgpu_implementation.cc b/gpu/command_buffer/client/webgpu_implementation.cc
index c93978f..af47df4 100644
--- a/gpu/command_buffer/client/webgpu_implementation.cc
+++ b/gpu/command_buffer/client/webgpu_implementation.cc
@@ -278,5 +278,15 @@
 #endif
 }
 
+ReservedTexture WebGPUImplementation::ReserveTexture(DawnDevice device) {
+#if BUILDFLAG(USE_DAWN)
+  dawn_wire::ReservedTexture reservation = wire_client_->ReserveTexture(device);
+  return {reservation.texture, reservation.id, reservation.generation};
+#else
+  NOTREACHED();
+  return {};
+#endif
+}
+
 }  // namespace webgpu
 }  // namespace gpu
diff --git a/gpu/command_buffer/client/webgpu_implementation.h b/gpu/command_buffer/client/webgpu_implementation.h
index 3032f99..fe7adeb 100644
--- a/gpu/command_buffer/client/webgpu_implementation.h
+++ b/gpu/command_buffer/client/webgpu_implementation.h
@@ -114,9 +114,11 @@
   const DawnProcTable& GetProcs() const override;
   void FlushCommands() override;
   DawnDevice GetDefaultDevice() override;
+  ReservedTexture ReserveTexture(DawnDevice device) override;
 
  private:
   const char* GetLogPrefix() const { return "webgpu"; }
+  void CheckGLError() {}
 
   WebGPUCmdHelper* helper_;
 #if BUILDFLAG(USE_DAWN)
diff --git a/gpu/command_buffer/client/webgpu_implementation_autogen.h b/gpu/command_buffer/client/webgpu_implementation_autogen.h
index fe65c4a..1e299de 100644
--- a/gpu/command_buffer/client/webgpu_implementation_autogen.h
+++ b/gpu/command_buffer/client/webgpu_implementation_autogen.h
@@ -13,4 +13,13 @@
 #ifndef GPU_COMMAND_BUFFER_CLIENT_WEBGPU_IMPLEMENTATION_AUTOGEN_H_
 #define GPU_COMMAND_BUFFER_CLIENT_WEBGPU_IMPLEMENTATION_AUTOGEN_H_
 
+void AssociateMailbox(GLuint device_id,
+                      GLuint device_generation,
+                      GLuint id,
+                      GLuint generation,
+                      GLuint usage,
+                      const GLbyte* mailbox) override;
+
+void DissociateMailbox(GLuint texture_id, GLuint texture_generation) override;
+
 #endif  // GPU_COMMAND_BUFFER_CLIENT_WEBGPU_IMPLEMENTATION_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/webgpu_implementation_impl_autogen.h b/gpu/command_buffer/client/webgpu_implementation_impl_autogen.h
index 06f94d4..c5f555e 100644
--- a/gpu/command_buffer/client/webgpu_implementation_impl_autogen.h
+++ b/gpu/command_buffer/client/webgpu_implementation_impl_autogen.h
@@ -13,4 +13,31 @@
 #ifndef GPU_COMMAND_BUFFER_CLIENT_WEBGPU_IMPLEMENTATION_IMPL_AUTOGEN_H_
 #define GPU_COMMAND_BUFFER_CLIENT_WEBGPU_IMPLEMENTATION_IMPL_AUTOGEN_H_
 
+void WebGPUImplementation::AssociateMailbox(GLuint device_id,
+                                            GLuint device_generation,
+                                            GLuint id,
+                                            GLuint generation,
+                                            GLuint usage,
+                                            const GLbyte* mailbox) {
+  GPU_CLIENT_SINGLE_THREAD_CHECK();
+  GPU_CLIENT_LOG("[" << GetLogPrefix() << "] wgAssociateMailbox(" << device_id
+                     << ", " << device_generation << ", " << id << ", "
+                     << generation << ", " << usage << ", "
+                     << static_cast<const void*>(mailbox) << ")");
+  uint32_t count = 16;
+  for (uint32_t ii = 0; ii < count; ++ii)
+    GPU_CLIENT_LOG("value[" << ii << "]: " << mailbox[ii]);
+  helper_->AssociateMailboxImmediate(device_id, device_generation, id,
+                                     generation, usage, mailbox);
+  CheckGLError();
+}
+
+void WebGPUImplementation::DissociateMailbox(GLuint texture_id,
+                                             GLuint texture_generation) {
+  GPU_CLIENT_SINGLE_THREAD_CHECK();
+  GPU_CLIENT_LOG("[" << GetLogPrefix() << "] wgDissociateMailbox(" << texture_id
+                     << ", " << texture_generation << ")");
+  helper_->DissociateMailbox(texture_id, texture_generation);
+}
+
 #endif  // GPU_COMMAND_BUFFER_CLIENT_WEBGPU_IMPLEMENTATION_IMPL_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/webgpu_implementation_unittest_autogen.h b/gpu/command_buffer/client/webgpu_implementation_unittest_autogen.h
index 12aa0d1..66a91a3 100644
--- a/gpu/command_buffer/client/webgpu_implementation_unittest_autogen.h
+++ b/gpu/command_buffer/client/webgpu_implementation_unittest_autogen.h
@@ -13,4 +13,30 @@
 #ifndef GPU_COMMAND_BUFFER_CLIENT_WEBGPU_IMPLEMENTATION_UNITTEST_AUTOGEN_H_
 #define GPU_COMMAND_BUFFER_CLIENT_WEBGPU_IMPLEMENTATION_UNITTEST_AUTOGEN_H_
 
+TEST_F(WebGPUImplementationTest, AssociateMailbox) {
+  GLbyte data[16] = {0};
+  struct Cmds {
+    cmds::AssociateMailboxImmediate cmd;
+    GLbyte data[16];
+  };
+
+  for (int jj = 0; jj < 16; ++jj) {
+    data[jj] = static_cast<GLbyte>(jj);
+  }
+  Cmds expected;
+  expected.cmd.Init(1, 2, 3, 4, 5, &data[0]);
+  gl_->AssociateMailbox(1, 2, 3, 4, 5, &data[0]);
+  EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected)));
+}
+
+TEST_F(WebGPUImplementationTest, DissociateMailbox) {
+  struct Cmds {
+    cmds::DissociateMailbox cmd;
+  };
+  Cmds expected;
+  expected.cmd.Init(1, 2);
+
+  gl_->DissociateMailbox(1, 2);
+  EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected)));
+}
 #endif  // GPU_COMMAND_BUFFER_CLIENT_WEBGPU_IMPLEMENTATION_UNITTEST_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/webgpu_interface.h b/gpu/command_buffer/client/webgpu_interface.h
index 480752a..917042a 100644
--- a/gpu/command_buffer/client/webgpu_interface.h
+++ b/gpu/command_buffer/client/webgpu_interface.h
@@ -15,6 +15,12 @@
 namespace gpu {
 namespace webgpu {
 
+struct ReservedTexture {
+  DawnTexture texture;
+  uint32_t id;
+  uint32_t generation;
+};
+
 class WebGPUInterface : public InterfaceBase {
  public:
   WebGPUInterface() {}
@@ -23,6 +29,7 @@
   virtual const DawnProcTable& GetProcs() const = 0;
   virtual void FlushCommands() = 0;
   virtual DawnDevice GetDefaultDevice() = 0;
+  virtual ReservedTexture ReserveTexture(DawnDevice device) = 0;
 
 // Include the auto-generated part of this class. We split this because
 // it means we can easily edit the non-auto generated parts right here in
diff --git a/gpu/command_buffer/client/webgpu_interface_autogen.h b/gpu/command_buffer/client/webgpu_interface_autogen.h
index e357cc2..9278447 100644
--- a/gpu/command_buffer/client/webgpu_interface_autogen.h
+++ b/gpu/command_buffer/client/webgpu_interface_autogen.h
@@ -13,4 +13,12 @@
 #ifndef GPU_COMMAND_BUFFER_CLIENT_WEBGPU_INTERFACE_AUTOGEN_H_
 #define GPU_COMMAND_BUFFER_CLIENT_WEBGPU_INTERFACE_AUTOGEN_H_
 
+virtual void AssociateMailbox(GLuint device_id,
+                              GLuint device_generation,
+                              GLuint id,
+                              GLuint generation,
+                              GLuint usage,
+                              const GLbyte* mailbox) = 0;
+virtual void DissociateMailbox(GLuint texture_id,
+                               GLuint texture_generation) = 0;
 #endif  // GPU_COMMAND_BUFFER_CLIENT_WEBGPU_INTERFACE_AUTOGEN_H_
diff --git a/gpu/command_buffer/common/webgpu_cmd_format.h b/gpu/command_buffer/common/webgpu_cmd_format.h
index 327d1f9..09d6a09 100644
--- a/gpu/command_buffer/common/webgpu_cmd_format.h
+++ b/gpu/command_buffer/common/webgpu_cmd_format.h
@@ -13,6 +13,7 @@
 #include "base/logging.h"
 #include "base/macros.h"
 #include "gpu/command_buffer/common/common_cmd_format.h"
+#include "gpu/command_buffer/common/gl2_types.h"
 #include "gpu/command_buffer/common/webgpu_cmd_ids.h"
 #include "ui/gfx/buffer_types.h"
 
diff --git a/gpu/command_buffer/common/webgpu_cmd_format_autogen.h b/gpu/command_buffer/common/webgpu_cmd_format_autogen.h
index fdb77cc..55d67cf 100644
--- a/gpu/command_buffer/common/webgpu_cmd_format_autogen.h
+++ b/gpu/command_buffer/common/webgpu_cmd_format_autogen.h
@@ -59,4 +59,109 @@
 static_assert(offsetof(DawnCommands, size) == 12,
               "offset of DawnCommands size should be 12");
 
+struct AssociateMailboxImmediate {
+  typedef AssociateMailboxImmediate ValueType;
+  static const CommandId kCmdId = kAssociateMailboxImmediate;
+  static const cmd::ArgFlags kArgFlags = cmd::kAtLeastN;
+  static const uint8_t cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(1);
+
+  static uint32_t ComputeDataSize() {
+    return static_cast<uint32_t>(sizeof(GLbyte) * 16);
+  }
+
+  static uint32_t ComputeSize() {
+    return static_cast<uint32_t>(sizeof(ValueType) + ComputeDataSize());
+  }
+
+  void SetHeader() { header.SetCmdByTotalSize<ValueType>(ComputeSize()); }
+
+  void Init(GLuint _device_id,
+            GLuint _device_generation,
+            GLuint _id,
+            GLuint _generation,
+            GLuint _usage,
+            const GLbyte* _mailbox) {
+    SetHeader();
+    device_id = _device_id;
+    device_generation = _device_generation;
+    id = _id;
+    generation = _generation;
+    usage = _usage;
+    memcpy(ImmediateDataAddress(this), _mailbox, ComputeDataSize());
+  }
+
+  void* Set(void* cmd,
+            GLuint _device_id,
+            GLuint _device_generation,
+            GLuint _id,
+            GLuint _generation,
+            GLuint _usage,
+            const GLbyte* _mailbox) {
+    static_cast<ValueType*>(cmd)->Init(_device_id, _device_generation, _id,
+                                       _generation, _usage, _mailbox);
+    const uint32_t size = ComputeSize();
+    return NextImmediateCmdAddressTotalSize<ValueType>(cmd, size);
+  }
+
+  gpu::CommandHeader header;
+  uint32_t device_id;
+  uint32_t device_generation;
+  uint32_t id;
+  uint32_t generation;
+  uint32_t usage;
+};
+
+static_assert(sizeof(AssociateMailboxImmediate) == 24,
+              "size of AssociateMailboxImmediate should be 24");
+static_assert(offsetof(AssociateMailboxImmediate, header) == 0,
+              "offset of AssociateMailboxImmediate header should be 0");
+static_assert(offsetof(AssociateMailboxImmediate, device_id) == 4,
+              "offset of AssociateMailboxImmediate device_id should be 4");
+static_assert(
+    offsetof(AssociateMailboxImmediate, device_generation) == 8,
+    "offset of AssociateMailboxImmediate device_generation should be 8");
+static_assert(offsetof(AssociateMailboxImmediate, id) == 12,
+              "offset of AssociateMailboxImmediate id should be 12");
+static_assert(offsetof(AssociateMailboxImmediate, generation) == 16,
+              "offset of AssociateMailboxImmediate generation should be 16");
+static_assert(offsetof(AssociateMailboxImmediate, usage) == 20,
+              "offset of AssociateMailboxImmediate usage should be 20");
+
+struct DissociateMailbox {
+  typedef DissociateMailbox ValueType;
+  static const CommandId kCmdId = kDissociateMailbox;
+  static const cmd::ArgFlags kArgFlags = cmd::kFixed;
+  static const uint8_t cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(1);
+
+  static uint32_t ComputeSize() {
+    return static_cast<uint32_t>(sizeof(ValueType));  // NOLINT
+  }
+
+  void SetHeader() { header.SetCmd<ValueType>(); }
+
+  void Init(GLuint _texture_id, GLuint _texture_generation) {
+    SetHeader();
+    texture_id = _texture_id;
+    texture_generation = _texture_generation;
+  }
+
+  void* Set(void* cmd, GLuint _texture_id, GLuint _texture_generation) {
+    static_cast<ValueType*>(cmd)->Init(_texture_id, _texture_generation);
+    return NextCmdAddress<ValueType>(cmd);
+  }
+
+  gpu::CommandHeader header;
+  uint32_t texture_id;
+  uint32_t texture_generation;
+};
+
+static_assert(sizeof(DissociateMailbox) == 12,
+              "size of DissociateMailbox should be 12");
+static_assert(offsetof(DissociateMailbox, header) == 0,
+              "offset of DissociateMailbox header should be 0");
+static_assert(offsetof(DissociateMailbox, texture_id) == 4,
+              "offset of DissociateMailbox texture_id should be 4");
+static_assert(offsetof(DissociateMailbox, texture_generation) == 8,
+              "offset of DissociateMailbox texture_generation should be 8");
+
 #endif  // GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_FORMAT_AUTOGEN_H_
diff --git a/gpu/command_buffer/common/webgpu_cmd_format_test_autogen.h b/gpu/command_buffer/common/webgpu_cmd_format_test_autogen.h
index 61ac266..8096fe5 100644
--- a/gpu/command_buffer/common/webgpu_cmd_format_test_autogen.h
+++ b/gpu/command_buffer/common/webgpu_cmd_format_test_autogen.h
@@ -28,4 +28,55 @@
   CheckBytesWrittenMatchesExpectedSize(next_cmd, sizeof(cmd));
 }
 
+TEST_F(WebGPUFormatTest, AssociateMailboxImmediate) {
+  const int kSomeBaseValueToTestWith = 51;
+  static GLbyte data[] = {
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 0),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 1),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 2),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 3),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 4),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 5),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 6),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 7),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 8),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 9),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 10),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 11),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 12),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 13),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 14),
+      static_cast<GLbyte>(kSomeBaseValueToTestWith + 15),
+  };
+  cmds::AssociateMailboxImmediate& cmd =
+      *GetBufferAs<cmds::AssociateMailboxImmediate>();
+  void* next_cmd =
+      cmd.Set(&cmd, static_cast<GLuint>(11), static_cast<GLuint>(12),
+              static_cast<GLuint>(13), static_cast<GLuint>(14),
+              static_cast<GLuint>(15), data);
+  EXPECT_EQ(static_cast<uint32_t>(cmds::AssociateMailboxImmediate::kCmdId),
+            cmd.header.command);
+  EXPECT_EQ(sizeof(cmd) + RoundSizeToMultipleOfEntries(sizeof(data)),
+            cmd.header.size * 4u);
+  EXPECT_EQ(static_cast<GLuint>(11), cmd.device_id);
+  EXPECT_EQ(static_cast<GLuint>(12), cmd.device_generation);
+  EXPECT_EQ(static_cast<GLuint>(13), cmd.id);
+  EXPECT_EQ(static_cast<GLuint>(14), cmd.generation);
+  EXPECT_EQ(static_cast<GLuint>(15), cmd.usage);
+  CheckBytesWrittenMatchesExpectedSize(
+      next_cmd, sizeof(cmd) + RoundSizeToMultipleOfEntries(sizeof(data)));
+}
+
+TEST_F(WebGPUFormatTest, DissociateMailbox) {
+  cmds::DissociateMailbox& cmd = *GetBufferAs<cmds::DissociateMailbox>();
+  void* next_cmd =
+      cmd.Set(&cmd, static_cast<GLuint>(11), static_cast<GLuint>(12));
+  EXPECT_EQ(static_cast<uint32_t>(cmds::DissociateMailbox::kCmdId),
+            cmd.header.command);
+  EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u);
+  EXPECT_EQ(static_cast<GLuint>(11), cmd.texture_id);
+  EXPECT_EQ(static_cast<GLuint>(12), cmd.texture_generation);
+  CheckBytesWrittenMatchesExpectedSize(next_cmd, sizeof(cmd));
+}
+
 #endif  // GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_FORMAT_TEST_AUTOGEN_H_
diff --git a/gpu/command_buffer/common/webgpu_cmd_ids_autogen.h b/gpu/command_buffer/common/webgpu_cmd_ids_autogen.h
index 0c953a8..ff35315d 100644
--- a/gpu/command_buffer/common/webgpu_cmd_ids_autogen.h
+++ b/gpu/command_buffer/common/webgpu_cmd_ids_autogen.h
@@ -11,7 +11,10 @@
 #ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_IDS_AUTOGEN_H_
 #define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_IDS_AUTOGEN_H_
 
-#define WEBGPU_COMMAND_LIST(OP) OP(DawnCommands) /* 256 */
+#define WEBGPU_COMMAND_LIST(OP)           \
+  OP(DawnCommands)              /* 256 */ \
+  OP(AssociateMailboxImmediate) /* 257 */ \
+  OP(DissociateMailbox)         /* 258 */
 
 enum CommandId {
   kOneBeforeStartPoint =
diff --git a/gpu/command_buffer/service/shared_image_backing.cc b/gpu/command_buffer/service/shared_image_backing.cc
index 99d8bdb..ab5b0a7be 100644
--- a/gpu/command_buffer/service/shared_image_backing.cc
+++ b/gpu/command_buffer/service/shared_image_backing.cc
@@ -110,6 +110,10 @@
   return !refs_.empty();
 }
 
+size_t SharedImageBacking::EstimatedSizeForMemTracking() const {
+  return estimated_size_;
+}
+
 bool SharedImageBacking::have_context() const {
   AssertLockedIfNecessary();
 
diff --git a/gpu/command_buffer/service/shared_image_backing.h b/gpu/command_buffer/service/shared_image_backing.h
index 1666ee7..53387c6 100644
--- a/gpu/command_buffer/service/shared_image_backing.h
+++ b/gpu/command_buffer/service/shared_image_backing.h
@@ -89,6 +89,10 @@
   // TODO(ericrk): Remove this once the new codepath is complete.
   virtual bool ProduceLegacyMailbox(MailboxManager* mailbox_manager) = 0;
 
+  // Reports the estimated size of the backing for the purpose of memory
+  // tracking.
+  virtual size_t EstimatedSizeForMemTracking() const;
+
  protected:
   // Used by SharedImageManager.
   friend class SharedImageManager;
diff --git a/gpu/command_buffer/service/shared_image_backing_factory_iosurface.h b/gpu/command_buffer/service/shared_image_backing_factory_iosurface.h
index f049fc8..68caa0a 100644
--- a/gpu/command_buffer/service/shared_image_backing_factory_iosurface.h
+++ b/gpu/command_buffer/service/shared_image_backing_factory_iosurface.h
@@ -30,7 +30,8 @@
     : public SharedImageBackingFactory {
  public:
   SharedImageBackingFactoryIOSurface(const GpuDriverBugWorkarounds& workarounds,
-                                     const GpuFeatureInfo& gpu_feature_info);
+                                     const GpuFeatureInfo& gpu_feature_info,
+                                     bool use_gl);
   ~SharedImageBackingFactoryIOSurface() override;
 
   // SharedImageBackingFactory implementation.
@@ -59,7 +60,10 @@
       uint32_t usage) override;
 
  private:
+  void CollectGLFormatInfo(const GpuDriverBugWorkarounds& workarounds,
+                           const GpuFeatureInfo& gpu_feature_info);
   bool format_supported_by_gl_[viz::RESOURCE_FORMAT_MAX + 1];
+  bool use_gl_ = false;
 
   DISALLOW_COPY_AND_ASSIGN(SharedImageBackingFactoryIOSurface);
 };
diff --git a/gpu/command_buffer/service/shared_image_backing_factory_iosurface.mm b/gpu/command_buffer/service/shared_image_backing_factory_iosurface.mm
index f0301b3..d25459d 100644
--- a/gpu/command_buffer/service/shared_image_backing_factory_iosurface.mm
+++ b/gpu/command_buffer/service/shared_image_backing_factory_iosurface.mm
@@ -201,12 +201,20 @@
       : SharedImageRepresentationDawn(manager, backing, tracker),
         io_surface_(std::move(io_surface)),
         device_(device),
-        dawn_format_(dawn_format) {
+        dawn_format_(dawn_format),
+        dawn_procs_(dawn_native::GetProcs()) {
     DCHECK(device_);
     DCHECK(io_surface_);
+
+    // Keep a reference to the device so that it stays valid (it might become
+    // lost in which case operations will be noops).
+    dawn_procs_.deviceReference(device_);
   }
 
-  ~SharedImageRepresentationDawnIOSurface() override {}
+  ~SharedImageRepresentationDawnIOSurface() override {
+    EndAccess();
+    dawn_procs_.deviceRelease(device_);
+  }
 
   DawnTexture BeginAccess(DawnTextureUsageBit usage) final {
     DawnTextureDescriptor desc;
@@ -219,11 +227,37 @@
     desc.mipLevelCount = 1;
     desc.sampleCount = 1;
 
-    return dawn_native::metal::WrapIOSurface(device_, &desc, io_surface_.get(),
-                                             0);
+    texture_ =
+        dawn_native::metal::WrapIOSurface(device_, &desc, io_surface_.get(), 0);
+
+    if (texture_) {
+      // Keep a reference to the texture so that it stays valid (its content
+      // might be destroyed).
+      dawn_procs_.textureReference(texture_);
+
+      // Assume that the user of this representation will write to the texture
+      // so set the cleared flag so that other representations don't overwrite
+      // the result.
+      // TODO(cwallez@chromium.org): This is incorrect and allows reading
+      // uninitialized data. When !IsCleared we should tell dawn_native to
+      // consider the texture lazy-cleared.
+      SetCleared();
+    }
+
+    return texture_;
   }
 
   void EndAccess() final {
+    if (!texture_) {
+      return;
+    }
+    // TODO(cwallez@chromium.org): query dawn_native to know if the texture was
+    // cleared and set IsCleared appropriately.
+
+    // All further operations on the textures are errors (they would be racy
+    // with other backings).
+    dawn_procs_.textureDestroy(texture_);
+
     // macOS has a global GPU command queue so synchronization between APIs and
     // devices is automatic. However on Metal, dawnQueueSubmit "commits" the
     // Metal command buffers but they aren't "scheduled" in the global queue
@@ -233,12 +267,20 @@
     // This is a blocking call but should be almost instant.
     TRACE_EVENT0("gpu", "SharedImageRepresentationDawnIOSurface::EndAccess");
     dawn_native::metal::WaitForCommandsToBeScheduled(device_);
+
+    dawn_procs_.textureRelease(texture_);
+    texture_ = nullptr;
   }
 
  private:
   base::ScopedCFTypeRef<IOSurfaceRef> io_surface_;
   DawnDevice device_;
+  DawnTexture texture_ = nullptr;
   DawnTextureFormat dawn_format_;
+
+  // TODO(cwallez@chromium.org): Load procs only once when the factory is
+  // created and pass a pointer to them around?
+  DawnProcTable dawn_procs_;
 };
 #endif  // BUILDFLAG(USE_DAWN)
 
@@ -431,6 +473,16 @@
 // SharedImageBackings wrapping IOSurfaces.
 SharedImageBackingFactoryIOSurface::SharedImageBackingFactoryIOSurface(
     const GpuDriverBugWorkarounds& workarounds,
+    const GpuFeatureInfo& gpu_feature_info,
+    bool use_gl)
+    : use_gl_(use_gl) {
+  if (use_gl_) {
+    CollectGLFormatInfo(workarounds, gpu_feature_info);
+  }
+}
+
+void SharedImageBackingFactoryIOSurface::CollectGLFormatInfo(
+    const GpuDriverBugWorkarounds& workarounds,
     const GpuFeatureInfo& gpu_feature_info) {
   scoped_refptr<gles2::FeatureInfo> feature_info =
       new gles2::FeatureInfo(workarounds, gpu_feature_info);
@@ -465,7 +517,7 @@
   DCHECK(!is_thread_safe);
   // Check the format is supported and for simplicity always require it to be
   // supported for GL.
-  if (!format_supported_by_gl_[format]) {
+  if (use_gl_ && !format_supported_by_gl_[format]) {
     LOG(ERROR) << "viz::ResourceFormat " << format
                << " not supported by IOSurfaces";
     return nullptr;
diff --git a/gpu/command_buffer/service/shared_image_backing_factory_iosurface_unittest.cc b/gpu/command_buffer/service/shared_image_backing_factory_iosurface_unittest.cc
index 7a4411f8..e18b139 100644
--- a/gpu/command_buffer/service/shared_image_backing_factory_iosurface_unittest.cc
+++ b/gpu/command_buffer/service/shared_image_backing_factory_iosurface_unittest.cc
@@ -57,7 +57,7 @@
     context_state_->InitializeGL(GpuPreferences(), std::move(feature_info));
 
     backing_factory_ = std::make_unique<SharedImageBackingFactoryIOSurface>(
-        workarounds, GpuFeatureInfo());
+        workarounds, GpuFeatureInfo(), /*use_gl*/ true);
 
     memory_type_tracker_ = std::make_unique<MemoryTypeTracker>(nullptr);
     shared_image_representation_factory_ =
@@ -282,18 +282,19 @@
         dawn::Texture::Acquire(dawn_representation->BeginAccess(
             DAWN_TEXTURE_USAGE_BIT_OUTPUT_ATTACHMENT));
 
-    dawn::RenderPassColorAttachmentDescriptor colorDesc;
-    colorDesc.attachment = texture.CreateDefaultView();
-    colorDesc.resolveTarget = nullptr;
-    colorDesc.loadOp = dawn::LoadOp::Clear;
-    colorDesc.storeOp = dawn::StoreOp::Store;
-    colorDesc.clearColor = {0, 255, 0, 255};
+    dawn::RenderPassColorAttachmentDescriptor color_desc;
+    color_desc.attachment = texture.CreateDefaultView();
+    color_desc.resolveTarget = nullptr;
+    color_desc.loadOp = dawn::LoadOp::Clear;
+    color_desc.storeOp = dawn::StoreOp::Store;
+    color_desc.clearColor = {0, 255, 0, 255};
 
-    dawn::RenderPassColorAttachmentDescriptor* colorAttachmentsPtr = &colorDesc;
+    dawn::RenderPassColorAttachmentDescriptor* color_attachments_ptr =
+        &color_desc;
 
     dawn::RenderPassDescriptor renderPassDesc;
     renderPassDesc.colorAttachmentCount = 1;
-    renderPassDesc.colorAttachments = &colorAttachmentsPtr;
+    renderPassDesc.colorAttachments = &color_attachments_ptr;
     renderPassDesc.depthStencilAttachment = nullptr;
 
     dawn::CommandEncoder encoder = device.CreateCommandEncoder();
diff --git a/gpu/command_buffer/service/shared_image_factory.cc b/gpu/command_buffer/service/shared_image_factory.cc
index a6f241c2..449c2688 100644
--- a/gpu/command_buffer/service/shared_image_factory.cc
+++ b/gpu/command_buffer/service/shared_image_factory.cc
@@ -63,13 +63,16 @@
     SharedImageManager* shared_image_manager,
     ImageFactory* image_factory,
     MemoryTracker* memory_tracker,
-    bool is_using_skia_renderer)
+    bool is_using_skia_renderer,
+    bool use_gl)
     : mailbox_manager_(mailbox_manager),
       shared_image_manager_(shared_image_manager),
       memory_tracker_(std::make_unique<MemoryTypeTracker>(memory_tracker)),
       using_vulkan_(context_state && context_state->GrContextIsVulkan()) {
-  gl_backing_factory_ = std::make_unique<SharedImageBackingFactoryGLTexture>(
-      gpu_preferences, workarounds, gpu_feature_info, image_factory);
+  if (use_gl) {
+    gl_backing_factory_ = std::make_unique<SharedImageBackingFactoryGLTexture>(
+        gpu_preferences, workarounds, gpu_feature_info, image_factory);
+  }
   // For X11
 #if (defined(USE_X11) || defined(OS_FUCHSIA)) && BUILDFLAG(ENABLE_VULKAN)
   if (using_vulkan_) {
@@ -84,8 +87,8 @@
   // OSX
   DCHECK(!using_vulkan_);
   interop_backing_factory_ =
-      std::make_unique<SharedImageBackingFactoryIOSurface>(workarounds,
-                                                           gpu_feature_info);
+      std::make_unique<SharedImageBackingFactoryIOSurface>(
+          workarounds, gpu_feature_info, use_gl);
 #else
   // Others
   DCHECK(!using_vulkan_);
diff --git a/gpu/command_buffer/service/shared_image_factory.h b/gpu/command_buffer/service/shared_image_factory.h
index 6c2a29e..29a124a1 100644
--- a/gpu/command_buffer/service/shared_image_factory.h
+++ b/gpu/command_buffer/service/shared_image_factory.h
@@ -46,7 +46,8 @@
                      SharedImageManager* manager,
                      ImageFactory* image_factory,
                      MemoryTracker* tracker,
-                     bool is_using_skia_renderer);
+                     bool is_using_skia_renderer,
+                     bool use_gl_);
   ~SharedImageFactory();
 
   bool CreateSharedImage(const Mailbox& mailbox,
diff --git a/gpu/command_buffer/service/shared_image_factory_unittest.cc b/gpu/command_buffer/service/shared_image_factory_unittest.cc
index c6cfb09..c08ad0d 100644
--- a/gpu/command_buffer/service/shared_image_factory_unittest.cc
+++ b/gpu/command_buffer/service/shared_image_factory_unittest.cc
@@ -41,7 +41,7 @@
     factory_ = std::make_unique<SharedImageFactory>(
         preferences, workarounds, GpuFeatureInfo(), nullptr, &mailbox_manager_,
         &shared_image_manager_, &image_factory_, nullptr,
-        /*is_using_skia_renderer=*/false);
+        /*is_using_skia_renderer=*/false, /*use_gl=*/true);
   }
 
   void TearDown() override {
@@ -91,7 +91,7 @@
   auto other_factory = std::make_unique<SharedImageFactory>(
       preferences, workarounds, GpuFeatureInfo(), nullptr, &mailbox_manager_,
       &shared_image_manager_, &image_factory_, nullptr,
-      /*is_using_skia_renderer=*/false);
+      /*is_using_skia_renderer=*/false, /*use_gl=*/true);
   EXPECT_FALSE(other_factory->CreateSharedImage(mailbox, format, size,
                                                 color_space, usage));
 }
diff --git a/gpu/command_buffer/service/shared_image_manager.cc b/gpu/command_buffer/service/shared_image_manager.cc
index ec3108b..68ecb464 100644
--- a/gpu/command_buffer/service/shared_image_manager.cc
+++ b/gpu/command_buffer/service/shared_image_manager.cc
@@ -261,7 +261,7 @@
   }
 
   auto* backing = found->get();
-  size_t estimated_size = backing->estimated_size();
+  size_t estimated_size = backing->EstimatedSizeForMemTracking();
   if (estimated_size == 0)
     return;
 
diff --git a/gpu/command_buffer/service/shared_image_representation.h b/gpu/command_buffer/service/shared_image_representation.h
index 27c1841..b9d81ac 100644
--- a/gpu/command_buffer/service/shared_image_representation.h
+++ b/gpu/command_buffer/service/shared_image_representation.h
@@ -165,6 +165,8 @@
                                 MemoryTypeTracker* tracker)
       : SharedImageRepresentation(manager, backing, tracker) {}
 
+  // This can return null in case of a Dawn validation error, for example if
+  // usage is invalid.
   virtual DawnTexture BeginAccess(DawnTextureUsageBit usage) = 0;
   virtual void EndAccess() = 0;
 };
diff --git a/gpu/command_buffer/service/webgpu_decoder.cc b/gpu/command_buffer/service/webgpu_decoder.cc
index 6291b7f..6ea1c80 100644
--- a/gpu/command_buffer/service/webgpu_decoder.cc
+++ b/gpu/command_buffer/service/webgpu_decoder.cc
@@ -17,9 +17,13 @@
 WebGPUDecoder* WebGPUDecoder::Create(
     DecoderClient* client,
     CommandBufferServiceBase* command_buffer_service,
+    SharedImageManager* shared_image_manager,
+    MemoryTracker* memory_tracker,
     gles2::Outputter* outputter) {
 #if BUILDFLAG(USE_DAWN)
-  return CreateWebGPUDecoderImpl(client, command_buffer_service, outputter);
+  return CreateWebGPUDecoderImpl(client, command_buffer_service,
+                                 shared_image_manager, memory_tracker,
+                                 outputter);
 #else
   NOTREACHED();
   return nullptr;
diff --git a/gpu/command_buffer/service/webgpu_decoder.h b/gpu/command_buffer/service/webgpu_decoder.h
index 03b3137..5d63844e3 100644
--- a/gpu/command_buffer/service/webgpu_decoder.h
+++ b/gpu/command_buffer/service/webgpu_decoder.h
@@ -13,6 +13,8 @@
 namespace gpu {
 
 class DecoderClient;
+class MemoryTracker;
+class SharedImageManager;
 
 namespace gles2 {
 class Outputter;
@@ -25,6 +27,8 @@
  public:
   static WebGPUDecoder* Create(DecoderClient* client,
                                CommandBufferServiceBase* command_buffer_service,
+                               SharedImageManager* shared_image_manager,
+                               MemoryTracker* memory_tracker,
                                gles2::Outputter* outputter);
 
   ~WebGPUDecoder() override;
diff --git a/gpu/command_buffer/service/webgpu_decoder_impl.cc b/gpu/command_buffer/service/webgpu_decoder_impl.cc
index 9b2552e..597d456 100644
--- a/gpu/command_buffer/service/webgpu_decoder_impl.cc
+++ b/gpu/command_buffer/service/webgpu_decoder_impl.cc
@@ -13,10 +13,14 @@
 
 #include "base/logging.h"
 #include "base/macros.h"
+#include "gpu/command_buffer/common/mailbox.h"
 #include "gpu/command_buffer/common/webgpu_cmd_format.h"
 #include "gpu/command_buffer/common/webgpu_cmd_ids.h"
 #include "gpu/command_buffer/service/command_buffer_service.h"
 #include "gpu/command_buffer/service/decoder_client.h"
+#include "gpu/command_buffer/service/shared_image_factory.h"
+#include "gpu/command_buffer/service/shared_image_manager.h"
+#include "gpu/command_buffer/service/shared_image_representation.h"
 #include "gpu/command_buffer/service/webgpu_decoder.h"
 #include "ipc/ipc_channel.h"
 
@@ -89,6 +93,8 @@
  public:
   WebGPUDecoderImpl(DecoderClient* client,
                     CommandBufferServiceBase* command_buffer_service,
+                    SharedImageManager* shared_image_manager,
+                    MemoryTracker* memory_tracker,
                     gles2::Outputter* outputter);
   ~WebGPUDecoderImpl() override;
 
@@ -310,6 +316,14 @@
 
   DawnDevice CreateDefaultDevice();
 
+  std::unique_ptr<SharedImageRepresentationFactory>
+      shared_image_representation_factory_;
+  // Map from the <ID, generation> pair for a wire texture to the shared image
+  // representation for it.
+  base::flat_map<std::tuple<uint32_t, uint32_t>,
+                 std::unique_ptr<SharedImageRepresentationDawn>>
+      associated_shared_image_map_;
+
   std::unique_ptr<WireServerCommandSerializer> wire_serializer_;
   std::unique_ptr<dawn_native::Instance> dawn_instance_;
   DawnProcTable dawn_procs_;
@@ -334,20 +348,31 @@
 WebGPUDecoder* CreateWebGPUDecoderImpl(
     DecoderClient* client,
     CommandBufferServiceBase* command_buffer_service,
+    SharedImageManager* shared_image_manager,
+    MemoryTracker* memory_tracker,
     gles2::Outputter* outputter) {
-  return new WebGPUDecoderImpl(client, command_buffer_service, outputter);
+  return new WebGPUDecoderImpl(client, command_buffer_service,
+                               shared_image_manager, memory_tracker, outputter);
 }
 
 WebGPUDecoderImpl::WebGPUDecoderImpl(
     DecoderClient* client,
     CommandBufferServiceBase* command_buffer_service,
+    SharedImageManager* shared_image_manager,
+    MemoryTracker* memory_tracker,
     gles2::Outputter* outputter)
     : WebGPUDecoder(client, command_buffer_service, outputter),
+      shared_image_representation_factory_(
+          std::make_unique<SharedImageRepresentationFactory>(
+              shared_image_manager,
+              memory_tracker)),
       wire_serializer_(new WireServerCommandSerializer(client)),
       dawn_instance_(new dawn_native::Instance()),
       dawn_procs_(dawn_native::GetProcs()) {}
 
 WebGPUDecoderImpl::~WebGPUDecoderImpl() {
+  associated_shared_image_map_.clear();
+
   // Reset the wire server first so all objects are destroyed before the device.
   // TODO(enga): Handle Device/Context lost.
   wire_server_ = nullptr;
@@ -508,5 +533,104 @@
   return error::kNoError;
 }
 
+error::Error WebGPUDecoderImpl::HandleAssociateMailboxImmediate(
+    uint32_t immediate_data_size,
+    const volatile void* cmd_data) {
+  const volatile webgpu::cmds::AssociateMailboxImmediate& c =
+      *static_cast<const volatile webgpu::cmds::AssociateMailboxImmediate*>(
+          cmd_data);
+
+  uint32_t device_id = static_cast<uint32_t>(c.device_id);
+  uint32_t device_generation = static_cast<uint32_t>(c.device_generation);
+  uint32_t id = static_cast<uint32_t>(c.id);
+  uint32_t generation = static_cast<uint32_t>(c.generation);
+  uint32_t usage = static_cast<DawnTextureUsageBit>(c.usage);
+
+  // Unpack the mailbox
+  if (sizeof(Mailbox) > immediate_data_size) {
+    return error::kOutOfBounds;
+  }
+  volatile const GLbyte* mailbox_bytes =
+      gles2::GetImmediateDataAs<volatile const GLbyte*>(c, sizeof(Mailbox),
+                                                        immediate_data_size);
+  if (mailbox_bytes == nullptr) {
+    return error::kOutOfBounds;
+  }
+  Mailbox mailbox = Mailbox::FromVolatile(
+      *reinterpret_cast<const volatile Mailbox*>(mailbox_bytes));
+  DLOG_IF(ERROR, !mailbox.Verify())
+      << "AssociateMailbox was passed an invalid mailbox";
+
+  // TODO(cwallez@chromium.org): Use device_id/generation when the decoder
+  // supports multiple devices.
+  if (device_id != 0 || device_generation != 0) {
+    DLOG(ERROR) << "AssociateMailbox: Invalid device ID";
+    return error::kInvalidArguments;
+  }
+
+  static constexpr uint32_t kAllowedTextureUsages = static_cast<uint32_t>(
+      DAWN_TEXTURE_USAGE_BIT_TRANSFER_SRC |
+      DAWN_TEXTURE_USAGE_BIT_TRANSFER_DST | DAWN_TEXTURE_USAGE_BIT_SAMPLED |
+      DAWN_TEXTURE_USAGE_BIT_OUTPUT_ATTACHMENT);
+  if (usage & ~kAllowedTextureUsages) {
+    DLOG(ERROR) << "AssociateMailbox: Invalid usage";
+    return error::kInvalidArguments;
+  }
+  DawnTextureUsageBit dawn_usage = static_cast<DawnTextureUsageBit>(usage);
+
+  // Create a DawnTexture from the mailbox.
+  std::unique_ptr<SharedImageRepresentationDawn> shared_image =
+      shared_image_representation_factory_->ProduceDawn(mailbox, dawn_device_);
+  if (!shared_image) {
+    DLOG(ERROR) << "AssociateMailbox: Couldn't produce shared image";
+    return error::kInvalidArguments;
+  }
+
+  DawnTexture texture = shared_image->BeginAccess(dawn_usage);
+  if (!texture) {
+    DLOG(ERROR) << "AssociateMailbox: Couldn't begin shared image access";
+    return error::kInvalidArguments;
+  }
+
+  // Inject the texture in the dawn_wire::Server and remember which shared image
+  // it is associated with.
+  if (!wire_server_->InjectTexture(texture, id, generation)) {
+    DLOG(ERROR) << "AssociateMailbox: Invalid texture ID";
+    return error::kInvalidArguments;
+  }
+
+  std::tuple<uint32_t, uint32_t> id_and_generation{id, generation};
+  auto insertion = associated_shared_image_map_.emplace(
+      id_and_generation, std::move(shared_image));
+
+  // InjectTexture already validated that the (ID, generation) can't have been
+  // registered before.
+  DCHECK(insertion.second);
+
+  return error::kNoError;
+}
+
+error::Error WebGPUDecoderImpl::HandleDissociateMailbox(
+    uint32_t immediate_data_size,
+    const volatile void* cmd_data) {
+  const volatile webgpu::cmds::DissociateMailbox& c =
+      *static_cast<const volatile webgpu::cmds::DissociateMailbox*>(cmd_data);
+
+  uint32_t texture_id = static_cast<uint32_t>(c.texture_id);
+  uint32_t texture_generation = static_cast<uint32_t>(c.texture_generation);
+
+  std::tuple<uint32_t, uint32_t> id_and_generation{texture_id,
+                                                   texture_generation};
+  auto it = associated_shared_image_map_.find(id_and_generation);
+  if (it == associated_shared_image_map_.end()) {
+    DLOG(ERROR) << "DissociateMailbox: Invalid texture ID";
+    return error::kInvalidArguments;
+  }
+
+  it->second->EndAccess();
+  associated_shared_image_map_.erase(it);
+  return error::kNoError;
+}
+
 }  // namespace webgpu
 }  // namespace gpu
diff --git a/gpu/command_buffer/service/webgpu_decoder_impl.h b/gpu/command_buffer/service/webgpu_decoder_impl.h
index d91f20c4..25b424b 100644
--- a/gpu/command_buffer/service/webgpu_decoder_impl.h
+++ b/gpu/command_buffer/service/webgpu_decoder_impl.h
@@ -11,6 +11,8 @@
 
 class CommandBufferServiceBase;
 class DecoderClient;
+class MemoryTracker;
+class SharedImageManager;
 
 namespace gles2 {
 class Outputter;
@@ -23,6 +25,8 @@
 GPU_GLES2_EXPORT WebGPUDecoder* CreateWebGPUDecoderImpl(
     DecoderClient* client,
     CommandBufferServiceBase* command_buffer_service,
+    SharedImageManager* shared_image_manager,
+    MemoryTracker* memory_tracker,
     gles2::Outputter* outputter);
 
 }  // namespace webgpu
diff --git a/gpu/command_buffer/service/webgpu_decoder_unittest.cc b/gpu/command_buffer/service/webgpu_decoder_unittest.cc
index 9787793..932c00c8 100644
--- a/gpu/command_buffer/service/webgpu_decoder_unittest.cc
+++ b/gpu/command_buffer/service/webgpu_decoder_unittest.cc
@@ -5,10 +5,13 @@
 #include "gpu/command_buffer/service/webgpu_decoder.h"
 
 #include "gpu/command_buffer/client/client_test_helper.h"
+#include "gpu/command_buffer/common/shared_image_usage.h"
 #include "gpu/command_buffer/common/webgpu_cmd_format.h"
 #include "gpu/command_buffer/service/context_group.h"
 #include "gpu/command_buffer/service/decoder_client.h"
 #include "gpu/command_buffer/service/gpu_tracer.h"
+#include "gpu/command_buffer/service/shared_image_factory.h"
+#include "gpu/command_buffer/service/shared_image_manager.h"
 #include "gpu/command_buffer/service/test_helper.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -26,10 +29,22 @@
   void SetUp() override {
     command_buffer_service_.reset(new FakeCommandBufferServiceBase());
     decoder_.reset(WebGPUDecoder::Create(nullptr, command_buffer_service_.get(),
+                                         &shared_image_manager_, nullptr,
                                          &outputter_));
     if (decoder_->Initialize() != ContextResult::kSuccess) {
       decoder_ = nullptr;
     }
+
+    factory_ = std::make_unique<SharedImageFactory>(
+        GpuPreferences(), GpuDriverBugWorkarounds(), GpuFeatureInfo(),
+        /*context_state=*/nullptr, /*mailbox_manager=*/nullptr,
+        &shared_image_manager_, /*image_factory=*/nullptr, /*tracker=*/nullptr,
+        /*is_using_skia_renderer=*/false, /*use_gl=*/false);
+  }
+
+  void TearDown() override {
+    factory_->DestroyAllSharedImages(true);
+    factory_.reset();
   }
 
   bool WebGPUSupported() const { return decoder_ != nullptr; }
@@ -44,10 +59,22 @@
                                 &entries_processed);
   }
 
+  template <typename T>
+  error::Error ExecuteImmediateCmd(const T& cmd, size_t data_size) {
+    static_assert(T::kArgFlags == cmd::kAtLeastN,
+                  "T::kArgFlags should equal cmd::kAtLeastN");
+    int entries_processed = 0;
+    return decoder_->DoCommands(1, (const void*)&cmd,
+                                ComputeNumEntries(sizeof(cmd) + data_size),
+                                &entries_processed);
+  }
+
  protected:
   std::unique_ptr<FakeCommandBufferServiceBase> command_buffer_service_;
   std::unique_ptr<WebGPUDecoder> decoder_;
   gles2::TraceOutputter outputter_;
+  SharedImageManager shared_image_manager_;
+  std::unique_ptr<SharedImageFactory> factory_;
   scoped_refptr<gles2::ContextGroup> group_;
 };
 
@@ -61,5 +88,125 @@
   cmd.Init(0, 0, 0);
   EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
 }
+
+struct AssociateMailboxCmdStorage {
+  cmds::AssociateMailboxImmediate cmd;
+  GLbyte data[GL_MAILBOX_SIZE_CHROMIUM];
+};
+
+TEST_F(WebGPUDecoderTest, AssociateMailbox) {
+  if (!WebGPUSupported()) {
+    LOG(ERROR) << "Test skipped because WebGPU isn't supported";
+    return;
+  }
+
+  gpu::Mailbox mailbox = Mailbox::GenerateForSharedImage();
+  EXPECT_TRUE(factory_->CreateSharedImage(
+      mailbox, viz::ResourceFormat::RGBA_8888, {1, 1},
+      gfx::ColorSpace::CreateSRGB(), SHARED_IMAGE_USAGE_WEBGPU));
+
+  // Error case: invalid mailbox
+  {
+    gpu::Mailbox bad_mailbox;
+    AssociateMailboxCmdStorage cmd;
+    cmd.cmd.Init(0, 0, 1, 0, DAWN_TEXTURE_USAGE_BIT_SAMPLED, bad_mailbox.name);
+    EXPECT_EQ(error::kInvalidArguments,
+              ExecuteImmediateCmd(cmd.cmd, sizeof(bad_mailbox.name)));
+  }
+
+  // Error case: device doesn't exist.
+  {
+    AssociateMailboxCmdStorage cmd;
+    cmd.cmd.Init(42, 42, 1, 0, DAWN_TEXTURE_USAGE_BIT_SAMPLED, mailbox.name);
+    EXPECT_EQ(error::kInvalidArguments,
+              ExecuteImmediateCmd(cmd.cmd, sizeof(mailbox.name)));
+  }
+
+  // Error case: texture ID invalid for the wire server.
+  {
+    AssociateMailboxCmdStorage cmd;
+    cmd.cmd.Init(0, 0, 42, 42, DAWN_TEXTURE_USAGE_BIT_SAMPLED, mailbox.name);
+    EXPECT_EQ(error::kInvalidArguments,
+              ExecuteImmediateCmd(cmd.cmd, sizeof(mailbox.name)));
+  }
+
+  // Error case: invalid usage.
+  {
+    AssociateMailboxCmdStorage cmd;
+    cmd.cmd.Init(0, 0, 42, 42, DAWN_TEXTURE_USAGE_BIT_SAMPLED, mailbox.name);
+    EXPECT_EQ(error::kInvalidArguments,
+              ExecuteImmediateCmd(cmd.cmd, sizeof(mailbox.name)));
+  }
+
+  // Error case: invalid texture usage.
+  {
+    AssociateMailboxCmdStorage cmd;
+    cmd.cmd.Init(0, 0, 1, 0, DAWN_TEXTURE_USAGE_BIT_FORCE32, mailbox.name);
+    EXPECT_EQ(error::kInvalidArguments,
+              ExecuteImmediateCmd(cmd.cmd, sizeof(mailbox.name)));
+  }
+
+  // Control case: test a successful call to AssociateMailbox
+  // (1, 0) is a valid texture ID on dawn_wire server start.
+  // The control case is not put first because it modifies the internal state
+  // of the Dawn wire server and would make calls with the same texture ID
+  // and generation invalid.
+  {
+    AssociateMailboxCmdStorage cmd;
+    cmd.cmd.Init(0, 0, 1, 0, DAWN_TEXTURE_USAGE_BIT_SAMPLED, mailbox.name);
+    EXPECT_EQ(error::kNoError,
+              ExecuteImmediateCmd(cmd.cmd, sizeof(mailbox.name)));
+  }
+
+  // Error case: associated to an already associated texture.
+  {
+    AssociateMailboxCmdStorage cmd;
+    cmd.cmd.Init(0, 0, 1, 0, DAWN_TEXTURE_USAGE_BIT_SAMPLED, mailbox.name);
+    EXPECT_EQ(error::kInvalidArguments,
+              ExecuteImmediateCmd(cmd.cmd, sizeof(mailbox.name)));
+  }
+
+  // Dissociate the image from the control case to remove its reference.
+  {
+    cmds::DissociateMailbox cmd;
+    cmd.Init(1, 0);
+    EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
+  }
+}
+
+TEST_F(WebGPUDecoderTest, DissociateMailbox) {
+  if (!WebGPUSupported()) {
+    LOG(ERROR) << "Test skipped because WebGPU isn't supported";
+    return;
+  }
+
+  gpu::Mailbox mailbox = Mailbox::GenerateForSharedImage();
+  EXPECT_TRUE(factory_->CreateSharedImage(
+      mailbox, viz::ResourceFormat::RGBA_8888, {1, 1},
+      gfx::ColorSpace::CreateSRGB(), SHARED_IMAGE_USAGE_WEBGPU));
+
+  // Associate a mailbox so we can later dissociate it.
+  {
+    AssociateMailboxCmdStorage cmd;
+    cmd.cmd.Init(0, 0, 1, 0, DAWN_TEXTURE_USAGE_BIT_SAMPLED, mailbox.name);
+    EXPECT_EQ(error::kNoError,
+              ExecuteImmediateCmd(cmd.cmd, sizeof(mailbox.name)));
+  }
+
+  // Error case: wrong texture ID
+  {
+    cmds::DissociateMailbox cmd;
+    cmd.Init(42, 42);
+    EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd));
+  }
+
+  // Success case
+  {
+    cmds::DissociateMailbox cmd;
+    cmd.Init(1, 0);
+    EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
+  }
+}
+
 }  // namespace webgpu
 }  // namespace gpu
diff --git a/gpu/command_buffer/tests/fuzzer_main.cc b/gpu/command_buffer/tests/fuzzer_main.cc
index 8931747..e08b188a 100644
--- a/gpu/command_buffer/tests/fuzzer_main.cc
+++ b/gpu/command_buffer/tests/fuzzer_main.cc
@@ -385,7 +385,7 @@
         gpu_preferences_, config_.workarounds, gpu_feature_info,
         context_state_.get(), &mailbox_manager_, shared_image_manager_.get(),
         nullptr /* image_factory */, nullptr /* memory_tracker */,
-        false /* is_using_skia_renderer */);
+        false /* is_using_skia_renderer */, /* use_gl */ true);
     for (uint32_t usage = SHARED_IMAGE_USAGE_GLES2;
          usage <= SHARED_IMAGE_USAGE_RGB_EMULATION; usage <<= 1) {
       Mailbox::Name name;
diff --git a/gpu/command_buffer/tests/webgpu_fence_unittest.cc b/gpu/command_buffer/tests/webgpu_fence_unittest.cc
index bf58540..c9a7f99 100644
--- a/gpu/command_buffer/tests/webgpu_fence_unittest.cc
+++ b/gpu/command_buffer/tests/webgpu_fence_unittest.cc
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include <dawn/dawncpp.h>
-
 #include "gpu/command_buffer/client/webgpu_implementation.h"
 #include "gpu/command_buffer/tests/webgpu_test.h"
 #include "testing/gmock/include/gmock/gmock.h"
diff --git a/gpu/command_buffer/tests/webgpu_mailbox_unittest.cc b/gpu/command_buffer/tests/webgpu_mailbox_unittest.cc
new file mode 100644
index 0000000..b27394b
--- /dev/null
+++ b/gpu/command_buffer/tests/webgpu_mailbox_unittest.cc
@@ -0,0 +1,224 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "gpu/command_buffer/client/shared_image_interface.h"
+#include "gpu/command_buffer/client/webgpu_implementation.h"
+#include "gpu/command_buffer/common/mailbox.h"
+#include "gpu/command_buffer/common/shared_image_usage.h"
+#include "gpu/command_buffer/tests/webgpu_test.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/gfx/color_space.h"
+
+using namespace testing;
+
+namespace gpu {
+namespace {
+
+class MockBufferMapReadCallback {
+ public:
+  MOCK_METHOD4(Call,
+               void(DawnBufferMapAsyncStatus status,
+                    const uint32_t* ptr,
+                    uint64_t data_length,
+                    DawnCallbackUserdata userdata));
+};
+
+std::unique_ptr<StrictMock<MockBufferMapReadCallback>>
+    mock_buffer_map_read_callback;
+void ToMockBufferMapReadCallback(DawnBufferMapAsyncStatus status,
+                                 const void* ptr,
+                                 uint64_t data_length,
+                                 DawnCallbackUserdata userdata) {
+  // Assume the data is uint32_t
+  mock_buffer_map_read_callback->Call(status, static_cast<const uint32_t*>(ptr),
+                                      data_length, userdata);
+}
+
+class MockDeviceErrorCallback {
+ public:
+  MOCK_METHOD2(Call, void(const char* message, DawnCallbackUserdata userdata));
+};
+
+std::unique_ptr<StrictMock<MockDeviceErrorCallback>> mock_device_error_callback;
+void ToMockDeviceErrorCallback(const char* message,
+                               DawnCallbackUserdata userdata) {
+  mock_device_error_callback->Call(message, userdata);
+}
+
+}  // namespace
+
+class WebGPUMailboxTest : public WebGPUTest {
+ protected:
+  void SetUp() override {
+    WebGPUTest::SetUp();
+    Initialize(WebGPUTest::Options());
+    mock_buffer_map_read_callback =
+        std::make_unique<StrictMock<MockBufferMapReadCallback>>();
+    mock_device_error_callback =
+        std::make_unique<StrictMock<MockDeviceErrorCallback>>();
+  }
+
+  void TearDown() override {
+    mock_buffer_map_read_callback = nullptr;
+    mock_device_error_callback = nullptr;
+    WebGPUTest::TearDown();
+  }
+};
+
+// Tests using Associate/DissociateMailbox to share an image with Dawn.
+// For simplicity of the test the image is shared between a Dawn device and
+// itself: we render to it using the Dawn device, then re-associate it to a
+// Dawn texture and read back the values that were written.
+TEST_F(WebGPUMailboxTest, WriteToMailboxThenReadFromIt) {
+  if (!WebGPUSupported()) {
+    LOG(ERROR) << "Test skipped because WebGPU isn't supported";
+    return;
+  }
+
+  // Create a the shared image
+  SharedImageInterface* sii = GetSharedImageInterface();
+  Mailbox mailbox = sii->CreateSharedImage(
+      viz::ResourceFormat::RGBA_8888, {1, 1}, gfx::ColorSpace::CreateSRGB(),
+      SHARED_IMAGE_USAGE_WEBGPU);
+  SyncToken mailbox_produced_token = sii->GenVerifiedSyncToken();
+  webgpu()->WaitSyncTokenCHROMIUM(mailbox_produced_token.GetConstData());
+
+  dawn::Device device = dawn::Device::Acquire(webgpu()->GetDefaultDevice());
+
+  // Part 1: Write to the texture using Dawn
+  {
+    // Register the shared image as a Dawn texture in the wire.
+    gpu::webgpu::ReservedTexture reservation =
+        webgpu()->ReserveTexture(device.Get());
+
+    webgpu()->AssociateMailbox(0, 0, reservation.id, reservation.generation,
+                               DAWN_TEXTURE_USAGE_BIT_OUTPUT_ATTACHMENT,
+                               reinterpret_cast<GLbyte*>(&mailbox));
+    dawn::Texture texture = dawn::Texture::Acquire(reservation.texture);
+
+    // Clear the texture using a render pass.
+    dawn::RenderPassColorAttachmentDescriptor color_desc;
+    color_desc.attachment = texture.CreateDefaultView();
+    color_desc.resolveTarget = nullptr;
+    color_desc.loadOp = dawn::LoadOp::Clear;
+    color_desc.storeOp = dawn::StoreOp::Store;
+    color_desc.clearColor = {0, 255, 0, 255};
+
+    dawn::RenderPassColorAttachmentDescriptor* color_attachments_ptr =
+        &color_desc;
+
+    dawn::RenderPassDescriptor render_pass_desc;
+    render_pass_desc.colorAttachmentCount = 1;
+    render_pass_desc.colorAttachments = &color_attachments_ptr;
+    render_pass_desc.depthStencilAttachment = nullptr;
+
+    dawn::CommandEncoder encoder = device.CreateCommandEncoder();
+    dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&render_pass_desc);
+    pass.EndPass();
+    dawn::CommandBuffer commands = encoder.Finish();
+
+    dawn::Queue queue = device.CreateQueue();
+    queue.Submit(1, &commands);
+
+    // Dissociate the mailbox, flushing previous commands first
+    webgpu()->FlushCommands();
+    webgpu()->DissociateMailbox(reservation.id, reservation.generation);
+  }
+
+  // Part 2: Read back the texture using Dawn
+  {
+    // Register the shared image as a Dawn texture in the wire.
+    gpu::webgpu::ReservedTexture reservation =
+        webgpu()->ReserveTexture(device.Get());
+
+    // Make sure previous Dawn wire commands are sent so that the texture IDs
+    // are validated correctly.
+    webgpu()->FlushCommands();
+
+    webgpu()->AssociateMailbox(0, 0, reservation.id, reservation.generation,
+                               DAWN_TEXTURE_USAGE_BIT_TRANSFER_SRC,
+                               reinterpret_cast<GLbyte*>(&mailbox));
+    dawn::Texture texture = dawn::Texture::Acquire(reservation.texture);
+
+    // Copy the texture in a mappable buffer.
+    dawn::BufferDescriptor buffer_desc;
+    buffer_desc.size = 4;
+    buffer_desc.usage =
+        dawn::BufferUsageBit::MapRead | dawn::BufferUsageBit::TransferDst;
+    dawn::Buffer readback_buffer = device.CreateBuffer(&buffer_desc);
+
+    dawn::TextureCopyView copy_src;
+    copy_src.texture = texture;
+    copy_src.level = 0;
+    copy_src.slice = 0;
+    copy_src.origin = {0, 0, 0};
+
+    dawn::BufferCopyView copy_dst;
+    copy_dst.buffer = readback_buffer;
+    copy_dst.offset = 0;
+    copy_dst.rowPitch = 256;
+    copy_dst.imageHeight = 0;
+
+    dawn::Extent3D copy_size = {1, 1, 1};
+
+    dawn::CommandEncoder encoder = device.CreateCommandEncoder();
+    encoder.CopyTextureToBuffer(&copy_src, &copy_dst, &copy_size);
+    dawn::CommandBuffer commands = encoder.Finish();
+
+    dawn::Queue queue = device.CreateQueue();
+    queue.Submit(1, &commands);
+
+    // Dissociate the mailbox, flushing previous commands first
+    webgpu()->FlushCommands();
+    webgpu()->DissociateMailbox(reservation.id, reservation.generation);
+
+    // Map the buffer and assert the pixel is the correct value.
+    readback_buffer.MapReadAsync(ToMockBufferMapReadCallback, 0);
+    uint32_t buffer_contents = 0xFF00FF00;
+    EXPECT_CALL(*mock_buffer_map_read_callback,
+                Call(DAWN_BUFFER_MAP_ASYNC_STATUS_SUCCESS,
+                     Pointee(Eq(buffer_contents)), sizeof(uint32_t), 0))
+        .Times(1);
+
+    WaitForCompletion(device);
+  }
+}
+
+// Tests that using a shared image aftr it is dissociated produces an error.
+TEST_F(WebGPUMailboxTest, ErrorWhenUsingTextureAfterDissociate) {
+  if (!WebGPUSupported()) {
+    LOG(ERROR) << "Test skipped because WebGPU isn't supported";
+    return;
+  }
+
+  // Create a the shared image
+  SharedImageInterface* sii = GetSharedImageInterface();
+  Mailbox mailbox = sii->CreateSharedImage(
+      viz::ResourceFormat::RGBA_8888, {1, 1}, gfx::ColorSpace::CreateSRGB(),
+      SHARED_IMAGE_USAGE_WEBGPU);
+  SyncToken mailbox_produced_token = sii->GenVerifiedSyncToken();
+  webgpu()->WaitSyncTokenCHROMIUM(mailbox_produced_token.GetConstData());
+
+  // Create the device, and expect a validation error.
+  dawn::Device device = dawn::Device::Acquire(webgpu()->GetDefaultDevice());
+  device.SetErrorCallback(ToMockDeviceErrorCallback, 0);
+
+  // Associate and immediately dissociate the image.
+  gpu::webgpu::ReservedTexture reservation =
+      webgpu()->ReserveTexture(device.Get());
+  dawn::Texture texture = dawn::Texture::Acquire(reservation.texture);
+
+  webgpu()->AssociateMailbox(0, 0, reservation.id, reservation.generation,
+                             DAWN_TEXTURE_USAGE_BIT_OUTPUT_ATTACHMENT,
+                             reinterpret_cast<GLbyte*>(&mailbox));
+  webgpu()->DissociateMailbox(reservation.id, reservation.generation);
+
+  // Try using the texture, it should produce a validation error.
+  dawn::TextureView view = texture.CreateDefaultView();
+  EXPECT_CALL(*mock_device_error_callback, Call(_, _)).Times(1);
+  WaitForCompletion(device);
+}
+
+}  // namespace gpu
diff --git a/gpu/command_buffer/tests/webgpu_test.cc b/gpu/command_buffer/tests/webgpu_test.cc
index 2ded00e..7cd13f6 100644
--- a/gpu/command_buffer/tests/webgpu_test.cc
+++ b/gpu/command_buffer/tests/webgpu_test.cc
@@ -67,10 +67,32 @@
   return context_->GetImplementation();
 }
 
+SharedImageInterface* WebGPUTest::GetSharedImageInterface() const {
+  return context_->GetCommandBufferForTest()->GetSharedImageInterface();
+}
+
 void WebGPUTest::RunPendingTasks() {
   context_->GetTaskRunner()->RunPendingTasks();
 }
 
+void WebGPUTest::WaitForCompletion(dawn::Device device) {
+  // Insert a fence signal and wait for it to be signaled. The guarantees of
+  // Dawn are that all previous operations will have been completed and more
+  // importantly the callbacks will have been called.
+  dawn::Queue queue = device.CreateQueue();
+  dawn::FenceDescriptor fence_desc{nullptr, 0};
+  dawn::Fence fence = queue.CreateFence(&fence_desc);
+
+  queue.Submit(0, nullptr);
+  queue.Signal(fence, 1u);
+
+  while (fence.GetCompletedValue() < 1) {
+    device.Tick();
+    webgpu()->FlushCommands();
+    RunPendingTasks();
+  }
+}
+
 TEST_F(WebGPUTest, FlushNoCommands) {
   if (!WebGPUSupported()) {
     LOG(ERROR) << "Test skipped because WebGPU isn't supported";
diff --git a/gpu/command_buffer/tests/webgpu_test.h b/gpu/command_buffer/tests/webgpu_test.h
index 45f4803..c10e4a5 100644
--- a/gpu/command_buffer/tests/webgpu_test.h
+++ b/gpu/command_buffer/tests/webgpu_test.h
@@ -5,6 +5,8 @@
 #ifndef GPU_COMMAND_BUFFER_TESTS_WEBGPU_TEST_H_
 #define GPU_COMMAND_BUFFER_TESTS_WEBGPU_TEST_H_
 
+#include <dawn/dawncpp.h>
+
 #include <memory>
 
 #include "gpu/command_buffer/client/shared_memory_limits.h"
@@ -13,6 +15,7 @@
 namespace gpu {
 
 class InProcessGpuThreadHolder;
+class SharedImageInterface;
 class WebGPUInProcessContext;
 
 namespace webgpu {
@@ -35,13 +38,17 @@
   ~WebGPUTest() override;
 
   bool WebGPUSupported() const;
+  bool WebGPUSharedImageSupported() const;
   void SetUp() override;
   void TearDown() override;
 
   void Initialize(const Options& options);
 
   webgpu::WebGPUInterface* webgpu() const;
+  SharedImageInterface* GetSharedImageInterface() const;
+
   void RunPendingTasks();
+  void WaitForCompletion(dawn::Device device);
 
  private:
   std::unique_ptr<InProcessGpuThreadHolder> gpu_thread_holder_;
diff --git a/gpu/command_buffer/webgpu_cmd_buffer_functions.txt b/gpu/command_buffer/webgpu_cmd_buffer_functions.txt
index bcb65629..53dbe00 100644
--- a/gpu/command_buffer/webgpu_cmd_buffer_functions.txt
+++ b/gpu/command_buffer/webgpu_cmd_buffer_functions.txt
@@ -4,6 +4,8 @@
 
 // This file is read by build_webgpu_cmd_buffer.py to generate commands.
 
-// WebGPU commands. Note the first 2 characters (usually 'gl') are
+// WebGPU commands. Note the first 2 characters (usually 'wg') are
 // completely ignored.
 GL_APICALL void GL_APIENTRY wgDawnCommands (const char* commands, size_t size);
+GL_APICALL void GL_APIENTRY wgAssociateMailbox (GLuint device_id, GLuint device_generation, GLuint id, GLuint generation, GLuint usage, const GLbyte* mailbox);
+GL_APICALL void GL_APIENTRY wgDissociateMailbox (GLuint texture_id, GLuint texture_generation);
diff --git a/gpu/ipc/in_process_command_buffer.cc b/gpu/ipc/in_process_command_buffer.cc
index db1bd09..a640bd6 100644
--- a/gpu/ipc/in_process_command_buffer.cc
+++ b/gpu/ipc/in_process_command_buffer.cc
@@ -306,6 +306,9 @@
 
 bool InProcessCommandBuffer::MakeCurrent() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(gpu_sequence_checker_);
+  if (!context_) {
+    return true;
+  }
 
   if (error::IsError(command_buffer_->GetState().error)) {
     DLOG(ERROR) << "MakeCurrent failed because context lost.";
@@ -560,12 +563,13 @@
       return gpu::ContextResult::kFatalFailure;
     }
     std::unique_ptr<webgpu::WebGPUDecoder> webgpu_decoder(
-        webgpu::WebGPUDecoder::Create(this, command_buffer_.get(),
-                                      task_executor_->outputter()));
+        webgpu::WebGPUDecoder::Create(
+            this, command_buffer_.get(), task_executor_->shared_image_manager(),
+            context_group_->memory_tracker(), task_executor_->outputter()));
     gpu::ContextResult result = webgpu_decoder->Initialize();
     if (result != gpu::ContextResult::kSuccess) {
       DestroyOnGpuThread();
-      DLOG(ERROR) << "Failed to initializ WebGPUe decoder.";
+      DLOG(ERROR) << "Failed to initialize WebGPU decoder.";
       return result;
     }
     decoder_ = std::move(webgpu_decoder);
@@ -1379,7 +1383,8 @@
       GetGpuPreferences(), context_group_->feature_info()->workarounds(),
       GetGpuFeatureInfo(), context_state_.get(),
       context_group_->mailbox_manager(), task_executor_->shared_image_manager(),
-      image_factory_, nullptr, features::IsUsingSkiaRenderer());
+      image_factory_, nullptr, features::IsUsingSkiaRenderer(),
+      context_ != nullptr);
 }
 
 void InProcessCommandBuffer::CreateSharedImageOnGpuThread(
@@ -1392,7 +1397,7 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(gpu_sequence_checker_);
   // |shared_image_factory_| never writes to the surface, so skip unnecessary
   // MakeCurrent to improve performance. https://crbug.com/457431
-  if (!context_->IsCurrent(nullptr) && !MakeCurrent())
+  if (context_ && !context_->IsCurrent(nullptr) && !MakeCurrent())
     return;
   LazyCreateSharedImageFactory();
   if (!shared_image_factory_->CreateSharedImage(mailbox, format, size,
@@ -1416,7 +1421,7 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(gpu_sequence_checker_);
   // |shared_image_factory_| never writes to the surface, so skip unnecessary
   // MakeCurrent to improve performance. https://crbug.com/457431
-  if (!context_->IsCurrent(nullptr) && !MakeCurrent())
+  if (context_ && !context_->IsCurrent(nullptr) && !MakeCurrent())
     return;
   LazyCreateSharedImageFactory();
   if (!shared_image_factory_->CreateSharedImage(
diff --git a/gpu/ipc/service/BUILD.gn b/gpu/ipc/service/BUILD.gn
index 4e4c4ac..9ee8e62 100644
--- a/gpu/ipc/service/BUILD.gn
+++ b/gpu/ipc/service/BUILD.gn
@@ -83,6 +83,8 @@
     sources += [
       "child_window_win.cc",
       "child_window_win.h",
+      "dc_layer_tree.cc",
+      "dc_layer_tree.h",
       "direct_composition_child_surface_win.cc",
       "direct_composition_child_surface_win.h",
       "direct_composition_surface_win.cc",
@@ -90,6 +92,8 @@
       "gpu_memory_buffer_factory_dxgi.cc",
       "gpu_memory_buffer_factory_dxgi.h",
       "image_transport_surface_win.cc",
+      "swap_chain_presenter.cc",
+      "swap_chain_presenter.h",
     ]
     libs += [
       "dxgi.lib",
diff --git a/gpu/ipc/service/dc_layer_tree.cc b/gpu/ipc/service/dc_layer_tree.cc
new file mode 100644
index 0000000..314a78b
--- /dev/null
+++ b/gpu/ipc/service/dc_layer_tree.cc
@@ -0,0 +1,227 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "gpu/ipc/service/dc_layer_tree.h"
+
+#include "base/trace_event/trace_event.h"
+#include "gpu/ipc/service/direct_composition_child_surface_win.h"
+#include "gpu/ipc/service/swap_chain_presenter.h"
+
+namespace gpu {
+namespace {
+bool SizeContains(const gfx::Size& a, const gfx::Size& b) {
+  return gfx::Rect(a).Contains(gfx::Rect(b));
+}
+}  // namespace
+
+DCLayerTree::DCLayerTree(const GpuDriverBugWorkarounds& workarounds)
+    : workarounds_(workarounds) {}
+
+DCLayerTree::~DCLayerTree() = default;
+
+bool DCLayerTree::Initialize(
+    HWND window,
+    Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device,
+    Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device) {
+  DCHECK(d3d11_device);
+  d3d11_device_ = std::move(d3d11_device);
+  DCHECK(dcomp_device);
+  dcomp_device_ = std::move(dcomp_device);
+
+  Microsoft::WRL::ComPtr<IDCompositionDesktopDevice> desktop_device;
+  dcomp_device_.As(&desktop_device);
+  DCHECK(desktop_device);
+
+  HRESULT hr =
+      desktop_device->CreateTargetForHwnd(window, TRUE, &dcomp_target_);
+  if (FAILED(hr)) {
+    DLOG(ERROR) << "CreateTargetForHwnd failed with error 0x" << std::hex << hr;
+    return false;
+  }
+
+  dcomp_device_->CreateVisual(&dcomp_root_visual_);
+  DCHECK(dcomp_root_visual_);
+  dcomp_target_->SetRoot(dcomp_root_visual_.Get());
+  // A visual inherits the interpolation mode of the parent visual by default.
+  // If no visuals set the interpolation mode, the default for the entire visual
+  // tree is nearest neighbor interpolation.
+  // Set the interpolation mode to Linear to get a better upscaling quality.
+  dcomp_root_visual_->SetBitmapInterpolationMode(
+      DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR);
+
+  return true;
+}
+
+bool DCLayerTree::InitializeVideoProcessor(const gfx::Size& input_size,
+                                           const gfx::Size& output_size) {
+  if (!video_device_) {
+    // This can fail if the D3D device is "Microsoft Basic Display Adapter".
+    if (FAILED(d3d11_device_.As(&video_device_))) {
+      DLOG(ERROR) << "Failed to retrieve video device from D3D11 device";
+      return false;
+    }
+    DCHECK(video_device_);
+
+    Microsoft::WRL::ComPtr<ID3D11DeviceContext> context;
+    d3d11_device_->GetImmediateContext(&context);
+    DCHECK(context);
+    context.As(&video_context_);
+    DCHECK(video_context_);
+  }
+
+  if (video_processor_ && SizeContains(video_input_size_, input_size) &&
+      SizeContains(video_output_size_, output_size))
+    return true;
+  TRACE_EVENT2("gpu", "DCLayerTree::InitializeVideoProcessor", "input_size",
+               input_size.ToString(), "output_size", output_size.ToString());
+  video_input_size_ = input_size;
+  video_output_size_ = output_size;
+
+  video_processor_.Reset();
+  video_processor_enumerator_.Reset();
+  D3D11_VIDEO_PROCESSOR_CONTENT_DESC desc = {};
+  desc.InputFrameFormat = D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE;
+  desc.InputFrameRate.Numerator = 60;
+  desc.InputFrameRate.Denominator = 1;
+  desc.InputWidth = input_size.width();
+  desc.InputHeight = input_size.height();
+  desc.OutputFrameRate.Numerator = 60;
+  desc.OutputFrameRate.Denominator = 1;
+  desc.OutputWidth = output_size.width();
+  desc.OutputHeight = output_size.height();
+  desc.Usage = D3D11_VIDEO_USAGE_PLAYBACK_NORMAL;
+  HRESULT hr = video_device_->CreateVideoProcessorEnumerator(
+      &desc, &video_processor_enumerator_);
+  if (FAILED(hr)) {
+    DLOG(ERROR) << "CreateVideoProcessorEnumerator failed with error 0x"
+                << std::hex << hr;
+    return false;
+  }
+
+  hr = video_device_->CreateVideoProcessor(video_processor_enumerator_.Get(), 0,
+                                           &video_processor_);
+  if (FAILED(hr)) {
+    DLOG(ERROR) << "CreateVideoProcessor failed with error 0x" << std::hex
+                << hr;
+    return false;
+  }
+
+  // Auto stream processing (the default) can hurt power consumption.
+  video_context_->VideoProcessorSetStreamAutoProcessingMode(
+      video_processor_.Get(), 0, FALSE);
+  return true;
+}
+
+Microsoft::WRL::ComPtr<IDXGISwapChain1>
+DCLayerTree::GetLayerSwapChainForTesting(size_t index) const {
+  if (index < video_swap_chains_.size())
+    return video_swap_chains_[index]->swap_chain();
+  return nullptr;
+}
+
+bool DCLayerTree::CommitAndClearPendingOverlays(
+    DirectCompositionChildSurfaceWin* root_surface) {
+  TRACE_EVENT1("gpu", "DCLayerTree::CommitAndClearPendingOverlays",
+               "num_pending_overlays", pending_overlays_.size());
+  DCHECK(!needs_commit_);
+  // Check if root surface visual needs a commit first.
+  if (!root_surface_visual_) {
+    dcomp_device_->CreateVisual(&root_surface_visual_);
+    needs_commit_ = true;
+  }
+
+  if (root_surface->swap_chain() != root_swap_chain_ ||
+      root_surface->dcomp_surface() != root_dcomp_surface_ ||
+      root_surface->dcomp_surface_serial() != root_dcomp_surface_serial_) {
+    root_swap_chain_ = root_surface->swap_chain();
+    root_dcomp_surface_ = root_surface->dcomp_surface();
+    root_dcomp_surface_serial_ = root_surface->dcomp_surface_serial();
+    root_surface_visual_->SetContent(
+        root_swap_chain_ ? static_cast<IUnknown*>(root_swap_chain_.Get())
+                         : static_cast<IUnknown*>(root_dcomp_surface_.Get()));
+    needs_commit_ = true;
+  }
+
+  std::vector<std::unique_ptr<ui::DCRendererLayerParams>> overlays;
+  std::swap(pending_overlays_, overlays);
+
+  // Sort layers by z-order.
+  std::sort(overlays.begin(), overlays.end(),
+            [](const auto& a, const auto& b) -> bool {
+              return a->z_order < b->z_order;
+            });
+
+  // If we need to grow or shrink swap chain presenters, we'll need to add or
+  // remove visuals.
+  if (video_swap_chains_.size() != overlays.size()) {
+    // Grow or shrink list of swap chain presenters to match pending overlays.
+    std::vector<std::unique_ptr<SwapChainPresenter>> new_video_swap_chains;
+    for (size_t i = 0; i < overlays.size(); ++i) {
+      // TODO(sunnyps): Try to find a matching swap chain based on size, type of
+      // swap chain, gl image, etc.
+      if (i < video_swap_chains_.size()) {
+        new_video_swap_chains.emplace_back(std::move(video_swap_chains_[i]));
+      } else {
+        new_video_swap_chains.emplace_back(std::make_unique<SwapChainPresenter>(
+            this, d3d11_device_, dcomp_device_));
+      }
+    }
+    video_swap_chains_.swap(new_video_swap_chains);
+    needs_commit_ = true;
+  }
+
+  // Present to each swap chain.
+  for (size_t i = 0; i < overlays.size(); ++i) {
+    auto& video_swap_chain = video_swap_chains_[i];
+    if (!video_swap_chain->PresentToSwapChain(*overlays[i])) {
+      DLOG(ERROR) << "PresentToSwapChain failed";
+      return false;
+    }
+  }
+
+  // Rebuild visual tree and commit if any visual changed.
+  if (needs_commit_) {
+    TRACE_EVENT0("gpu", "DCLayerTree::CommitAndClearPendingOverlays::Commit");
+    needs_commit_ = false;
+    dcomp_root_visual_->RemoveAllVisuals();
+
+    // Add layers with negative z-order first.
+    size_t i = 0;
+    for (; i < overlays.size() && overlays[i]->z_order < 0; ++i) {
+      IDCompositionVisual2* visual = video_swap_chains_[i]->visual().Get();
+      // We call AddVisual with insertAbove FALSE and referenceVisual nullptr
+      // which is equivalent to saying that the visual should be below no other
+      // visual, or in other words it should be above all other visuals.
+      dcomp_root_visual_->AddVisual(visual, FALSE, nullptr);
+    }
+
+    // Add root surface visual at z-order 0.
+    dcomp_root_visual_->AddVisual(root_surface_visual_.Get(), FALSE, nullptr);
+
+    // Add visuals with positive z-order.
+    for (; i < overlays.size(); ++i) {
+      // There shouldn't be a layer with z-order 0.  Otherwise, we can't tell
+      // its order with respect to root surface.
+      DCHECK_GT(overlays[i]->z_order, 0);
+      IDCompositionVisual2* visual = video_swap_chains_[i]->visual().Get();
+      dcomp_root_visual_->AddVisual(visual, FALSE, nullptr);
+    }
+
+    HRESULT hr = dcomp_device_->Commit();
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "Commit failed with error 0x" << std::hex << hr;
+      return false;
+    }
+  }
+
+  return true;
+}
+
+bool DCLayerTree::ScheduleDCLayer(const ui::DCRendererLayerParams& params) {
+  pending_overlays_.push_back(
+      std::make_unique<ui::DCRendererLayerParams>(params));
+  return true;
+}
+
+}  // namespace gpu
diff --git a/gpu/ipc/service/dc_layer_tree.h b/gpu/ipc/service/dc_layer_tree.h
new file mode 100644
index 0000000..ea0df40
--- /dev/null
+++ b/gpu/ipc/service/dc_layer_tree.h
@@ -0,0 +1,123 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef GPU_IPC_SERVICE_DC_LAYER_TREE_H_
+#define GPU_IPC_SERVICE_DC_LAYER_TREE_H_
+
+#include <windows.h>
+#include <d3d11.h>
+#include <dcomp.h>
+#include <wrl/client.h>
+
+#include <memory>
+
+#include "gpu/config/gpu_driver_bug_workarounds.h"
+#include "ui/gfx/geometry/size.h"
+#include "ui/gl/dc_renderer_layer_params.h"
+
+namespace gpu {
+
+class DirectCompositionChildSurfaceWin;
+class SwapChainPresenter;
+
+// DCLayerTree manages a tree of direct composition visuals, and associated
+// swap chains for given overlay layers.  It maintains a list of pending layers
+// submitted using ScheduleDCLayer() that are presented and committed in
+// CommitAndClearPendingOverlays().
+class DCLayerTree {
+ public:
+  explicit DCLayerTree(const GpuDriverBugWorkarounds& workarounds);
+  ~DCLayerTree();
+
+  // Returns true on success.
+  bool Initialize(HWND window,
+                  Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device,
+                  Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device);
+
+  // Present pending overlay layers, and perform a direct composition commit if
+  // necessary.  Returns true if presentation and commit succeeded.
+  bool CommitAndClearPendingOverlays(
+      DirectCompositionChildSurfaceWin* root_surface);
+
+  // Schedule an overlay layer for the next CommitAndClearPendingOverlays call.
+  bool ScheduleDCLayer(const ui::DCRendererLayerParams& params);
+
+  // Called by SwapChainPresenter to initialize video processor that can handle
+  // at least given input and output size.  The video processor is shared across
+  // layers so the same one can be reused if it's large enough.  Returns true on
+  // success.
+  bool InitializeVideoProcessor(const gfx::Size& input_size,
+                                const gfx::Size& output_size);
+
+  void SetNeedsCommit() { needs_commit_ = true; }
+
+  const Microsoft::WRL::ComPtr<ID3D11VideoDevice>& video_device() const {
+    return video_device_;
+  }
+
+  const Microsoft::WRL::ComPtr<ID3D11VideoContext>& video_context() const {
+    return video_context_;
+  }
+
+  const Microsoft::WRL::ComPtr<ID3D11VideoProcessor>& video_processor() const {
+    return video_processor_;
+  }
+
+  const Microsoft::WRL::ComPtr<ID3D11VideoProcessorEnumerator>&
+  video_processor_enumerator() const {
+    return video_processor_enumerator_;
+  }
+
+  Microsoft::WRL::ComPtr<IDXGISwapChain1> GetLayerSwapChainForTesting(
+      size_t index) const;
+
+  const GpuDriverBugWorkarounds& workarounds() const { return workarounds_; }
+
+ private:
+  const GpuDriverBugWorkarounds workarounds_;
+
+  Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device_;
+  Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device_;
+  Microsoft::WRL::ComPtr<IDCompositionTarget> dcomp_target_;
+
+  // The video processor is cached so SwapChains don't have to recreate it
+  // whenever they're created.
+  Microsoft::WRL::ComPtr<ID3D11VideoDevice> video_device_;
+  Microsoft::WRL::ComPtr<ID3D11VideoContext> video_context_;
+  Microsoft::WRL::ComPtr<ID3D11VideoProcessor> video_processor_;
+  Microsoft::WRL::ComPtr<ID3D11VideoProcessorEnumerator>
+      video_processor_enumerator_;
+
+  // Current video processor input and output size.
+  gfx::Size video_input_size_;
+  gfx::Size video_output_size_;
+
+  // Set to true if a direct composition commit is needed.
+  bool needs_commit_ = false;
+
+  // Set if root surface is using a swap chain currently.
+  Microsoft::WRL::ComPtr<IDXGISwapChain1> root_swap_chain_;
+
+  // Set if root surface is using a direct composition surface currently.
+  Microsoft::WRL::ComPtr<IDCompositionSurface> root_dcomp_surface_;
+  uint64_t root_dcomp_surface_serial_;
+
+  // Direct composition visual for root surface.
+  Microsoft::WRL::ComPtr<IDCompositionVisual2> root_surface_visual_;
+
+  // Root direct composition visual for window dcomp target.
+  Microsoft::WRL::ComPtr<IDCompositionVisual2> dcomp_root_visual_;
+
+  // List of pending overlay layers from ScheduleDCLayer().
+  std::vector<std::unique_ptr<ui::DCRendererLayerParams>> pending_overlays_;
+
+  // List of swap chain presenters for previous frame.
+  std::vector<std::unique_ptr<SwapChainPresenter>> video_swap_chains_;
+
+  DISALLOW_COPY_AND_ASSIGN(DCLayerTree);
+};
+
+}  // namespace gpu
+
+#endif  // GPU_IPC_SERVICE_DC_LAYER_TREE_H_
diff --git a/gpu/ipc/service/direct_composition_surface_win.cc b/gpu/ipc/service/direct_composition_surface_win.cc
index 427892ae..1663a26 100644
--- a/gpu/ipc/service/direct_composition_surface_win.cc
+++ b/gpu/ipc/service/direct_composition_surface_win.cc
@@ -4,41 +4,20 @@
 
 #include "gpu/ipc/service/direct_composition_surface_win.h"
 
-#include <d3d11_1.h>
-#include <dcomptypes.h>
 #include <dxgi1_6.h>
 
+#include <memory>
 #include <utility>
 
-#include "base/containers/circular_deque.h"
-#include "base/feature_list.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "base/strings/stringprintf.h"
-#include "base/synchronization/waitable_event.h"
 #include "base/trace_event/trace_event.h"
-#include "base/win/scoped_handle.h"
-#include "base/win/windows_types.h"
 #include "base/win/windows_version.h"
-#include "components/crash/core/common/crash_key.h"
 #include "gpu/command_buffer/service/feature_info.h"
 #include "gpu/config/gpu_finch_features.h"
+#include "gpu/ipc/service/dc_layer_tree.h"
 #include "gpu/ipc/service/direct_composition_child_surface_win.h"
-#include "gpu/ipc/service/gpu_channel_manager.h"
-#include "gpu/ipc/service/gpu_channel_manager_delegate.h"
-#include "ui/display/display_switches.h"
-#include "ui/gfx/color_space_win.h"
-#include "ui/gfx/geometry/rect_conversions.h"
-#include "ui/gfx/geometry/size_conversions.h"
-#include "ui/gfx/native_widget_types.h"
-#include "ui/gfx/transform.h"
-#include "ui/gl/dc_renderer_layer_params.h"
-#include "ui/gl/egl_util.h"
 #include "ui/gl/gl_angle_util_win.h"
-#include "ui/gl/gl_context.h"
-#include "ui/gl/gl_image_dxgi.h"
-#include "ui/gl/gl_image_memory.h"
-#include "ui/gl/gl_surface_egl.h"
 #include "ui/gl/gl_surface_presentation_helper.h"
 
 #ifndef EGL_ANGLE_flexible_surface_compatibility
@@ -48,79 +27,12 @@
 
 namespace gpu {
 namespace {
-// Some drivers fail to correctly handle BT.709 video in overlays. This flag
-// converts them to BT.601 in the video processor.
-const base::Feature kFallbackBT709VideoToBT601{
-    "FallbackBT709VideoToBT601", base::FEATURE_DISABLED_BY_DEFAULT};
-
-bool SizeContains(const gfx::Size& a, const gfx::Size& b) {
-  return gfx::Rect(a).Contains(gfx::Rect(b));
-}
-
-bool IsProtectedVideo(ui::ProtectedVideoType protected_video_type) {
-  return protected_video_type != ui::ProtectedVideoType::kClear;
-}
-
-// This keeps track of whether the previous 30 frames used Overlays or GPU
-// composition to present.
-class PresentationHistory {
- public:
-  static const int kPresentsToStore = 30;
-
-  PresentationHistory() {}
-
-  void AddSample(DXGI_FRAME_PRESENTATION_MODE mode) {
-    if (mode == DXGI_FRAME_PRESENTATION_MODE_COMPOSED)
-      composed_count_++;
-
-    presents_.push_back(mode);
-    if (presents_.size() > kPresentsToStore) {
-      DXGI_FRAME_PRESENTATION_MODE first_mode = presents_.front();
-      if (first_mode == DXGI_FRAME_PRESENTATION_MODE_COMPOSED)
-        composed_count_--;
-      presents_.pop_front();
-    }
-  }
-
-  bool valid() const { return presents_.size() >= kPresentsToStore; }
-  int composed_count() const { return composed_count_; }
-
- private:
-  base::circular_deque<DXGI_FRAME_PRESENTATION_MODE> presents_;
-  int composed_count_ = 0;
-
-  DISALLOW_COPY_AND_ASSIGN(PresentationHistory);
-};
-
-class ScopedReleaseKeyedMutex {
- public:
-  ScopedReleaseKeyedMutex(Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex,
-                          UINT64 key)
-      : keyed_mutex_(keyed_mutex), key_(key) {
-    DCHECK(keyed_mutex);
-  }
-
-  ~ScopedReleaseKeyedMutex() {
-    HRESULT hr = keyed_mutex_->ReleaseSync(key_);
-    DCHECK(SUCCEEDED(hr));
-  }
-
- private:
-  Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex_;
-  UINT64 key_ = 0;
-
-  DISALLOW_COPY_AND_ASSIGN(ScopedReleaseKeyedMutex);
-};
-
 struct OverlaySupportInfo {
   OverlayFormat overlay_format;
   DXGI_FORMAT dxgi_format;
   UINT flags;
 };
 
-// Indicates if overlay support has been initialized.
-bool g_overlay_support_initialized = false;
-
 // Indicates support for either NV12 or YUY2 hardware overlays.
 bool g_supports_overlays = false;
 
@@ -144,72 +56,11 @@
     {OverlayFormat::kBGRA, DXGI_FORMAT_B8G8R8A8_UNORM, 0},
 };
 
-// These values are persisted to logs. Entries should not be renumbered and
-// numeric values should never be reused.
-enum class OverlayFullScreenTypes {
-  kWindowMode,
-  kFullScreenMode,
-  kFullScreenInWidthOnly,
-  kFullScreenInHeightOnly,
-  kOverSizedFullScreen,
-  kNotAvailable,
-  kMaxValue = kNotAvailable,
-};
-
-void RecordOverlayFullScreenTypes(bool workaround_applied,
-                                  const gfx::Rect& overlay_onscreen_rect) {
-  OverlayFullScreenTypes full_screen_type;
-  const gfx::Size& screen_size = g_overlay_monitor_size;
-  const gfx::Size& overlay_onscreen_size = overlay_onscreen_rect.size();
-  const gfx::Point& origin = overlay_onscreen_rect.origin();
-
-  // The kFullScreenInWidthOnly type might be over counted, it's possible the
-  // video width fits the screen but it's still in a window mode.
-  if (screen_size.IsEmpty()) {
-    full_screen_type = OverlayFullScreenTypes::kNotAvailable;
-  } else if (origin.IsOrigin() && overlay_onscreen_size == screen_size)
-    full_screen_type = OverlayFullScreenTypes::kFullScreenMode;
-  else if (overlay_onscreen_size.width() > screen_size.width() ||
-           overlay_onscreen_size.height() > screen_size.height()) {
-    full_screen_type = OverlayFullScreenTypes::kOverSizedFullScreen;
-  } else if (origin.x() == 0 &&
-             overlay_onscreen_size.width() == screen_size.width()) {
-    full_screen_type = OverlayFullScreenTypes::kFullScreenInWidthOnly;
-  } else if (origin.y() == 0 &&
-             overlay_onscreen_size.height() == screen_size.height()) {
-    full_screen_type = OverlayFullScreenTypes::kFullScreenInHeightOnly;
-  } else {
-    full_screen_type = OverlayFullScreenTypes::kWindowMode;
-  }
-
-  UMA_HISTOGRAM_ENUMERATION("GPU.DirectComposition.OverlayFullScreenTypes",
-                            full_screen_type);
-
-  // TODO(magchen): To be deleted once we know if this workaround is still
-  // needed
-  UMA_HISTOGRAM_BOOLEAN(
-      "GPU.DirectComposition.DisableLargerThanScreenOverlaysWorkaround",
-      workaround_applied);
-}
-
-const char* ProtectedVideoTypeToString(ui::ProtectedVideoType type) {
-  switch (type) {
-    case ui::ProtectedVideoType::kClear:
-      return "Clear";
-    case ui::ProtectedVideoType::kSoftwareProtected:
-      if (g_supports_overlays)
-        return "SoftwareProtected.HasOverlaySupport";
-      else
-        return "SoftwareProtected.NoOverlaySupport";
-    case ui::ProtectedVideoType::kHardwareProtected:
-      return "HardwareProtected";
-  }
-}
-
 void InitializeHardwareOverlaySupport() {
-  if (g_overlay_support_initialized)
+  static bool overlay_support_initialized = false;
+  if (overlay_support_initialized)
     return;
-  g_overlay_support_initialized = true;
+  overlay_support_initialized = true;
 
   // Check for DirectComposition support first to prevent likely crashes.
   if (!DirectCompositionSurfaceWin::IsDirectCompositionSupported())
@@ -335,1531 +186,8 @@
   UMA_HISTOGRAM_BOOLEAN("GPU.DirectComposition.OverlaysSupported",
                         g_supports_overlays);
 }
-
-bool CreateSurfaceHandleHelper(HANDLE* handle) {
-  using PFN_DCOMPOSITION_CREATE_SURFACE_HANDLE =
-      HRESULT(WINAPI*)(DWORD, SECURITY_ATTRIBUTES*, HANDLE*);
-  static PFN_DCOMPOSITION_CREATE_SURFACE_HANDLE create_surface_handle_function =
-      nullptr;
-
-  if (!create_surface_handle_function) {
-    HMODULE dcomp = ::GetModuleHandleA("dcomp.dll");
-    if (!dcomp) {
-      DLOG(ERROR) << "Failed to get handle for dcomp.dll";
-      return false;
-    }
-    create_surface_handle_function =
-        reinterpret_cast<PFN_DCOMPOSITION_CREATE_SURFACE_HANDLE>(
-            ::GetProcAddress(dcomp, "DCompositionCreateSurfaceHandle"));
-    if (!create_surface_handle_function) {
-      DLOG(ERROR)
-          << "Failed to get address for DCompositionCreateSurfaceHandle";
-      return false;
-    }
-  }
-
-  HRESULT hr = create_surface_handle_function(COMPOSITIONOBJECT_ALL_ACCESS,
-                                              nullptr, handle);
-  if (FAILED(hr)) {
-    DLOG(ERROR) << "DCompositionCreateSurfaceHandle failed with error 0x"
-                << std::hex << hr;
-    return false;
-  }
-
-  return true;
-}
 }  // namespace
 
-// DCLayerTree manages a tree of direct composition visuals, and associated
-// swap chains for given overlay layers.  It maintains a list of pending layers
-// submitted using ScheduleDCLayer() that are presented and committed in
-// CommitAndClearPendingOverlays().
-class DCLayerTree {
- public:
-  DCLayerTree(const GpuDriverBugWorkarounds& workarounds)
-      : workarounds_(workarounds) {}
-
-  // Returns true on success.
-  bool Initialize(HWND window,
-                  Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device,
-                  Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device);
-
-  // Present pending overlay layers, and perform a direct composition commit if
-  // necessary.  Returns true if presentation and commit succeeded.
-  bool CommitAndClearPendingOverlays(
-      DirectCompositionChildSurfaceWin* root_surface);
-
-  // Schedule an overlay layer for the next CommitAndClearPendingOverlays call.
-  bool ScheduleDCLayer(const ui::DCRendererLayerParams& params);
-
-  // Called by SwapChainPresenter to initialize video processor that can handle
-  // at least given input and output size.  The video processor is shared across
-  // layers so the same one can be reused if it's large enough.  Returns true on
-  // success.
-  bool InitializeVideoProcessor(const gfx::Size& input_size,
-                                const gfx::Size& output_size);
-
-  void SetNeedsCommit() { needs_commit_ = true; }
-
-  const Microsoft::WRL::ComPtr<ID3D11VideoDevice>& video_device() const {
-    return video_device_;
-  }
-
-  const Microsoft::WRL::ComPtr<ID3D11VideoContext>& video_context() const {
-    return video_context_;
-  }
-
-  const Microsoft::WRL::ComPtr<ID3D11VideoProcessor>& video_processor() const {
-    return video_processor_;
-  }
-
-  const Microsoft::WRL::ComPtr<ID3D11VideoProcessorEnumerator>&
-  video_processor_enumerator() const {
-    return video_processor_enumerator_;
-  }
-
-  Microsoft::WRL::ComPtr<IDXGISwapChain1> GetLayerSwapChainForTesting(
-      size_t index) const;
-
-  const GpuDriverBugWorkarounds& workarounds() const { return workarounds_; }
-
- private:
-  class SwapChainPresenter;
-
-  const GpuDriverBugWorkarounds workarounds_;
-
-  Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device_;
-  Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device_;
-  Microsoft::WRL::ComPtr<IDCompositionTarget> dcomp_target_;
-
-  // The video processor is cached so SwapChains don't have to recreate it
-  // whenever they're created.
-  Microsoft::WRL::ComPtr<ID3D11VideoDevice> video_device_;
-  Microsoft::WRL::ComPtr<ID3D11VideoContext> video_context_;
-  Microsoft::WRL::ComPtr<ID3D11VideoProcessor> video_processor_;
-  Microsoft::WRL::ComPtr<ID3D11VideoProcessorEnumerator>
-      video_processor_enumerator_;
-
-  // Current video processor input and output size.
-  gfx::Size video_input_size_;
-  gfx::Size video_output_size_;
-
-  // Set to true if a direct composition commit is needed.
-  bool needs_commit_ = false;
-
-  // Set if root surface is using a swap chain currently.
-  Microsoft::WRL::ComPtr<IDXGISwapChain1> root_swap_chain_;
-
-  // Set if root surface is using a direct composition surface currently.
-  Microsoft::WRL::ComPtr<IDCompositionSurface> root_dcomp_surface_;
-  uint64_t root_dcomp_surface_serial_;
-
-  // Direct composition visual for root surface.
-  Microsoft::WRL::ComPtr<IDCompositionVisual2> root_surface_visual_;
-
-  // Root direct composition visual for window dcomp target.
-  Microsoft::WRL::ComPtr<IDCompositionVisual2> dcomp_root_visual_;
-
-  // List of pending overlay layers from ScheduleDCLayer().
-  std::vector<std::unique_ptr<ui::DCRendererLayerParams>> pending_overlays_;
-
-  // List of swap chain presenters for previous frame.
-  std::vector<std::unique_ptr<SwapChainPresenter>> video_swap_chains_;
-
-  DISALLOW_COPY_AND_ASSIGN(DCLayerTree);
-};
-
-// SwapChainPresenter holds a swap chain, direct composition visuals, and other
-// associated resources for a single overlay layer.  It is updated by calling
-// PresentToSwapChain(), and can update or recreate resources as necessary.
-class DCLayerTree::SwapChainPresenter {
- public:
-  SwapChainPresenter(DCLayerTree* layer_tree,
-                     Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device,
-                     Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device);
-  ~SwapChainPresenter();
-
-  // Present the given overlay to swap chain.  Returns true on success.
-  bool PresentToSwapChain(const ui::DCRendererLayerParams& overlay);
-
-  const Microsoft::WRL::ComPtr<IDXGISwapChain1>& swap_chain() const {
-    return swap_chain_;
-  }
-
-  const Microsoft::WRL::ComPtr<IDCompositionVisual2>& visual() const {
-    return clip_visual_;
-  }
-
- private:
-  // Mapped to DirectCompositonVideoPresentationMode UMA enum.  Do not remove or
-  // remap existing entries!
-  enum class VideoPresentationMode {
-    kZeroCopyDecodeSwapChain = 0,
-    kUploadAndVideoProcessorBlit = 1,
-    kBindAndVideoProcessorBlit = 2,
-    kMaxValue = kBindAndVideoProcessorBlit,
-  };
-
-  // Mapped to DecodeSwapChainNotUsedReason UMA enum.  Do not remove or remap
-  // existing entries.
-  enum class DecodeSwapChainNotUsedReason {
-    kSoftwareFrame = 0,
-    kNv12NotSupported = 1,
-    kFailedToPresent = 2,
-    kNonDecoderTexture = 3,
-    kSharedTexture = 4,
-    kIncompatibleTransform = 5,
-    kUnitaryTextureArray = 6,
-    kMaxValue = kUnitaryTextureArray,
-  };
-
-  // Upload given YUV buffers to an NV12 texture that can be used to create
-  // video processor input view.  Returns nullptr on failure.
-  Microsoft::WRL::ComPtr<ID3D11Texture2D> UploadVideoImages(
-      gl::GLImageMemory* y_image_memory,
-      gl::GLImageMemory* uv_image_memory);
-
-  // Releases resources that might hold indirect references to the swap chain.
-  void ReleaseSwapChainResources();
-
-  // Recreate swap chain using given size.  Use preferred YUV format if
-  // |use_yuv_swap_chain| is true, or BGRA otherwise.  Sets flags based on
-  // |protected_video_type|. Returns true on success.
-  bool ReallocateSwapChain(const gfx::Size& swap_chain_size,
-                           bool use_yuv_swap_chain,
-                           ui::ProtectedVideoType protected_video_type,
-                           bool z_order);
-
-  // Returns true if YUV swap chain should be preferred over BGRA swap chain.
-  // This changes over time based on stats recorded in |presentation_history|.
-  bool ShouldUseYUVSwapChain(ui::ProtectedVideoType protected_video_type);
-
-  // Perform a blit using video processor from given input texture to swap chain
-  // backbuffer. |input_texture| is the input texture (array), and |input_level|
-  // is the index of the texture in the texture array.  |keyed_mutex| is
-  // optional, and is used to lock the resource for reading.  |content_rect| is
-  // subrectangle of the input texture that should be blitted to swap chain, and
-  // |src_color_space| is the color space of the video.
-  bool VideoProcessorBlt(Microsoft::WRL::ComPtr<ID3D11Texture2D> input_texture,
-                         UINT input_level,
-                         Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex,
-                         const gfx::Rect& content_rect,
-                         const gfx::ColorSpace& src_color_space);
-
-  // Returns optimal swap chain size for given layer.
-  gfx::Size CalculateSwapChainSize(const ui::DCRendererLayerParams& params);
-
-  // Update direct composition visuals for layer with given swap chain size.
-  void UpdateVisuals(const ui::DCRendererLayerParams& params,
-                     const gfx::Size& swap_chain_size);
-
-  // Try presenting to a decode swap chain based on various conditions such as
-  // global state (e.g. finch, NV12 support), texture flags, and transform.
-  // Returns true on success.  See PresentToDecodeSwapChain() for more info.
-  bool TryPresentToDecodeSwapChain(gl::GLImageDXGI* image_dxgi,
-                                   const gfx::Rect& content_rect,
-                                   const gfx::Size& swap_chain_size);
-
-  // Present to a decode swap chain created from compatible video decoder
-  // buffers using given |image_dxgi| with destination size |swap_chain_size|.
-  // Returns true on success.
-  bool PresentToDecodeSwapChain(gl::GLImageDXGI* image_dxgi,
-                                const gfx::Rect& content_rect,
-                                const gfx::Size& swap_chain_size);
-
-  // Records presentation statistics in UMA and traces (for pixel tests) for the
-  // current swap chain which could either be a regular flip swap chain or a
-  // decode swap chain.
-  void RecordPresentationStatistics();
-
-  // Layer tree instance that owns this swap chain presenter.
-  DCLayerTree* layer_tree_;
-
-  // Current size of swap chain.
-  gfx::Size swap_chain_size_;
-
-  // Whether the current swap chain is using the preferred YUV format.
-  bool is_yuv_swapchain_ = false;
-
-  // Whether the swap chain was reallocated, and next present will be the first.
-  bool first_present_ = false;
-
-  // Whether the current swap chain is presenting protected video, software
-  // or hardware protection.
-  ui::ProtectedVideoType protected_video_type_ = ui::ProtectedVideoType::kClear;
-
-  // Presentation history to track if swap chain was composited or used hardware
-  // overlays.
-  PresentationHistory presentation_history_;
-
-  // Whether creating a YUV swap chain failed.
-  bool failed_to_create_yuv_swapchain_ = false;
-
-  // Set to true when PresentToDecodeSwapChain fails for the first time after
-  // which we won't attempt to use decode swap chain again.
-  bool failed_to_present_decode_swapchain_ = false;
-
-  // Number of frames since we switched from YUV to BGRA swap chain, or
-  // vice-versa.
-  int frames_since_color_space_change_ = 0;
-
-  // This struct is used to cache information about what visuals are currently
-  // being presented so that properties that aren't changed aren't sent to
-  // DirectComposition.
-  struct VisualInfo {
-    gfx::Point offset;
-    gfx::Transform transform;
-    bool is_clipped = false;
-    gfx::Rect clip_rect;
-  } visual_info_;
-
-  // Direct composition visual containing the swap chain content.  Child of
-  // |clip_visual_|.
-  Microsoft::WRL::ComPtr<IDCompositionVisual2> content_visual_;
-
-  // Direct composition visual that applies the clip rect.  Parent of
-  // |content_visual_|, and root of the visual tree for this layer.
-  Microsoft::WRL::ComPtr<IDCompositionVisual2> clip_visual_;
-
-  // GLImages that were presented in the last frame.
-  scoped_refptr<gl::GLImage> last_y_image_;
-  scoped_refptr<gl::GLImage> last_uv_image_;
-
-  // NV12 staging texture used for software decoded YUV buffers.  Mapped to CPU
-  // for copying from YUV buffers.  Texture usage is DYNAMIC or STAGING.
-  Microsoft::WRL::ComPtr<ID3D11Texture2D> staging_texture_;
-  // Used to copy from staging texture with usage STAGING for workarounds.
-  Microsoft::WRL::ComPtr<ID3D11Texture2D> copy_texture_;
-  gfx::Size staging_texture_size_;
-
-  Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device_;
-  Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device_;
-  Microsoft::WRL::ComPtr<IDXGISwapChain1> swap_chain_;
-
-  // Handle returned by DCompositionCreateSurfaceHandle() used to create YUV
-  // swap chain that can be used for direct composition.
-  base::win::ScopedHandle swap_chain_handle_;
-
-  // Video processor output view created from swap chain back buffer.  Must be
-  // cached for performance reasons.
-  Microsoft::WRL::ComPtr<ID3D11VideoProcessorOutputView> output_view_;
-
-  Microsoft::WRL::ComPtr<IDXGIResource> decode_resource_;
-  Microsoft::WRL::ComPtr<IDXGIDecodeSwapChain> decode_swap_chain_;
-  Microsoft::WRL::ComPtr<IUnknown> decode_surface_;
-
-  DISALLOW_COPY_AND_ASSIGN(SwapChainPresenter);
-};
-
-bool DCLayerTree::Initialize(
-    HWND window,
-    Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device,
-    Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device) {
-  DCHECK(d3d11_device);
-  d3d11_device_ = std::move(d3d11_device);
-  DCHECK(dcomp_device);
-  dcomp_device_ = std::move(dcomp_device);
-
-  Microsoft::WRL::ComPtr<IDCompositionDesktopDevice> desktop_device;
-  dcomp_device_.As(&desktop_device);
-  DCHECK(desktop_device);
-
-  HRESULT hr =
-      desktop_device->CreateTargetForHwnd(window, TRUE, &dcomp_target_);
-  if (FAILED(hr)) {
-    DLOG(ERROR) << "CreateTargetForHwnd failed with error 0x" << std::hex << hr;
-    return false;
-  }
-
-  dcomp_device_->CreateVisual(&dcomp_root_visual_);
-  DCHECK(dcomp_root_visual_);
-  dcomp_target_->SetRoot(dcomp_root_visual_.Get());
-  // A visual inherits the interpolation mode of the parent visual by default.
-  // If no visuals set the interpolation mode, the default for the entire visual
-  // tree is nearest neighbor interpolation.
-  // Set the interpolation mode to Linear to get a better upscaling quality.
-  dcomp_root_visual_->SetBitmapInterpolationMode(
-      DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR);
-
-  return true;
-}
-
-bool DCLayerTree::InitializeVideoProcessor(const gfx::Size& input_size,
-                                           const gfx::Size& output_size) {
-  if (!video_device_) {
-    // This can fail if the D3D device is "Microsoft Basic Display Adapter".
-    if (FAILED(d3d11_device_.As(&video_device_))) {
-      DLOG(ERROR) << "Failed to retrieve video device from D3D11 device";
-      return false;
-    }
-    DCHECK(video_device_);
-
-    Microsoft::WRL::ComPtr<ID3D11DeviceContext> context;
-    d3d11_device_->GetImmediateContext(&context);
-    DCHECK(context);
-    context.As(&video_context_);
-    DCHECK(video_context_);
-  }
-
-  if (video_processor_ && SizeContains(video_input_size_, input_size) &&
-      SizeContains(video_output_size_, output_size))
-    return true;
-  TRACE_EVENT2("gpu", "DCLayerTree::InitializeVideoProcessor", "input_size",
-               input_size.ToString(), "output_size", output_size.ToString());
-  video_input_size_ = input_size;
-  video_output_size_ = output_size;
-
-  video_processor_.Reset();
-  video_processor_enumerator_.Reset();
-  D3D11_VIDEO_PROCESSOR_CONTENT_DESC desc = {};
-  desc.InputFrameFormat = D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE;
-  desc.InputFrameRate.Numerator = 60;
-  desc.InputFrameRate.Denominator = 1;
-  desc.InputWidth = input_size.width();
-  desc.InputHeight = input_size.height();
-  desc.OutputFrameRate.Numerator = 60;
-  desc.OutputFrameRate.Denominator = 1;
-  desc.OutputWidth = output_size.width();
-  desc.OutputHeight = output_size.height();
-  desc.Usage = D3D11_VIDEO_USAGE_PLAYBACK_NORMAL;
-  HRESULT hr = video_device_->CreateVideoProcessorEnumerator(
-      &desc, &video_processor_enumerator_);
-  if (FAILED(hr)) {
-    DLOG(ERROR) << "CreateVideoProcessorEnumerator failed with error 0x"
-                << std::hex << hr;
-    return false;
-  }
-
-  hr = video_device_->CreateVideoProcessor(video_processor_enumerator_.Get(), 0,
-                                           &video_processor_);
-  if (FAILED(hr)) {
-    DLOG(ERROR) << "CreateVideoProcessor failed with error 0x" << std::hex
-                << hr;
-    return false;
-  }
-
-  // Auto stream processing (the default) can hurt power consumption.
-  video_context_->VideoProcessorSetStreamAutoProcessingMode(
-      video_processor_.Get(), 0, FALSE);
-  return true;
-}
-
-Microsoft::WRL::ComPtr<IDXGISwapChain1>
-DCLayerTree::GetLayerSwapChainForTesting(size_t index) const {
-  if (index < video_swap_chains_.size())
-    return video_swap_chains_[index]->swap_chain();
-  return nullptr;
-}
-
-DCLayerTree::SwapChainPresenter::SwapChainPresenter(
-    DCLayerTree* layer_tree,
-    Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device,
-    Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device)
-    : layer_tree_(layer_tree),
-      d3d11_device_(d3d11_device),
-      dcomp_device_(dcomp_device) {}
-
-DCLayerTree::SwapChainPresenter::~SwapChainPresenter() {}
-
-bool DCLayerTree::SwapChainPresenter::ShouldUseYUVSwapChain(
-    ui::ProtectedVideoType protected_video_type) {
-  // TODO(crbug.com/850799): Assess power/perf impact when protected video
-  // swap chain is composited by DWM.
-
-  // Always prefer YUV swap chain for hardware protected video for now.
-  if (protected_video_type == ui::ProtectedVideoType::kHardwareProtected)
-    return true;
-
-  // For software protected video, BGRA swap chain is preferred if hardware
-  // overlay is not supported for better power efficiency.
-  // Currently, software protected video is the only case that overlay swap
-  // chain is used when hardware overlay is not suppported.
-  if (protected_video_type == ui::ProtectedVideoType::kSoftwareProtected &&
-      !g_supports_overlays)
-    return false;
-
-  if (failed_to_create_yuv_swapchain_)
-    return false;
-
-  // Start out as YUV.
-  if (!presentation_history_.valid())
-    return true;
-  int composition_count = presentation_history_.composed_count();
-
-  // It's more efficient to use a BGRA backbuffer instead of YUV if overlays
-  // aren't being used, as otherwise DWM will use the video processor a second
-  // time to convert it to BGRA before displaying it on screen.
-
-  if (is_yuv_swapchain_) {
-    // Switch to BGRA once 3/4 of presents are composed.
-    return composition_count < (PresentationHistory::kPresentsToStore * 3 / 4);
-  } else {
-    // Switch to YUV once 3/4 are using overlays (or unknown).
-    return composition_count < (PresentationHistory::kPresentsToStore / 4);
-  }
-}
-
-Microsoft::WRL::ComPtr<ID3D11Texture2D>
-DCLayerTree::SwapChainPresenter::UploadVideoImages(
-    gl::GLImageMemory* y_image_memory,
-    gl::GLImageMemory* uv_image_memory) {
-  gfx::Size texture_size = y_image_memory->GetSize();
-  gfx::Size uv_image_size = uv_image_memory->GetSize();
-  if (uv_image_size.height() != texture_size.height() / 2 ||
-      uv_image_size.width() != texture_size.width() / 2 ||
-      y_image_memory->format() != gfx::BufferFormat::R_8 ||
-      uv_image_memory->format() != gfx::BufferFormat::RG_88) {
-    DLOG(ERROR) << "Invalid NV12 GLImageMemory properties.";
-    return nullptr;
-  }
-
-  TRACE_EVENT1("gpu", "SwapChainPresenter::UploadVideoImages", "size",
-               texture_size.ToString());
-
-  static crash_reporter::CrashKeyString<32> texture_size_key(
-      "dynamic-texture-size");
-  texture_size_key.Set(texture_size.ToString());
-
-  static crash_reporter::CrashKeyString<2> first_use_key(
-      "dynamic-texture-first-use");
-  bool first_use = !staging_texture_ || (staging_texture_size_ != texture_size);
-  first_use_key.Set(first_use ? "1" : "0");
-
-  bool use_dynamic_texture =
-      !layer_tree_->workarounds().disable_nv12_dynamic_textures;
-
-  D3D11_TEXTURE2D_DESC desc = {};
-  desc.Width = texture_size.width();
-  desc.Height = texture_size.height();
-  desc.Format = DXGI_FORMAT_NV12;
-  desc.MipLevels = 1;
-  desc.ArraySize = 1;
-  desc.Usage = use_dynamic_texture ? D3D11_USAGE_DYNAMIC : D3D11_USAGE_STAGING;
-  // This isn't actually bound to a decoder, but dynamic textures need
-  // BindFlags to be nonzero and D3D11_BIND_DECODER also works when creating
-  // a VideoProcessorInputView.
-  desc.BindFlags = use_dynamic_texture ? D3D11_BIND_DECODER : 0;
-  desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
-  desc.MiscFlags = 0;
-  desc.SampleDesc.Count = 1;
-
-  if (!staging_texture_ || (staging_texture_size_ != texture_size)) {
-    staging_texture_.Reset();
-    copy_texture_.Reset();
-    HRESULT hr =
-        d3d11_device_->CreateTexture2D(&desc, nullptr, &staging_texture_);
-    if (FAILED(hr)) {
-      DLOG(ERROR) << "Creating D3D11 video staging texture failed: " << std::hex
-                  << hr;
-      return nullptr;
-    }
-    DCHECK(staging_texture_);
-    staging_texture_size_ = texture_size;
-  }
-
-  Microsoft::WRL::ComPtr<ID3D11DeviceContext> context;
-  d3d11_device_->GetImmediateContext(&context);
-  DCHECK(context);
-
-  D3D11_MAP map_type =
-      use_dynamic_texture ? D3D11_MAP_WRITE_DISCARD : D3D11_MAP_WRITE;
-  D3D11_MAPPED_SUBRESOURCE mapped_resource;
-  HRESULT hr =
-      context->Map(staging_texture_.Get(), 0, map_type, 0, &mapped_resource);
-  if (FAILED(hr)) {
-    DLOG(ERROR) << "Mapping D3D11 video staging texture failed: " << std::hex
-                << hr;
-    return nullptr;
-  }
-
-  size_t dest_stride = mapped_resource.RowPitch;
-  for (int y = 0; y < texture_size.height(); y++) {
-    const uint8_t* y_source =
-        y_image_memory->memory() + y * y_image_memory->stride();
-    uint8_t* dest =
-        reinterpret_cast<uint8_t*>(mapped_resource.pData) + dest_stride * y;
-    memcpy(dest, y_source, texture_size.width());
-  }
-
-  uint8_t* uv_dest_plane_start =
-      reinterpret_cast<uint8_t*>(mapped_resource.pData) +
-      dest_stride * texture_size.height();
-  for (int y = 0; y < uv_image_size.height(); y++) {
-    const uint8_t* uv_source =
-        uv_image_memory->memory() + y * uv_image_memory->stride();
-    uint8_t* dest = uv_dest_plane_start + dest_stride * y;
-    memcpy(dest, uv_source, texture_size.width());
-  }
-  context->Unmap(staging_texture_.Get(), 0);
-
-  if (use_dynamic_texture)
-    return staging_texture_;
-
-  if (!copy_texture_) {
-    desc.Usage = D3D11_USAGE_DEFAULT;
-    desc.BindFlags = D3D11_BIND_DECODER;
-    desc.CPUAccessFlags = 0;
-    HRESULT hr = d3d11_device_->CreateTexture2D(&desc, nullptr, &copy_texture_);
-    if (FAILED(hr)) {
-      DLOG(ERROR) << "Creating D3D11 video upload texture failed: " << std::hex
-                  << hr;
-      return nullptr;
-    }
-    DCHECK(copy_texture_);
-  }
-  TRACE_EVENT0("gpu", "SwapChainPresenter::UploadVideoImages::CopyResource");
-  context->CopyResource(copy_texture_.Get(), staging_texture_.Get());
-  return copy_texture_;
-}
-
-gfx::Size DCLayerTree::SwapChainPresenter::CalculateSwapChainSize(
-    const ui::DCRendererLayerParams& params) {
-  // Swap chain size is the minimum of the on-screen size and the source size so
-  // the video processor can do the minimal amount of work and the overlay has
-  // to read the minimal amount of data. DWM is also less likely to promote a
-  // surface to an overlay if it's much larger than its area on-screen.
-  gfx::Size swap_chain_size = params.content_rect.size();
-  gfx::Size overlay_onscreen_size = swap_chain_size;
-  gfx::RectF bounds(params.quad_rect);
-  params.transform.TransformRect(&bounds);
-  overlay_onscreen_size = gfx::ToEnclosingRect(bounds).size();
-
-  // If transform isn't a scale or translation then swap chain can't be promoted
-  // to an overlay so avoid blitting to a large surface unnecessarily.  Also,
-  // after the video rotation fix (crbug.com/904035), using rotated size for
-  // swap chain size will cause stretching since there's no squashing factor in
-  // the transform to counteract.
-  // TODO(sunnyps): Support 90/180/270 deg rotations using video context.
-  if (params.transform.IsScaleOrTranslation()) {
-    swap_chain_size = overlay_onscreen_size;
-  }
-
-  if (g_supports_scaled_overlays) {
-    // Downscaling doesn't work on Intel display HW, and so DWM will perform an
-    // extra BLT to avoid HW downscaling. This prevents the use of hardware
-    // overlays especially for protected video.
-    swap_chain_size.SetToMin(params.content_rect.size());
-  }
-
-  bool workaround_applied = false;
-  if (layer_tree_->workarounds().disable_larger_than_screen_overlays &&
-      !g_overlay_monitor_size.IsEmpty()) {
-    // Because of the rounding when converting between pixels and DIPs, a
-    // fullscreen video can become slightly larger than the monitor - e.g. on
-    // a 3000x2000 monitor with a scale factor of 1.75 a 1920x1079 video can
-    // become 3002x1689.
-    // On older Intel drivers, swapchains that are bigger than the monitor
-    // won't be put into overlays, which will hurt power usage a lot. On those
-    // systems, the scaling can be adjusted very slightly so that it's less
-    // than the monitor size. This should be close to imperceptible.
-    // TODO(jbauman): Remove when http://crbug.com/668278 is fixed.
-    const int kOversizeMargin = 3;
-
-    if ((swap_chain_size.width() > g_overlay_monitor_size.width()) &&
-        (swap_chain_size.width() <=
-         g_overlay_monitor_size.width() + kOversizeMargin)) {
-      swap_chain_size.set_width(g_overlay_monitor_size.width());
-      workaround_applied = true;
-    }
-
-    if ((swap_chain_size.height() > g_overlay_monitor_size.height()) &&
-        (swap_chain_size.height() <=
-         g_overlay_monitor_size.height() + kOversizeMargin)) {
-      swap_chain_size.set_height(g_overlay_monitor_size.height());
-      workaround_applied = true;
-    }
-  }
-  RecordOverlayFullScreenTypes(
-      workaround_applied,
-      /*overlay_onscreen_rect*/ gfx::ToEnclosingRect(bounds));
-
-  // 4:2:2 subsampled formats like YUY2 must have an even width, and 4:2:0
-  // subsampled formats like NV12 must have an even width and height.
-  if (swap_chain_size.width() % 2 == 1)
-    swap_chain_size.set_width(swap_chain_size.width() + 1);
-  if (swap_chain_size.height() % 2 == 1)
-    swap_chain_size.set_height(swap_chain_size.height() + 1);
-
-  return swap_chain_size;
-}
-
-void DCLayerTree::SwapChainPresenter::UpdateVisuals(
-    const ui::DCRendererLayerParams& params,
-    const gfx::Size& swap_chain_size) {
-  if (!content_visual_) {
-    DCHECK(!clip_visual_);
-    dcomp_device_->CreateVisual(&clip_visual_);
-    DCHECK(clip_visual_);
-    dcomp_device_->CreateVisual(&content_visual_);
-    DCHECK(content_visual_);
-    clip_visual_->AddVisual(content_visual_.Get(), FALSE, nullptr);
-    layer_tree_->SetNeedsCommit();
-  }
-
-  // Visual offset is applied before transform so it behaves similar to how the
-  // compositor uses transform to map quad rect in layer space to target space.
-  gfx::Point offset = params.quad_rect.origin();
-  gfx::Transform transform = params.transform;
-
-  // Transform is correct for scaling up |quad_rect| to on screen bounds, but
-  // doesn't include scaling transform from |swap_chain_size| to |quad_rect|.
-  // Since |swap_chain_size| could be equal to on screen bounds, and therefore
-  // possibly larger than |quad_rect|, this scaling could be downscaling, but
-  // only to the extent that it would cancel upscaling already in the transform.
-  float swap_chain_scale_x =
-      params.quad_rect.width() * 1.0f / swap_chain_size.width();
-  float swap_chain_scale_y =
-      params.quad_rect.height() * 1.0f / swap_chain_size.height();
-  transform.Scale(swap_chain_scale_x, swap_chain_scale_y);
-
-  if (visual_info_.offset != offset || visual_info_.transform != transform) {
-    visual_info_.offset = offset;
-    visual_info_.transform = transform;
-    layer_tree_->SetNeedsCommit();
-
-    content_visual_->SetOffsetX(offset.x());
-    content_visual_->SetOffsetY(offset.y());
-
-    Microsoft::WRL::ComPtr<IDCompositionMatrixTransform> dcomp_transform;
-    dcomp_device_->CreateMatrixTransform(&dcomp_transform);
-    DCHECK(dcomp_transform);
-    // SkMatrix44 is column-major, but D2D_MATRIX_3x2_F is row-major.
-    D2D_MATRIX_3X2_F d2d_matrix = {
-        {{transform.matrix().get(0, 0), transform.matrix().get(1, 0),
-          transform.matrix().get(0, 1), transform.matrix().get(1, 1),
-          transform.matrix().get(0, 3), transform.matrix().get(1, 3)}}};
-    dcomp_transform->SetMatrix(d2d_matrix);
-    content_visual_->SetTransform(dcomp_transform.Get());
-  }
-
-  if (visual_info_.is_clipped != params.is_clipped ||
-      visual_info_.clip_rect != params.clip_rect) {
-    visual_info_.is_clipped = params.is_clipped;
-    visual_info_.clip_rect = params.clip_rect;
-    layer_tree_->SetNeedsCommit();
-    // DirectComposition clips happen in the pre-transform visual space, while
-    // cc/ clips happen post-transform. So the clip needs to go on a separate
-    // parent visual that's untransformed.
-    if (params.is_clipped) {
-      Microsoft::WRL::ComPtr<IDCompositionRectangleClip> clip;
-      dcomp_device_->CreateRectangleClip(&clip);
-      DCHECK(clip);
-      clip->SetLeft(params.clip_rect.x());
-      clip->SetRight(params.clip_rect.right());
-      clip->SetBottom(params.clip_rect.bottom());
-      clip->SetTop(params.clip_rect.y());
-      clip_visual_->SetClip(clip.Get());
-    } else {
-      clip_visual_->SetClip(nullptr);
-    }
-  }
-}
-
-bool DCLayerTree::SwapChainPresenter::TryPresentToDecodeSwapChain(
-    gl::GLImageDXGI* image_dxgi,
-    const gfx::Rect& content_rect,
-    const gfx::Size& swap_chain_size) {
-  if (!base::FeatureList::IsEnabled(
-          features::kDirectCompositionUseNV12DecodeSwapChain))
-    return false;
-
-  auto not_used_reason = DecodeSwapChainNotUsedReason::kFailedToPresent;
-
-  bool nv12_supported = g_overlay_format_used == OverlayFormat::kNV12;
-  // TODO(sunnyps): Try using decode swap chain for uploaded video images.
-  if (image_dxgi && nv12_supported && !failed_to_present_decode_swapchain_) {
-    D3D11_TEXTURE2D_DESC texture_desc = {};
-    image_dxgi->texture()->GetDesc(&texture_desc);
-
-    bool is_decoder_texture = texture_desc.BindFlags & D3D11_BIND_DECODER;
-
-    // Decode swap chains do not support shared resources.
-    // TODO(sunnyps): Find a workaround for when the decoder moves to its own
-    // thread and D3D device.  See https://crbug.com/911847
-    bool is_shared_texture =
-        texture_desc.MiscFlags &
-        (D3D11_RESOURCE_MISC_SHARED | D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX |
-         D3D11_RESOURCE_MISC_SHARED_NTHANDLE);
-
-    // DXVA decoder (or rather MFT) sometimes gives texture arrays with one
-    // element, which constitutes most of decode swap chain creation failures.
-    bool is_unitary_texture_array = texture_desc.ArraySize <= 1;
-
-    // Rotated videos are not promoted to overlays.  We plan to implement
-    // rotation using video processor instead of via direct composition.  Also
-    // check for skew and any downscaling specified to direct composition.
-    bool is_overlay_supported_transform =
-        visual_info_.transform.IsPositiveScaleOrTranslation();
-
-    // Downscaled video isn't promoted to hardware overlays.  We prefer to
-    // blit into the smaller size so that it can be promoted to a hardware
-    // overlay.
-    float swap_chain_scale_x =
-        swap_chain_size.width() * 1.0f / content_rect.width();
-    float swap_chain_scale_y =
-        swap_chain_size.height() * 1.0f / content_rect.height();
-
-    is_overlay_supported_transform = is_overlay_supported_transform &&
-                                     (swap_chain_scale_x >= 1.0f) &&
-                                     (swap_chain_scale_y >= 1.0f);
-
-    if (is_decoder_texture && !is_shared_texture && !is_unitary_texture_array &&
-        is_overlay_supported_transform) {
-      if (PresentToDecodeSwapChain(image_dxgi, content_rect, swap_chain_size))
-        return true;
-      ReleaseSwapChainResources();
-      failed_to_present_decode_swapchain_ = true;
-      not_used_reason = DecodeSwapChainNotUsedReason::kFailedToPresent;
-      DLOG(ERROR)
-          << "Present to decode swap chain failed - falling back to blit";
-    } else if (!is_decoder_texture) {
-      not_used_reason = DecodeSwapChainNotUsedReason::kNonDecoderTexture;
-    } else if (is_shared_texture) {
-      not_used_reason = DecodeSwapChainNotUsedReason::kSharedTexture;
-    } else if (is_unitary_texture_array) {
-      not_used_reason = DecodeSwapChainNotUsedReason::kUnitaryTextureArray;
-    } else if (!is_overlay_supported_transform) {
-      not_used_reason = DecodeSwapChainNotUsedReason::kIncompatibleTransform;
-    }
-  } else if (!image_dxgi) {
-    not_used_reason = DecodeSwapChainNotUsedReason::kSoftwareFrame;
-  } else if (!nv12_supported) {
-    not_used_reason = DecodeSwapChainNotUsedReason::kNv12NotSupported;
-  } else if (failed_to_present_decode_swapchain_) {
-    not_used_reason = DecodeSwapChainNotUsedReason::kFailedToPresent;
-  }
-
-  UMA_HISTOGRAM_ENUMERATION(
-      "GPU.DirectComposition.DecodeSwapChainNotUsedReason", not_used_reason);
-  return false;
-}
-
-bool DCLayerTree::SwapChainPresenter::PresentToDecodeSwapChain(
-    gl::GLImageDXGI* image_dxgi,
-    const gfx::Rect& content_rect,
-    const gfx::Size& swap_chain_size) {
-  DCHECK(!swap_chain_size.IsEmpty());
-
-  TRACE_EVENT2("gpu", "SwapChainPresenter::PresentToDecodeSwapChain",
-               "content_rect", content_rect.ToString(), "swap_chain_size",
-               swap_chain_size.ToString());
-
-  Microsoft::WRL::ComPtr<IDXGIResource> decode_resource;
-  image_dxgi->texture().As(&decode_resource);
-  DCHECK(decode_resource);
-
-  if (!decode_swap_chain_ || decode_resource_ != decode_resource) {
-    TRACE_EVENT0(
-        "gpu",
-        "SwapChainPresenter::PresentToDecodeSwapChain::CreateDecodeSwapChain");
-    ReleaseSwapChainResources();
-
-    decode_resource_ = decode_resource;
-
-    HANDLE handle = INVALID_HANDLE_VALUE;
-    if (!CreateSurfaceHandleHelper(&handle))
-      return false;
-    swap_chain_handle_.Set(handle);
-
-    Microsoft::WRL::ComPtr<IDXGIDevice> dxgi_device;
-    d3d11_device_.As(&dxgi_device);
-    DCHECK(dxgi_device);
-    Microsoft::WRL::ComPtr<IDXGIAdapter> dxgi_adapter;
-    dxgi_device->GetAdapter(&dxgi_adapter);
-    DCHECK(dxgi_adapter);
-    Microsoft::WRL::ComPtr<IDXGIFactoryMedia> media_factory;
-    dxgi_adapter->GetParent(IID_PPV_ARGS(&media_factory));
-    DCHECK(media_factory);
-
-    DXGI_DECODE_SWAP_CHAIN_DESC desc = {};
-    desc.Flags = 0;
-    HRESULT hr =
-        media_factory->CreateDecodeSwapChainForCompositionSurfaceHandle(
-            d3d11_device_.Get(), swap_chain_handle_.Get(), &desc,
-            decode_resource_.Get(), nullptr, &decode_swap_chain_);
-    base::UmaHistogramSparse(
-        "GPU.DirectComposition.DecodeSwapChainCreationResult", hr);
-    if (FAILED(hr)) {
-      DLOG(ERROR) << "CreateDecodeSwapChainForCompositionSurfaceHandle failed "
-                     "with error 0x"
-                  << std::hex << hr;
-      return false;
-    }
-    DCHECK(decode_swap_chain_);
-
-    Microsoft::WRL::ComPtr<IDCompositionDesktopDevice> desktop_device;
-    dcomp_device_.As(&desktop_device);
-    DCHECK(desktop_device);
-
-    desktop_device->CreateSurfaceFromHandle(swap_chain_handle_.Get(),
-                                            &decode_surface_);
-    if (FAILED(hr)) {
-      DLOG(ERROR) << "CreateSurfaceFromHandle failed with error 0x" << std::hex
-                  << hr;
-      return false;
-    }
-    DCHECK(decode_surface_);
-
-    content_visual_->SetContent(decode_surface_.Get());
-    layer_tree_->SetNeedsCommit();
-  } else if (last_y_image_ == image_dxgi && last_uv_image_ == image_dxgi &&
-             swap_chain_size_ == swap_chain_size) {
-    // Early out if we're presenting the same image again.
-    return true;
-  }
-
-  RECT source_rect = content_rect.ToRECT();
-  decode_swap_chain_->SetSourceRect(&source_rect);
-
-  decode_swap_chain_->SetDestSize(swap_chain_size.width(),
-                                  swap_chain_size.height());
-  RECT target_rect = gfx::Rect(swap_chain_size).ToRECT();
-  decode_swap_chain_->SetTargetRect(&target_rect);
-
-  gfx::ColorSpace color_space = image_dxgi->color_space();
-  if (!color_space.IsValid())
-    color_space = gfx::ColorSpace::CreateREC709();
-
-  // TODO(sunnyps): Move this to gfx::ColorSpaceWin helper where we can access
-  // internal color space state and do a better job.
-  // Common color spaces have primaries and transfer function similar to BT 709
-  // and there are no other choices anyway.
-  int flags = DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709;
-  // Proper Rec 709 and 601 have limited or nominal color range.
-  if (color_space == gfx::ColorSpace::CreateREC709() ||
-      color_space == gfx::ColorSpace::CreateREC601()) {
-    flags |= DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE;
-  }
-  // xvYCC allows colors outside nominal range to encode negative colors that
-  // allows for a wider gamut.
-  if (color_space.FullRangeEncodedValues()) {
-    flags |= DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC;
-  }
-  decode_swap_chain_->SetColorSpace(
-      static_cast<DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS>(flags));
-
-  HRESULT hr = decode_swap_chain_->PresentBuffer(image_dxgi->level(), 1, 0);
-  // Ignore DXGI_STATUS_OCCLUDED since that's not an error but only indicates
-  // that the window is occluded and we can stop rendering.
-  if (FAILED(hr) && hr != DXGI_STATUS_OCCLUDED) {
-    DLOG(ERROR) << "PresentBuffer failed with error 0x" << std::hex << hr;
-    return false;
-  }
-
-  last_y_image_ = image_dxgi;
-  last_uv_image_ = image_dxgi;
-  swap_chain_size_ = swap_chain_size;
-  if (is_yuv_swapchain_) {
-    frames_since_color_space_change_++;
-  } else {
-    UMA_HISTOGRAM_COUNTS_1000(
-        "GPU.DirectComposition.FramesSinceColorSpaceChange",
-        frames_since_color_space_change_);
-    frames_since_color_space_change_ = 0;
-    is_yuv_swapchain_ = true;
-  }
-  RecordPresentationStatistics();
-  return true;
-}
-
-bool DCLayerTree::SwapChainPresenter::PresentToSwapChain(
-    const ui::DCRendererLayerParams& params) {
-  gl::GLImageDXGI* image_dxgi =
-      gl::GLImageDXGI::FromGLImage(params.y_image.get());
-  gl::GLImageMemory* y_image_memory =
-      gl::GLImageMemory::FromGLImage(params.y_image.get());
-  gl::GLImageMemory* uv_image_memory =
-      gl::GLImageMemory::FromGLImage(params.uv_image.get());
-
-  if (!image_dxgi && (!y_image_memory || !uv_image_memory)) {
-    DLOG(ERROR) << "Video GLImages are missing";
-    // No need to release resources as context will be lost soon.
-    return false;
-  }
-
-  gfx::Size swap_chain_size = CalculateSwapChainSize(params);
-
-  TRACE_EVENT2("gpu", "SwapChainPresenter::PresentToSwapChain",
-               "hardware_frame", !!image_dxgi, "swap_chain_size",
-               swap_chain_size.ToString());
-
-  // Do not create a swap chain if swap chain size will be empty.
-  if (swap_chain_size.IsEmpty()) {
-    swap_chain_size_ = swap_chain_size;
-    if (swap_chain_) {
-      ReleaseSwapChainResources();
-      content_visual_->SetContent(nullptr);
-      layer_tree_->SetNeedsCommit();
-    }
-    return true;
-  }
-
-  UpdateVisuals(params, swap_chain_size);
-
-  if (TryPresentToDecodeSwapChain(image_dxgi, params.content_rect,
-                                  swap_chain_size)) {
-    return true;
-  }
-
-  bool swap_chain_resized = swap_chain_size_ != swap_chain_size;
-  bool use_yuv_swap_chain = ShouldUseYUVSwapChain(params.protected_video_type);
-  bool toggle_yuv_swapchain = use_yuv_swap_chain != is_yuv_swapchain_;
-  bool toggle_protected_video =
-      protected_video_type_ != params.protected_video_type;
-
-  // Try reallocating swap chain if resizing fails.
-  if (!swap_chain_ || swap_chain_resized || toggle_yuv_swapchain ||
-      toggle_protected_video) {
-    if (!ReallocateSwapChain(swap_chain_size, use_yuv_swap_chain,
-                             params.protected_video_type, params.z_order)) {
-      ReleaseSwapChainResources();
-      return false;
-    }
-    content_visual_->SetContent(swap_chain_.Get());
-    layer_tree_->SetNeedsCommit();
-  } else if (last_y_image_ == params.y_image &&
-             last_uv_image_ == params.uv_image) {
-    // The swap chain is presenting the same images as last swap, which means
-    // that the images were never returned to the video decoder and should
-    // have the same contents as last time. It shouldn't need to be redrawn.
-    return true;
-  }
-  last_y_image_ = params.y_image;
-  last_uv_image_ = params.uv_image;
-
-  Microsoft::WRL::ComPtr<ID3D11Texture2D> input_texture;
-  UINT input_level;
-  Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex;
-  if (image_dxgi) {
-    input_texture = image_dxgi->texture();
-    input_level = (UINT)image_dxgi->level();
-    // Keyed mutex may not exist.
-    keyed_mutex = image_dxgi->keyed_mutex();
-    staging_texture_.Reset();
-    copy_texture_.Reset();
-  } else {
-    DCHECK(y_image_memory);
-    DCHECK(uv_image_memory);
-    input_texture = UploadVideoImages(y_image_memory, uv_image_memory);
-    input_level = 0;
-  }
-
-  if (!input_texture) {
-    DLOG(ERROR) << "Video image has no texture";
-    return false;
-  }
-
-  // TODO(sunnyps): Use correct color space for uploaded video frames.
-  gfx::ColorSpace src_color_space = gfx::ColorSpace::CreateREC709();
-  if (image_dxgi && image_dxgi->color_space().IsValid())
-    src_color_space = image_dxgi->color_space();
-
-  if (!VideoProcessorBlt(input_texture, input_level, keyed_mutex,
-                         params.content_rect, src_color_space)) {
-    return false;
-  }
-
-  if (first_present_) {
-    first_present_ = false;
-
-    HRESULT hr = swap_chain_->Present(0, 0);
-    // Ignore DXGI_STATUS_OCCLUDED since that's not an error but only indicates
-    // that the window is occluded and we can stop rendering.
-    if (FAILED(hr) && hr != DXGI_STATUS_OCCLUDED) {
-      DLOG(ERROR) << "Present failed with error 0x" << std::hex << hr;
-      return false;
-    }
-
-    // DirectComposition can display black for a swap chain between the first
-    // and second time it's presented to - maybe the first Present can get
-    // lost somehow and it shows the wrong buffer. In that case copy the
-    // buffers so both have the correct contents, which seems to help. The
-    // first Present() after this needs to have SyncInterval > 0, or else the
-    // workaround doesn't help.
-    Microsoft::WRL::ComPtr<ID3D11Texture2D> dest_texture;
-    swap_chain_->GetBuffer(0, IID_PPV_ARGS(&dest_texture));
-    DCHECK(dest_texture);
-    Microsoft::WRL::ComPtr<ID3D11Texture2D> src_texture;
-    hr = swap_chain_->GetBuffer(1, IID_PPV_ARGS(&src_texture));
-    DCHECK(src_texture);
-    Microsoft::WRL::ComPtr<ID3D11DeviceContext> context;
-    d3d11_device_->GetImmediateContext(&context);
-    DCHECK(context);
-    context->CopyResource(dest_texture.Get(), src_texture.Get());
-
-    // Additionally wait for the GPU to finish executing its commands, or
-    // there still may be a black flicker when presenting expensive content
-    // (e.g. 4k video).
-    Microsoft::WRL::ComPtr<IDXGIDevice2> dxgi_device2;
-    d3d11_device_.As(&dxgi_device2);
-    DCHECK(dxgi_device2);
-    base::WaitableEvent event(base::WaitableEvent::ResetPolicy::AUTOMATIC,
-                              base::WaitableEvent::InitialState::NOT_SIGNALED);
-    hr = dxgi_device2->EnqueueSetEvent(event.handle());
-    DCHECK(SUCCEEDED(hr));
-    event.Wait();
-  }
-
-  // Ignore DXGI_STATUS_OCCLUDED since that's not an error but only indicates
-  // that the window is occluded and we can stop rendering.
-  HRESULT hr = swap_chain_->Present(1, 0);
-  if (FAILED(hr) && hr != DXGI_STATUS_OCCLUDED) {
-    DLOG(ERROR) << "Present failed with error 0x" << std::hex << hr;
-    return false;
-  }
-  frames_since_color_space_change_++;
-  RecordPresentationStatistics();
-  return true;
-}
-
-void DCLayerTree::SwapChainPresenter::RecordPresentationStatistics() {
-  OverlayFormat swap_chain_format =
-      is_yuv_swapchain_ ? g_overlay_format_used : OverlayFormat::kBGRA;
-  UMA_HISTOGRAM_ENUMERATION("GPU.DirectComposition.SwapChainFormat2",
-                            swap_chain_format);
-
-  VideoPresentationMode presentation_mode;
-  if (decode_swap_chain_) {
-    presentation_mode = VideoPresentationMode::kZeroCopyDecodeSwapChain;
-  } else if (staging_texture_) {
-    presentation_mode = VideoPresentationMode::kUploadAndVideoProcessorBlit;
-  } else {
-    presentation_mode = VideoPresentationMode::kBindAndVideoProcessorBlit;
-  }
-  UMA_HISTOGRAM_ENUMERATION("GPU.DirectComposition.VideoPresentationMode",
-                            presentation_mode);
-
-  UMA_HISTOGRAM_BOOLEAN("GPU.DirectComposition.DecodeSwapChainUsed",
-                        !!decode_swap_chain_);
-
-  TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("gpu.service"),
-                       "SwapChain::Present", TRACE_EVENT_SCOPE_THREAD,
-                       "PixelFormat", swap_chain_format, "ZeroCopy",
-                       !!decode_swap_chain_);
-  HRESULT hr = 0;
-  Microsoft::WRL::ComPtr<IDXGISwapChainMedia> swap_chain_media;
-  if (decode_swap_chain_) {
-    hr = decode_swap_chain_.As(&swap_chain_media);
-  } else {
-    DCHECK(swap_chain_);
-    hr = swap_chain_.As(&swap_chain_media);
-  }
-  if (SUCCEEDED(hr)) {
-    DCHECK(swap_chain_media);
-    DXGI_FRAME_STATISTICS_MEDIA stats = {};
-    // GetFrameStatisticsMedia fails with DXGI_ERROR_FRAME_STATISTICS_DISJOINT
-    // sometimes, which means an event (such as power cycle) interrupted the
-    // gathering of presentation statistics. In this situation, calling the
-    // function again succeeds but returns with CompositionMode = NONE.
-    // Waiting for the DXGI adapter to finish presenting before calling the
-    // function doesn't get rid of the failure.
-    HRESULT hr = swap_chain_media->GetFrameStatisticsMedia(&stats);
-    int mode = -1;
-    if (SUCCEEDED(hr)) {
-      base::UmaHistogramSparse("GPU.DirectComposition.CompositionMode",
-                               stats.CompositionMode);
-      presentation_history_.AddSample(stats.CompositionMode);
-      mode = stats.CompositionMode;
-    }
-    // Record CompositionMode as -1 if GetFrameStatisticsMedia() fails.
-    TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("gpu.service"),
-                         "GetFrameStatisticsMedia", TRACE_EVENT_SCOPE_THREAD,
-                         "CompositionMode", mode);
-  }
-}
-
-bool DCLayerTree::SwapChainPresenter::VideoProcessorBlt(
-    Microsoft::WRL::ComPtr<ID3D11Texture2D> input_texture,
-    UINT input_level,
-    Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex,
-    const gfx::Rect& content_rect,
-    const gfx::ColorSpace& src_color_space) {
-  TRACE_EVENT2("gpu", "SwapChainPresenter::VideoProcessorBlt", "content_rect",
-               content_rect.ToString(), "swap_chain_size",
-               swap_chain_size_.ToString());
-  if (!layer_tree_->InitializeVideoProcessor(content_rect.size(),
-                                             swap_chain_size_)) {
-    return false;
-  }
-  Microsoft::WRL::ComPtr<ID3D11VideoContext> video_context =
-      layer_tree_->video_context();
-  Microsoft::WRL::ComPtr<ID3D11VideoProcessor> video_processor =
-      layer_tree_->video_processor();
-
-  gfx::ColorSpace output_color_space =
-      is_yuv_swapchain_ ? src_color_space : gfx::ColorSpace::CreateSRGB();
-
-  if (base::FeatureList::IsEnabled(kFallbackBT709VideoToBT601) &&
-      (output_color_space == gfx::ColorSpace::CreateREC709())) {
-    output_color_space = gfx::ColorSpace::CreateREC601();
-  }
-
-  Microsoft::WRL::ComPtr<IDXGISwapChain3> swap_chain3;
-  Microsoft::WRL::ComPtr<ID3D11VideoContext1> context1;
-  if (SUCCEEDED(swap_chain_.As(&swap_chain3)) &&
-      SUCCEEDED(video_context.As(&context1))) {
-    DCHECK(swap_chain3);
-    DCHECK(context1);
-    // Set input color space.
-    context1->VideoProcessorSetStreamColorSpace1(
-        video_processor.Get(), 0,
-        gfx::ColorSpaceWin::GetDXGIColorSpace(src_color_space));
-    // Set output color space.
-    DXGI_COLOR_SPACE_TYPE output_dxgi_color_space =
-        gfx::ColorSpaceWin::GetDXGIColorSpace(
-            output_color_space, is_yuv_swapchain_ /* force_yuv */);
-    if (SUCCEEDED(swap_chain3->SetColorSpace1(output_dxgi_color_space))) {
-      context1->VideoProcessorSetOutputColorSpace1(video_processor.Get(),
-                                                   output_dxgi_color_space);
-    }
-  } else {
-    // This can't handle as many different types of color spaces, so use it
-    // only if ID3D11VideoContext1 isn't available.
-    D3D11_VIDEO_PROCESSOR_COLOR_SPACE src_d3d11_color_space =
-        gfx::ColorSpaceWin::GetD3D11ColorSpace(src_color_space);
-    video_context->VideoProcessorSetStreamColorSpace(video_processor.Get(), 0,
-                                                     &src_d3d11_color_space);
-    D3D11_VIDEO_PROCESSOR_COLOR_SPACE output_d3d11_color_space =
-        gfx::ColorSpaceWin::GetD3D11ColorSpace(output_color_space);
-    video_context->VideoProcessorSetOutputColorSpace(video_processor.Get(),
-                                                     &output_d3d11_color_space);
-  }
-
-  {
-    base::Optional<ScopedReleaseKeyedMutex> release_keyed_mutex;
-    if (keyed_mutex) {
-      // The producer may still be using this texture for a short period of
-      // time, so wait long enough to hopefully avoid glitches. For example,
-      // all levels of the texture share the same keyed mutex, so if the
-      // hardware decoder acquired the mutex to decode into a different array
-      // level then it still may block here temporarily.
-      const int kMaxSyncTimeMs = 1000;
-      HRESULT hr = keyed_mutex->AcquireSync(0, kMaxSyncTimeMs);
-      if (FAILED(hr)) {
-        DLOG(ERROR) << "Error acquiring keyed mutex: " << std::hex << hr;
-        return false;
-      }
-      release_keyed_mutex.emplace(keyed_mutex, 0);
-    }
-
-    Microsoft::WRL::ComPtr<ID3D11VideoDevice> video_device =
-        layer_tree_->video_device();
-    Microsoft::WRL::ComPtr<ID3D11VideoProcessorEnumerator>
-        video_processor_enumerator = layer_tree_->video_processor_enumerator();
-
-    D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC input_desc = {};
-    input_desc.ViewDimension = D3D11_VPIV_DIMENSION_TEXTURE2D;
-    input_desc.Texture2D.ArraySlice = input_level;
-
-    Microsoft::WRL::ComPtr<ID3D11VideoProcessorInputView> input_view;
-    HRESULT hr = video_device->CreateVideoProcessorInputView(
-        input_texture.Get(), video_processor_enumerator.Get(), &input_desc,
-        &input_view);
-    if (FAILED(hr)) {
-      DLOG(ERROR) << "CreateVideoProcessorInputView failed with error 0x"
-                  << std::hex << hr;
-      return false;
-    }
-
-    D3D11_VIDEO_PROCESSOR_STREAM stream = {};
-    stream.Enable = true;
-    stream.OutputIndex = 0;
-    stream.InputFrameOrField = 0;
-    stream.PastFrames = 0;
-    stream.FutureFrames = 0;
-    stream.pInputSurface = input_view.Get();
-    RECT dest_rect = gfx::Rect(swap_chain_size_).ToRECT();
-    video_context->VideoProcessorSetOutputTargetRect(video_processor.Get(),
-                                                     TRUE, &dest_rect);
-    video_context->VideoProcessorSetStreamDestRect(video_processor.Get(), 0,
-                                                   TRUE, &dest_rect);
-    RECT source_rect = content_rect.ToRECT();
-    video_context->VideoProcessorSetStreamSourceRect(video_processor.Get(), 0,
-                                                     TRUE, &source_rect);
-
-    if (!output_view_) {
-      Microsoft::WRL::ComPtr<ID3D11Texture2D> swap_chain_buffer;
-      swap_chain_->GetBuffer(0, IID_PPV_ARGS(&swap_chain_buffer));
-
-      D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC output_desc = {};
-      output_desc.ViewDimension = D3D11_VPOV_DIMENSION_TEXTURE2D;
-      output_desc.Texture2D.MipSlice = 0;
-
-      hr = video_device->CreateVideoProcessorOutputView(
-          swap_chain_buffer.Get(), video_processor_enumerator.Get(),
-          &output_desc, &output_view_);
-      if (FAILED(hr)) {
-        DLOG(ERROR) << "CreateVideoProcessorOutputView failed with error 0x"
-                    << std::hex << hr;
-        return false;
-      }
-      DCHECK(output_view_);
-    }
-
-    hr = video_context->VideoProcessorBlt(video_processor.Get(),
-                                          output_view_.Get(), 0, 1, &stream);
-    if (FAILED(hr)) {
-      DLOG(ERROR) << "VideoProcessorBlt failed with error 0x" << std::hex << hr;
-      return false;
-    }
-  }
-
-  return true;
-}
-
-void DCLayerTree::SwapChainPresenter::ReleaseSwapChainResources() {
-  output_view_.Reset();
-  swap_chain_.Reset();
-  decode_surface_.Reset();
-  decode_swap_chain_.Reset();
-  decode_resource_.Reset();
-  swap_chain_handle_.Close();
-  staging_texture_.Reset();
-}
-
-bool DCLayerTree::SwapChainPresenter::ReallocateSwapChain(
-    const gfx::Size& swap_chain_size,
-    bool use_yuv_swap_chain,
-    ui::ProtectedVideoType protected_video_type,
-    bool z_order) {
-  TRACE_EVENT2("gpu", "SwapChainPresenter::ReallocateSwapChain", "size",
-               swap_chain_size.ToString(), "yuv", use_yuv_swap_chain);
-
-  DCHECK(!swap_chain_size.IsEmpty());
-  swap_chain_size_ = swap_chain_size;
-
-  // ResizeBuffers can't change YUV flags so only attempt it when size changes.
-  if (swap_chain_ && (is_yuv_swapchain_ == use_yuv_swap_chain) &&
-      (protected_video_type_ == protected_video_type)) {
-    output_view_.Reset();
-    DXGI_SWAP_CHAIN_DESC1 desc = {};
-    swap_chain_->GetDesc1(&desc);
-    HRESULT hr = swap_chain_->ResizeBuffers(
-        desc.BufferCount, swap_chain_size.width(), swap_chain_size.height(),
-        desc.Format, desc.Flags);
-    if (SUCCEEDED(hr))
-      return true;
-    DLOG(ERROR) << "ResizeBuffers failed with error 0x" << std::hex << hr;
-  }
-
-  protected_video_type_ = protected_video_type;
-
-  if (is_yuv_swapchain_ != use_yuv_swap_chain) {
-    UMA_HISTOGRAM_COUNTS_1000(
-        "GPU.DirectComposition.FramesSinceColorSpaceChange",
-        frames_since_color_space_change_);
-    frames_since_color_space_change_ = 0;
-  }
-  is_yuv_swapchain_ = false;
-
-  ReleaseSwapChainResources();
-
-  Microsoft::WRL::ComPtr<IDXGIDevice> dxgi_device;
-  d3d11_device_.As(&dxgi_device);
-  DCHECK(dxgi_device);
-  Microsoft::WRL::ComPtr<IDXGIAdapter> dxgi_adapter;
-  dxgi_device->GetAdapter(&dxgi_adapter);
-  DCHECK(dxgi_adapter);
-  Microsoft::WRL::ComPtr<IDXGIFactoryMedia> media_factory;
-  dxgi_adapter->GetParent(IID_PPV_ARGS(&media_factory));
-  DCHECK(media_factory);
-
-  // The composition surface handle is only used to create YUV swap chains since
-  // CreateSwapChainForComposition can't do that.
-  HANDLE handle = INVALID_HANDLE_VALUE;
-  if (!CreateSurfaceHandleHelper(&handle))
-    return false;
-  swap_chain_handle_.Set(handle);
-
-  first_present_ = true;
-
-  DXGI_SWAP_CHAIN_DESC1 desc = {};
-  desc.Width = swap_chain_size_.width();
-  desc.Height = swap_chain_size_.height();
-  desc.Format = g_overlay_dxgi_format_used;
-  desc.Stereo = FALSE;
-  desc.SampleDesc.Count = 1;
-  desc.BufferCount = 2;
-  desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
-  desc.Scaling = DXGI_SCALING_STRETCH;
-  desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL;
-  desc.Flags =
-      DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO | DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO;
-  if (IsProtectedVideo(protected_video_type))
-    desc.Flags |= DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY;
-  if (protected_video_type == ui::ProtectedVideoType::kHardwareProtected)
-    desc.Flags |= DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED;
-  desc.AlphaMode = DXGI_ALPHA_MODE_IGNORE;
-
-  const std::string kSwapChainCreationResultByFormatUmaPrefix =
-      "GPU.DirectComposition.SwapChainCreationResult2.";
-
-  const std::string kSwapChainCreationResultByVideoTypeUmaPrefix =
-      "GPU.DirectComposition.SwapChainCreationResult3.";
-  const std::string protected_video_type_string =
-      ProtectedVideoTypeToString(protected_video_type);
-
-  if (use_yuv_swap_chain) {
-    TRACE_EVENT1("gpu", "SwapChainPresenter::ReallocateSwapChain::YUV",
-                 "format", OverlayFormatToString(g_overlay_format_used));
-    HRESULT hr = media_factory->CreateSwapChainForCompositionSurfaceHandle(
-        d3d11_device_.Get(), swap_chain_handle_.Get(), &desc, nullptr,
-        &swap_chain_);
-    is_yuv_swapchain_ = SUCCEEDED(hr);
-    failed_to_create_yuv_swapchain_ = !is_yuv_swapchain_;
-
-    base::UmaHistogramSparse(kSwapChainCreationResultByFormatUmaPrefix +
-                                 OverlayFormatToString(g_overlay_format_used),
-                             hr);
-    base::UmaHistogramSparse(kSwapChainCreationResultByVideoTypeUmaPrefix +
-                                 protected_video_type_string,
-                             hr);
-
-    if (FAILED(hr)) {
-      DLOG(ERROR) << "Failed to create "
-                  << OverlayFormatToString(g_overlay_format_used)
-                  << " swap chain of size " << swap_chain_size.ToString()
-                  << " with error 0x" << std::hex << hr
-                  << "\nFalling back to BGRA";
-    }
-  }
-  if (!is_yuv_swapchain_) {
-    TRACE_EVENT0("gpu", "SwapChainPresenter::ReallocateSwapChain::BGRA");
-    desc.Format = DXGI_FORMAT_B8G8R8A8_UNORM;
-    desc.Flags = 0;
-    if (IsProtectedVideo(protected_video_type))
-      desc.Flags |= DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY;
-    if (protected_video_type == ui::ProtectedVideoType::kHardwareProtected)
-      desc.Flags |= DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED;
-
-    HRESULT hr = media_factory->CreateSwapChainForCompositionSurfaceHandle(
-        d3d11_device_.Get(), swap_chain_handle_.Get(), &desc, nullptr,
-        &swap_chain_);
-
-    base::UmaHistogramSparse(kSwapChainCreationResultByFormatUmaPrefix +
-                                 OverlayFormatToString(OverlayFormat::kBGRA),
-                             hr);
-    base::UmaHistogramSparse(kSwapChainCreationResultByVideoTypeUmaPrefix +
-                                 protected_video_type_string,
-                             hr);
-
-    if (FAILED(hr)) {
-      // Disable overlay support so dc_layer_overlay will stop sending down
-      // overlay frames here and uses GL Composition instead.
-      g_supports_overlays = false;
-      DLOG(ERROR) << "Failed to create BGRA swap chain of size "
-                  << swap_chain_size.ToString() << " with error 0x" << std::hex
-                  << hr << ". Disable overlay swap chains";
-      return false;
-    }
-  }
-  return true;
-}
-
-bool DCLayerTree::CommitAndClearPendingOverlays(
-    DirectCompositionChildSurfaceWin* root_surface) {
-  TRACE_EVENT1("gpu", "DCLayerTree::CommitAndClearPendingOverlays",
-               "num_pending_overlays", pending_overlays_.size());
-  DCHECK(!needs_commit_);
-  // Check if root surface visual needs a commit first.
-  if (!root_surface_visual_) {
-    dcomp_device_->CreateVisual(&root_surface_visual_);
-    needs_commit_ = true;
-  }
-
-  if (root_surface->swap_chain() != root_swap_chain_ ||
-      root_surface->dcomp_surface() != root_dcomp_surface_ ||
-      root_surface->dcomp_surface_serial() != root_dcomp_surface_serial_) {
-    root_swap_chain_ = root_surface->swap_chain();
-    root_dcomp_surface_ = root_surface->dcomp_surface();
-    root_dcomp_surface_serial_ = root_surface->dcomp_surface_serial();
-    root_surface_visual_->SetContent(
-        root_swap_chain_ ? static_cast<IUnknown*>(root_swap_chain_.Get())
-                         : static_cast<IUnknown*>(root_dcomp_surface_.Get()));
-    needs_commit_ = true;
-  }
-
-  std::vector<std::unique_ptr<ui::DCRendererLayerParams>> overlays;
-  std::swap(pending_overlays_, overlays);
-
-  // Sort layers by z-order.
-  std::sort(overlays.begin(), overlays.end(),
-            [](const auto& a, const auto& b) -> bool {
-              return a->z_order < b->z_order;
-            });
-
-  // If we need to grow or shrink swap chain presenters, we'll need to add or
-  // remove visuals.
-  if (video_swap_chains_.size() != overlays.size()) {
-    // Grow or shrink list of swap chain presenters to match pending overlays.
-    std::vector<std::unique_ptr<SwapChainPresenter>> new_video_swap_chains;
-    for (size_t i = 0; i < overlays.size(); ++i) {
-      // TODO(sunnyps): Try to find a matching swap chain based on size, type of
-      // swap chain, gl image, etc.
-      if (i < video_swap_chains_.size()) {
-        new_video_swap_chains.emplace_back(std::move(video_swap_chains_[i]));
-      } else {
-        new_video_swap_chains.emplace_back(std::make_unique<SwapChainPresenter>(
-            this, d3d11_device_, dcomp_device_));
-      }
-    }
-    video_swap_chains_.swap(new_video_swap_chains);
-    needs_commit_ = true;
-  }
-
-  // Present to each swap chain.
-  for (size_t i = 0; i < overlays.size(); ++i) {
-    auto& video_swap_chain = video_swap_chains_[i];
-    if (!video_swap_chain->PresentToSwapChain(*overlays[i])) {
-      DLOG(ERROR) << "PresentToSwapChain failed";
-      return false;
-    }
-  }
-
-  // Rebuild visual tree and commit if any visual changed.
-  if (needs_commit_) {
-    TRACE_EVENT0("gpu", "DCLayerTree::CommitAndClearPendingOverlays::Commit");
-    needs_commit_ = false;
-    dcomp_root_visual_->RemoveAllVisuals();
-
-    // Add layers with negative z-order first.
-    size_t i = 0;
-    for (; i < overlays.size() && overlays[i]->z_order < 0; ++i) {
-      IDCompositionVisual2* visual = video_swap_chains_[i]->visual().Get();
-      // We call AddVisual with insertAbove FALSE and referenceVisual nullptr
-      // which is equivalent to saying that the visual should be below no other
-      // visual, or in other words it should be above all other visuals.
-      dcomp_root_visual_->AddVisual(visual, FALSE, nullptr);
-    }
-
-    // Add root surface visual at z-order 0.
-    dcomp_root_visual_->AddVisual(root_surface_visual_.Get(), FALSE, nullptr);
-
-    // Add visuals with positive z-order.
-    for (; i < overlays.size(); ++i) {
-      // There shouldn't be a layer with z-order 0.  Otherwise, we can't tell
-      // its order with respect to root surface.
-      DCHECK_GT(overlays[i]->z_order, 0);
-      IDCompositionVisual2* visual = video_swap_chains_[i]->visual().Get();
-      dcomp_root_visual_->AddVisual(visual, FALSE, nullptr);
-    }
-
-    HRESULT hr = dcomp_device_->Commit();
-    if (FAILED(hr)) {
-      DLOG(ERROR) << "Commit failed with error 0x" << std::hex << hr;
-      return false;
-    }
-  }
-
-  return true;
-}
-
-bool DCLayerTree::ScheduleDCLayer(const ui::DCRendererLayerParams& params) {
-  pending_overlays_.push_back(
-      std::make_unique<ui::DCRendererLayerParams>(params));
-  return true;
-}
-
 DirectCompositionSurfaceWin::DirectCompositionSurfaceWin(
     std::unique_ptr<gfx::VSyncProvider> vsync_provider,
     base::WeakPtr<ImageTransportSurfaceDelegate> delegate,
@@ -1945,6 +273,16 @@
 }
 
 // static
+void DirectCompositionSurfaceWin::DisableOverlays() {
+  g_supports_overlays = false;
+}
+
+// static
+bool DirectCompositionSurfaceWin::AreScaledOverlaysSupported() {
+  return g_supports_scaled_overlays;
+}
+
+// static
 OverlayCapabilities DirectCompositionSurfaceWin::GetOverlayCapabilities() {
   InitializeHardwareOverlaySupport();
   OverlayCapabilities capabilities;
@@ -1961,6 +299,21 @@
 }
 
 // static
+gfx::Size DirectCompositionSurfaceWin::GetOverlayMonitorSize() {
+  return g_overlay_monitor_size;
+}
+
+// static
+OverlayFormat DirectCompositionSurfaceWin::GetOverlayFormatUsed() {
+  return g_overlay_format_used;
+}
+
+// static
+DXGI_FORMAT DirectCompositionSurfaceWin::GetOverlayDxgiFormatUsed() {
+  return g_overlay_dxgi_format_used;
+}
+
+// static
 void DirectCompositionSurfaceWin::SetScaledOverlaysSupportedForTesting(
     bool value) {
   g_supports_scaled_overlays = value;
diff --git a/gpu/ipc/service/direct_composition_surface_win.h b/gpu/ipc/service/direct_composition_surface_win.h
index b0217bb..3c347e1 100644
--- a/gpu/ipc/service/direct_composition_surface_win.h
+++ b/gpu/ipc/service/direct_composition_surface_win.h
@@ -11,12 +11,8 @@
 #include <wrl/client.h>
 
 #include "base/memory/weak_ptr.h"
-#include "gpu/config/gpu_driver_bug_workarounds.h"
 #include "gpu/config/gpu_info.h"
 #include "gpu/ipc/service/child_window_win.h"
-#include "gpu/ipc/service/gpu_ipc_service_export.h"
-#include "gpu/ipc/service/image_transport_surface_delegate.h"
-#include "ui/gl/gl_image.h"
 #include "ui/gl/gl_surface_egl.h"
 
 namespace gl {
@@ -24,7 +20,6 @@
 }
 
 namespace gpu {
-
 class DCLayerTree;
 class DirectCompositionChildSurfaceWin;
 
@@ -47,6 +42,21 @@
   // --enable-direct-composition-layers and --disable-direct-composition-layers.
   static bool AreOverlaysSupported();
 
+  // After this is called, hardware overlay support is disabled during the
+  // current GPU process' lifetime.
+  static void DisableOverlays();
+
+  // Returns true if scaled hardware overlays are supported.
+  static bool AreScaledOverlaysSupported();
+
+  // Returns preferred overlay format set when detecting hardware overlay
+  // support.
+  static OverlayFormat GetOverlayFormatUsed();
+  static DXGI_FORMAT GetOverlayDxgiFormatUsed();
+
+  // Returns monitor size.
+  static gfx::Size GetOverlayMonitorSize();
+
   // Returns a list of supported overlay formats for GPUInfo.  This does not
   // depend on finch features or command line flags.
   static OverlayCapabilities GetOverlayCapabilities();
diff --git a/gpu/ipc/service/shared_image_stub.cc b/gpu/ipc/service/shared_image_stub.cc
index 0ec3e83..9a4cc44 100644
--- a/gpu/ipc/service/shared_image_stub.cc
+++ b/gpu/ipc/service/shared_image_stub.cc
@@ -314,7 +314,7 @@
       channel_manager->mailbox_manager(),
       channel_manager->shared_image_manager(),
       gmb_factory ? gmb_factory->AsImageFactory() : nullptr, this,
-      features::IsUsingSkiaRenderer());
+      features::IsUsingSkiaRenderer(), /*use_gl=*/true);
   return ContextResult::kSuccess;
 }
 
diff --git a/gpu/ipc/service/swap_chain_presenter.cc b/gpu/ipc/service/swap_chain_presenter.cc
new file mode 100644
index 0000000..148feeea
--- /dev/null
+++ b/gpu/ipc/service/swap_chain_presenter.cc
@@ -0,0 +1,1184 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "gpu/ipc/service/swap_chain_presenter.h"
+
+#include <d3d11_1.h>
+
+#include "base/feature_list.h"
+#include "base/metrics/histogram_functions.h"
+#include "base/metrics/histogram_macros.h"
+#include "base/trace_event/trace_event.h"
+#include "components/crash/core/common/crash_key.h"
+#include "gpu/config/gpu_finch_features.h"
+#include "gpu/ipc/service/dc_layer_tree.h"
+#include "gpu/ipc/service/direct_composition_surface_win.h"
+#include "ui/gfx/color_space_win.h"
+#include "ui/gfx/geometry/rect_conversions.h"
+#include "ui/gl/gl_image_dxgi.h"
+#include "ui/gl/gl_image_memory.h"
+
+namespace gpu {
+namespace {
+// Some drivers fail to correctly handle BT.709 video in overlays. This flag
+// converts them to BT.601 in the video processor.
+const base::Feature kFallbackBT709VideoToBT601{
+    "FallbackBT709VideoToBT601", base::FEATURE_DISABLED_BY_DEFAULT};
+
+bool IsProtectedVideo(ui::ProtectedVideoType protected_video_type) {
+  return protected_video_type != ui::ProtectedVideoType::kClear;
+}
+
+class ScopedReleaseKeyedMutex {
+ public:
+  ScopedReleaseKeyedMutex(Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex,
+                          UINT64 key)
+      : keyed_mutex_(keyed_mutex), key_(key) {
+    DCHECK(keyed_mutex);
+  }
+
+  ~ScopedReleaseKeyedMutex() {
+    HRESULT hr = keyed_mutex_->ReleaseSync(key_);
+    DCHECK(SUCCEEDED(hr));
+  }
+
+ private:
+  Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex_;
+  UINT64 key_ = 0;
+
+  DISALLOW_COPY_AND_ASSIGN(ScopedReleaseKeyedMutex);
+};
+
+// These values are persisted to logs. Entries should not be renumbered and
+// numeric values should never be reused.
+enum class OverlayFullScreenTypes {
+  kWindowMode,
+  kFullScreenMode,
+  kFullScreenInWidthOnly,
+  kFullScreenInHeightOnly,
+  kOverSizedFullScreen,
+  kNotAvailable,
+  kMaxValue = kNotAvailable,
+};
+
+void RecordOverlayFullScreenTypes(bool workaround_applied,
+                                  const gfx::Rect& overlay_onscreen_rect) {
+  OverlayFullScreenTypes full_screen_type;
+  const gfx::Size& screen_size =
+      DirectCompositionSurfaceWin::GetOverlayMonitorSize();
+  const gfx::Size& overlay_onscreen_size = overlay_onscreen_rect.size();
+  const gfx::Point& origin = overlay_onscreen_rect.origin();
+
+  // The kFullScreenInWidthOnly type might be over counted, it's possible the
+  // video width fits the screen but it's still in a window mode.
+  if (screen_size.IsEmpty()) {
+    full_screen_type = OverlayFullScreenTypes::kNotAvailable;
+  } else if (origin.IsOrigin() && overlay_onscreen_size == screen_size)
+    full_screen_type = OverlayFullScreenTypes::kFullScreenMode;
+  else if (overlay_onscreen_size.width() > screen_size.width() ||
+           overlay_onscreen_size.height() > screen_size.height()) {
+    full_screen_type = OverlayFullScreenTypes::kOverSizedFullScreen;
+  } else if (origin.x() == 0 &&
+             overlay_onscreen_size.width() == screen_size.width()) {
+    full_screen_type = OverlayFullScreenTypes::kFullScreenInWidthOnly;
+  } else if (origin.y() == 0 &&
+             overlay_onscreen_size.height() == screen_size.height()) {
+    full_screen_type = OverlayFullScreenTypes::kFullScreenInHeightOnly;
+  } else {
+    full_screen_type = OverlayFullScreenTypes::kWindowMode;
+  }
+
+  UMA_HISTOGRAM_ENUMERATION("GPU.DirectComposition.OverlayFullScreenTypes",
+                            full_screen_type);
+
+  // TODO(magchen): To be deleted once we know if this workaround is still
+  // needed
+  UMA_HISTOGRAM_BOOLEAN(
+      "GPU.DirectComposition.DisableLargerThanScreenOverlaysWorkaround",
+      workaround_applied);
+}
+
+const char* ProtectedVideoTypeToString(ui::ProtectedVideoType type) {
+  switch (type) {
+    case ui::ProtectedVideoType::kClear:
+      return "Clear";
+    case ui::ProtectedVideoType::kSoftwareProtected:
+      if (DirectCompositionSurfaceWin::AreOverlaysSupported())
+        return "SoftwareProtected.HasOverlaySupport";
+      else
+        return "SoftwareProtected.NoOverlaySupport";
+    case ui::ProtectedVideoType::kHardwareProtected:
+      return "HardwareProtected";
+  }
+}
+
+bool CreateSurfaceHandleHelper(HANDLE* handle) {
+  using PFN_DCOMPOSITION_CREATE_SURFACE_HANDLE =
+      HRESULT(WINAPI*)(DWORD, SECURITY_ATTRIBUTES*, HANDLE*);
+  static PFN_DCOMPOSITION_CREATE_SURFACE_HANDLE create_surface_handle_function =
+      nullptr;
+
+  if (!create_surface_handle_function) {
+    HMODULE dcomp = ::GetModuleHandleA("dcomp.dll");
+    if (!dcomp) {
+      DLOG(ERROR) << "Failed to get handle for dcomp.dll";
+      return false;
+    }
+    create_surface_handle_function =
+        reinterpret_cast<PFN_DCOMPOSITION_CREATE_SURFACE_HANDLE>(
+            ::GetProcAddress(dcomp, "DCompositionCreateSurfaceHandle"));
+    if (!create_surface_handle_function) {
+      DLOG(ERROR)
+          << "Failed to get address for DCompositionCreateSurfaceHandle";
+      return false;
+    }
+  }
+
+  HRESULT hr = create_surface_handle_function(COMPOSITIONOBJECT_ALL_ACCESS,
+                                              nullptr, handle);
+  if (FAILED(hr)) {
+    DLOG(ERROR) << "DCompositionCreateSurfaceHandle failed with error 0x"
+                << std::hex << hr;
+    return false;
+  }
+
+  return true;
+}
+}  // namespace
+
+SwapChainPresenter::PresentationHistory::PresentationHistory() = default;
+SwapChainPresenter::PresentationHistory::~PresentationHistory() = default;
+
+void SwapChainPresenter::PresentationHistory::AddSample(
+    DXGI_FRAME_PRESENTATION_MODE mode) {
+  if (mode == DXGI_FRAME_PRESENTATION_MODE_COMPOSED)
+    composed_count_++;
+
+  presents_.push_back(mode);
+  if (presents_.size() > kPresentsToStore) {
+    DXGI_FRAME_PRESENTATION_MODE first_mode = presents_.front();
+    if (first_mode == DXGI_FRAME_PRESENTATION_MODE_COMPOSED)
+      composed_count_--;
+    presents_.pop_front();
+  }
+}
+
+bool SwapChainPresenter::PresentationHistory::valid() const {
+  return presents_.size() >= kPresentsToStore;
+}
+
+int SwapChainPresenter::PresentationHistory::composed_count() const {
+  return composed_count_;
+}
+
+SwapChainPresenter::SwapChainPresenter(
+    DCLayerTree* layer_tree,
+    Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device,
+    Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device)
+    : layer_tree_(layer_tree),
+      d3d11_device_(d3d11_device),
+      dcomp_device_(dcomp_device) {}
+
+SwapChainPresenter::~SwapChainPresenter() = default;
+
+bool SwapChainPresenter::ShouldUseYUVSwapChain(
+    ui::ProtectedVideoType protected_video_type) {
+  // TODO(crbug.com/850799): Assess power/perf impact when protected video
+  // swap chain is composited by DWM.
+
+  // Always prefer YUV swap chain for hardware protected video for now.
+  if (protected_video_type == ui::ProtectedVideoType::kHardwareProtected)
+    return true;
+
+  // For software protected video, BGRA swap chain is preferred if hardware
+  // overlay is not supported for better power efficiency.
+  // Currently, software protected video is the only case that overlay swap
+  // chain is used when hardware overlay is not supported.
+  if (protected_video_type == ui::ProtectedVideoType::kSoftwareProtected &&
+      !DirectCompositionSurfaceWin::AreOverlaysSupported())
+    return false;
+
+  if (failed_to_create_yuv_swapchain_)
+    return false;
+
+  // Start out as YUV.
+  if (!presentation_history_.valid())
+    return true;
+  int composition_count = presentation_history_.composed_count();
+
+  // It's more efficient to use a BGRA backbuffer instead of YUV if overlays
+  // aren't being used, as otherwise DWM will use the video processor a second
+  // time to convert it to BGRA before displaying it on screen.
+
+  if (is_yuv_swapchain_) {
+    // Switch to BGRA once 3/4 of presents are composed.
+    return composition_count < (PresentationHistory::kPresentsToStore * 3 / 4);
+  } else {
+    // Switch to YUV once 3/4 are using overlays (or unknown).
+    return composition_count < (PresentationHistory::kPresentsToStore / 4);
+  }
+}
+
+Microsoft::WRL::ComPtr<ID3D11Texture2D> SwapChainPresenter::UploadVideoImages(
+    gl::GLImageMemory* y_image_memory,
+    gl::GLImageMemory* uv_image_memory) {
+  gfx::Size texture_size = y_image_memory->GetSize();
+  gfx::Size uv_image_size = uv_image_memory->GetSize();
+  if (uv_image_size.height() != texture_size.height() / 2 ||
+      uv_image_size.width() != texture_size.width() / 2 ||
+      y_image_memory->format() != gfx::BufferFormat::R_8 ||
+      uv_image_memory->format() != gfx::BufferFormat::RG_88) {
+    DLOG(ERROR) << "Invalid NV12 GLImageMemory properties.";
+    return nullptr;
+  }
+
+  TRACE_EVENT1("gpu", "SwapChainPresenter::UploadVideoImages", "size",
+               texture_size.ToString());
+
+  static crash_reporter::CrashKeyString<32> texture_size_key(
+      "dynamic-texture-size");
+  texture_size_key.Set(texture_size.ToString());
+
+  static crash_reporter::CrashKeyString<2> first_use_key(
+      "dynamic-texture-first-use");
+  bool first_use = !staging_texture_ || (staging_texture_size_ != texture_size);
+  first_use_key.Set(first_use ? "1" : "0");
+
+  bool use_dynamic_texture =
+      !layer_tree_->workarounds().disable_nv12_dynamic_textures;
+
+  D3D11_TEXTURE2D_DESC desc = {};
+  desc.Width = texture_size.width();
+  desc.Height = texture_size.height();
+  desc.Format = DXGI_FORMAT_NV12;
+  desc.MipLevels = 1;
+  desc.ArraySize = 1;
+  desc.Usage = use_dynamic_texture ? D3D11_USAGE_DYNAMIC : D3D11_USAGE_STAGING;
+  // This isn't actually bound to a decoder, but dynamic textures need
+  // BindFlags to be nonzero and D3D11_BIND_DECODER also works when creating
+  // a VideoProcessorInputView.
+  desc.BindFlags = use_dynamic_texture ? D3D11_BIND_DECODER : 0;
+  desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
+  desc.MiscFlags = 0;
+  desc.SampleDesc.Count = 1;
+
+  if (!staging_texture_ || (staging_texture_size_ != texture_size)) {
+    staging_texture_.Reset();
+    copy_texture_.Reset();
+    HRESULT hr =
+        d3d11_device_->CreateTexture2D(&desc, nullptr, &staging_texture_);
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "Creating D3D11 video staging texture failed: " << std::hex
+                  << hr;
+      return nullptr;
+    }
+    DCHECK(staging_texture_);
+    staging_texture_size_ = texture_size;
+  }
+
+  Microsoft::WRL::ComPtr<ID3D11DeviceContext> context;
+  d3d11_device_->GetImmediateContext(&context);
+  DCHECK(context);
+
+  D3D11_MAP map_type =
+      use_dynamic_texture ? D3D11_MAP_WRITE_DISCARD : D3D11_MAP_WRITE;
+  D3D11_MAPPED_SUBRESOURCE mapped_resource;
+  HRESULT hr =
+      context->Map(staging_texture_.Get(), 0, map_type, 0, &mapped_resource);
+  if (FAILED(hr)) {
+    DLOG(ERROR) << "Mapping D3D11 video staging texture failed: " << std::hex
+                << hr;
+    return nullptr;
+  }
+
+  size_t dest_stride = mapped_resource.RowPitch;
+  for (int y = 0; y < texture_size.height(); y++) {
+    const uint8_t* y_source =
+        y_image_memory->memory() + y * y_image_memory->stride();
+    uint8_t* dest =
+        reinterpret_cast<uint8_t*>(mapped_resource.pData) + dest_stride * y;
+    memcpy(dest, y_source, texture_size.width());
+  }
+
+  uint8_t* uv_dest_plane_start =
+      reinterpret_cast<uint8_t*>(mapped_resource.pData) +
+      dest_stride * texture_size.height();
+  for (int y = 0; y < uv_image_size.height(); y++) {
+    const uint8_t* uv_source =
+        uv_image_memory->memory() + y * uv_image_memory->stride();
+    uint8_t* dest = uv_dest_plane_start + dest_stride * y;
+    memcpy(dest, uv_source, texture_size.width());
+  }
+  context->Unmap(staging_texture_.Get(), 0);
+
+  if (use_dynamic_texture)
+    return staging_texture_;
+
+  if (!copy_texture_) {
+    desc.Usage = D3D11_USAGE_DEFAULT;
+    desc.BindFlags = D3D11_BIND_DECODER;
+    desc.CPUAccessFlags = 0;
+    HRESULT hr = d3d11_device_->CreateTexture2D(&desc, nullptr, &copy_texture_);
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "Creating D3D11 video upload texture failed: " << std::hex
+                  << hr;
+      return nullptr;
+    }
+    DCHECK(copy_texture_);
+  }
+  TRACE_EVENT0("gpu", "SwapChainPresenter::UploadVideoImages::CopyResource");
+  context->CopyResource(copy_texture_.Get(), staging_texture_.Get());
+  return copy_texture_;
+}
+
+gfx::Size SwapChainPresenter::CalculateSwapChainSize(
+    const ui::DCRendererLayerParams& params) {
+  // Swap chain size is the minimum of the on-screen size and the source size so
+  // the video processor can do the minimal amount of work and the overlay has
+  // to read the minimal amount of data. DWM is also less likely to promote a
+  // surface to an overlay if it's much larger than its area on-screen.
+  gfx::Size swap_chain_size = params.content_rect.size();
+  gfx::Size overlay_onscreen_size = swap_chain_size;
+  gfx::RectF bounds(params.quad_rect);
+  params.transform.TransformRect(&bounds);
+  overlay_onscreen_size = gfx::ToEnclosingRect(bounds).size();
+
+  // If transform isn't a scale or translation then swap chain can't be promoted
+  // to an overlay so avoid blitting to a large surface unnecessarily.  Also,
+  // after the video rotation fix (crbug.com/904035), using rotated size for
+  // swap chain size will cause stretching since there's no squashing factor in
+  // the transform to counteract.
+  // TODO(sunnyps): Support 90/180/270 deg rotations using video context.
+  if (params.transform.IsScaleOrTranslation()) {
+    swap_chain_size = overlay_onscreen_size;
+  }
+
+  if (DirectCompositionSurfaceWin::AreScaledOverlaysSupported()) {
+    // Downscaling doesn't work on Intel display HW, and so DWM will perform an
+    // extra BLT to avoid HW downscaling. This prevents the use of hardware
+    // overlays especially for protected video.
+    swap_chain_size.SetToMin(params.content_rect.size());
+  }
+
+  bool workaround_applied = false;
+  gfx::Size overlay_monitor_size =
+      DirectCompositionSurfaceWin::GetOverlayMonitorSize();
+  if (layer_tree_->workarounds().disable_larger_than_screen_overlays &&
+      !overlay_monitor_size.IsEmpty()) {
+    // Because of the rounding when converting between pixels and DIPs, a
+    // fullscreen video can become slightly larger than the monitor - e.g. on
+    // a 3000x2000 monitor with a scale factor of 1.75 a 1920x1079 video can
+    // become 3002x1689.
+    // On older Intel drivers, swapchains that are bigger than the monitor
+    // won't be put into overlays, which will hurt power usage a lot. On those
+    // systems, the scaling can be adjusted very slightly so that it's less
+    // than the monitor size. This should be close to imperceptible.
+    // TODO(jbauman): Remove when http://crbug.com/668278 is fixed.
+    const int kOversizeMargin = 3;
+
+    if ((swap_chain_size.width() > overlay_monitor_size.width()) &&
+        (swap_chain_size.width() <=
+         overlay_monitor_size.width() + kOversizeMargin)) {
+      swap_chain_size.set_width(overlay_monitor_size.width());
+      workaround_applied = true;
+    }
+
+    if ((swap_chain_size.height() > overlay_monitor_size.height()) &&
+        (swap_chain_size.height() <=
+         overlay_monitor_size.height() + kOversizeMargin)) {
+      swap_chain_size.set_height(overlay_monitor_size.height());
+      workaround_applied = true;
+    }
+  }
+  RecordOverlayFullScreenTypes(
+      workaround_applied,
+      /*overlay_onscreen_rect*/ gfx::ToEnclosingRect(bounds));
+
+  // 4:2:2 subsampled formats like YUY2 must have an even width, and 4:2:0
+  // subsampled formats like NV12 must have an even width and height.
+  if (swap_chain_size.width() % 2 == 1)
+    swap_chain_size.set_width(swap_chain_size.width() + 1);
+  if (swap_chain_size.height() % 2 == 1)
+    swap_chain_size.set_height(swap_chain_size.height() + 1);
+
+  return swap_chain_size;
+}
+
+void SwapChainPresenter::UpdateVisuals(const ui::DCRendererLayerParams& params,
+                                       const gfx::Size& swap_chain_size) {
+  if (!content_visual_) {
+    DCHECK(!clip_visual_);
+    dcomp_device_->CreateVisual(&clip_visual_);
+    DCHECK(clip_visual_);
+    dcomp_device_->CreateVisual(&content_visual_);
+    DCHECK(content_visual_);
+    clip_visual_->AddVisual(content_visual_.Get(), FALSE, nullptr);
+    layer_tree_->SetNeedsCommit();
+  }
+
+  // Visual offset is applied before transform so it behaves similar to how the
+  // compositor uses transform to map quad rect in layer space to target space.
+  gfx::Point offset = params.quad_rect.origin();
+  gfx::Transform transform = params.transform;
+
+  // Transform is correct for scaling up |quad_rect| to on screen bounds, but
+  // doesn't include scaling transform from |swap_chain_size| to |quad_rect|.
+  // Since |swap_chain_size| could be equal to on screen bounds, and therefore
+  // possibly larger than |quad_rect|, this scaling could be downscaling, but
+  // only to the extent that it would cancel upscaling already in the transform.
+  float swap_chain_scale_x =
+      params.quad_rect.width() * 1.0f / swap_chain_size.width();
+  float swap_chain_scale_y =
+      params.quad_rect.height() * 1.0f / swap_chain_size.height();
+  transform.Scale(swap_chain_scale_x, swap_chain_scale_y);
+
+  if (visual_info_.offset != offset || visual_info_.transform != transform) {
+    visual_info_.offset = offset;
+    visual_info_.transform = transform;
+    layer_tree_->SetNeedsCommit();
+
+    content_visual_->SetOffsetX(offset.x());
+    content_visual_->SetOffsetY(offset.y());
+
+    Microsoft::WRL::ComPtr<IDCompositionMatrixTransform> dcomp_transform;
+    dcomp_device_->CreateMatrixTransform(&dcomp_transform);
+    DCHECK(dcomp_transform);
+    // SkMatrix44 is column-major, but D2D_MATRIX_3x2_F is row-major.
+    D2D_MATRIX_3X2_F d2d_matrix = {
+        {{transform.matrix().get(0, 0), transform.matrix().get(1, 0),
+          transform.matrix().get(0, 1), transform.matrix().get(1, 1),
+          transform.matrix().get(0, 3), transform.matrix().get(1, 3)}}};
+    dcomp_transform->SetMatrix(d2d_matrix);
+    content_visual_->SetTransform(dcomp_transform.Get());
+  }
+
+  if (visual_info_.is_clipped != params.is_clipped ||
+      visual_info_.clip_rect != params.clip_rect) {
+    visual_info_.is_clipped = params.is_clipped;
+    visual_info_.clip_rect = params.clip_rect;
+    layer_tree_->SetNeedsCommit();
+    // DirectComposition clips happen in the pre-transform visual space, while
+    // cc/ clips happen post-transform. So the clip needs to go on a separate
+    // parent visual that's untransformed.
+    if (params.is_clipped) {
+      Microsoft::WRL::ComPtr<IDCompositionRectangleClip> clip;
+      dcomp_device_->CreateRectangleClip(&clip);
+      DCHECK(clip);
+      clip->SetLeft(params.clip_rect.x());
+      clip->SetRight(params.clip_rect.right());
+      clip->SetBottom(params.clip_rect.bottom());
+      clip->SetTop(params.clip_rect.y());
+      clip_visual_->SetClip(clip.Get());
+    } else {
+      clip_visual_->SetClip(nullptr);
+    }
+  }
+}
+
+bool SwapChainPresenter::TryPresentToDecodeSwapChain(
+    gl::GLImageDXGI* image_dxgi,
+    const gfx::Rect& content_rect,
+    const gfx::Size& swap_chain_size) {
+  if (!base::FeatureList::IsEnabled(
+          features::kDirectCompositionUseNV12DecodeSwapChain))
+    return false;
+
+  auto not_used_reason = DecodeSwapChainNotUsedReason::kFailedToPresent;
+
+  bool nv12_supported = (OverlayFormat::kNV12 ==
+                         DirectCompositionSurfaceWin::GetOverlayFormatUsed());
+  // TODO(sunnyps): Try using decode swap chain for uploaded video images.
+  if (image_dxgi && nv12_supported && !failed_to_present_decode_swapchain_) {
+    D3D11_TEXTURE2D_DESC texture_desc = {};
+    image_dxgi->texture()->GetDesc(&texture_desc);
+
+    bool is_decoder_texture = texture_desc.BindFlags & D3D11_BIND_DECODER;
+
+    // Decode swap chains do not support shared resources.
+    // TODO(sunnyps): Find a workaround for when the decoder moves to its own
+    // thread and D3D device.  See https://crbug.com/911847
+    bool is_shared_texture =
+        texture_desc.MiscFlags &
+        (D3D11_RESOURCE_MISC_SHARED | D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX |
+         D3D11_RESOURCE_MISC_SHARED_NTHANDLE);
+
+    // DXVA decoder (or rather MFT) sometimes gives texture arrays with one
+    // element, which constitutes most of decode swap chain creation failures.
+    bool is_unitary_texture_array = texture_desc.ArraySize <= 1;
+
+    // Rotated videos are not promoted to overlays.  We plan to implement
+    // rotation using video processor instead of via direct composition.  Also
+    // check for skew and any downscaling specified to direct composition.
+    bool is_overlay_supported_transform =
+        visual_info_.transform.IsPositiveScaleOrTranslation();
+
+    // Downscaled video isn't promoted to hardware overlays.  We prefer to
+    // blit into the smaller size so that it can be promoted to a hardware
+    // overlay.
+    float swap_chain_scale_x =
+        swap_chain_size.width() * 1.0f / content_rect.width();
+    float swap_chain_scale_y =
+        swap_chain_size.height() * 1.0f / content_rect.height();
+
+    is_overlay_supported_transform = is_overlay_supported_transform &&
+                                     (swap_chain_scale_x >= 1.0f) &&
+                                     (swap_chain_scale_y >= 1.0f);
+
+    if (is_decoder_texture && !is_shared_texture && !is_unitary_texture_array &&
+        is_overlay_supported_transform) {
+      if (PresentToDecodeSwapChain(image_dxgi, content_rect, swap_chain_size))
+        return true;
+      ReleaseSwapChainResources();
+      failed_to_present_decode_swapchain_ = true;
+      not_used_reason = DecodeSwapChainNotUsedReason::kFailedToPresent;
+      DLOG(ERROR)
+          << "Present to decode swap chain failed - falling back to blit";
+    } else if (!is_decoder_texture) {
+      not_used_reason = DecodeSwapChainNotUsedReason::kNonDecoderTexture;
+    } else if (is_shared_texture) {
+      not_used_reason = DecodeSwapChainNotUsedReason::kSharedTexture;
+    } else if (is_unitary_texture_array) {
+      not_used_reason = DecodeSwapChainNotUsedReason::kUnitaryTextureArray;
+    } else if (!is_overlay_supported_transform) {
+      not_used_reason = DecodeSwapChainNotUsedReason::kIncompatibleTransform;
+    }
+  } else if (!image_dxgi) {
+    not_used_reason = DecodeSwapChainNotUsedReason::kSoftwareFrame;
+  } else if (!nv12_supported) {
+    not_used_reason = DecodeSwapChainNotUsedReason::kNv12NotSupported;
+  } else if (failed_to_present_decode_swapchain_) {
+    not_used_reason = DecodeSwapChainNotUsedReason::kFailedToPresent;
+  }
+
+  UMA_HISTOGRAM_ENUMERATION(
+      "GPU.DirectComposition.DecodeSwapChainNotUsedReason", not_used_reason);
+  return false;
+}
+
+bool SwapChainPresenter::PresentToDecodeSwapChain(
+    gl::GLImageDXGI* image_dxgi,
+    const gfx::Rect& content_rect,
+    const gfx::Size& swap_chain_size) {
+  DCHECK(!swap_chain_size.IsEmpty());
+
+  TRACE_EVENT2("gpu", "SwapChainPresenter::PresentToDecodeSwapChain",
+               "content_rect", content_rect.ToString(), "swap_chain_size",
+               swap_chain_size.ToString());
+
+  Microsoft::WRL::ComPtr<IDXGIResource> decode_resource;
+  image_dxgi->texture().As(&decode_resource);
+  DCHECK(decode_resource);
+
+  if (!decode_swap_chain_ || decode_resource_ != decode_resource) {
+    TRACE_EVENT0(
+        "gpu",
+        "SwapChainPresenter::PresentToDecodeSwapChain::CreateDecodeSwapChain");
+    ReleaseSwapChainResources();
+
+    decode_resource_ = decode_resource;
+
+    HANDLE handle = INVALID_HANDLE_VALUE;
+    if (!CreateSurfaceHandleHelper(&handle))
+      return false;
+    swap_chain_handle_.Set(handle);
+
+    Microsoft::WRL::ComPtr<IDXGIDevice> dxgi_device;
+    d3d11_device_.As(&dxgi_device);
+    DCHECK(dxgi_device);
+    Microsoft::WRL::ComPtr<IDXGIAdapter> dxgi_adapter;
+    dxgi_device->GetAdapter(&dxgi_adapter);
+    DCHECK(dxgi_adapter);
+    Microsoft::WRL::ComPtr<IDXGIFactoryMedia> media_factory;
+    dxgi_adapter->GetParent(IID_PPV_ARGS(&media_factory));
+    DCHECK(media_factory);
+
+    DXGI_DECODE_SWAP_CHAIN_DESC desc = {};
+    desc.Flags = 0;
+    HRESULT hr =
+        media_factory->CreateDecodeSwapChainForCompositionSurfaceHandle(
+            d3d11_device_.Get(), swap_chain_handle_.Get(), &desc,
+            decode_resource_.Get(), nullptr, &decode_swap_chain_);
+    base::UmaHistogramSparse(
+        "GPU.DirectComposition.DecodeSwapChainCreationResult", hr);
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "CreateDecodeSwapChainForCompositionSurfaceHandle failed "
+                     "with error 0x"
+                  << std::hex << hr;
+      return false;
+    }
+    DCHECK(decode_swap_chain_);
+
+    Microsoft::WRL::ComPtr<IDCompositionDesktopDevice> desktop_device;
+    dcomp_device_.As(&desktop_device);
+    DCHECK(desktop_device);
+
+    desktop_device->CreateSurfaceFromHandle(swap_chain_handle_.Get(),
+                                            &decode_surface_);
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "CreateSurfaceFromHandle failed with error 0x" << std::hex
+                  << hr;
+      return false;
+    }
+    DCHECK(decode_surface_);
+
+    content_visual_->SetContent(decode_surface_.Get());
+    layer_tree_->SetNeedsCommit();
+  } else if (last_y_image_ == image_dxgi && last_uv_image_ == image_dxgi &&
+             swap_chain_size_ == swap_chain_size) {
+    // Early out if we're presenting the same image again.
+    return true;
+  }
+
+  RECT source_rect = content_rect.ToRECT();
+  decode_swap_chain_->SetSourceRect(&source_rect);
+
+  decode_swap_chain_->SetDestSize(swap_chain_size.width(),
+                                  swap_chain_size.height());
+  RECT target_rect = gfx::Rect(swap_chain_size).ToRECT();
+  decode_swap_chain_->SetTargetRect(&target_rect);
+
+  gfx::ColorSpace color_space = image_dxgi->color_space();
+  if (!color_space.IsValid())
+    color_space = gfx::ColorSpace::CreateREC709();
+
+  // TODO(sunnyps): Move this to gfx::ColorSpaceWin helper where we can access
+  // internal color space state and do a better job.
+  // Common color spaces have primaries and transfer function similar to BT 709
+  // and there are no other choices anyway.
+  int flags = DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709;
+  // Proper Rec 709 and 601 have limited or nominal color range.
+  if (color_space == gfx::ColorSpace::CreateREC709() ||
+      color_space == gfx::ColorSpace::CreateREC601()) {
+    flags |= DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE;
+  }
+  // xvYCC allows colors outside nominal range to encode negative colors that
+  // allows for a wider gamut.
+  if (color_space.FullRangeEncodedValues()) {
+    flags |= DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC;
+  }
+  decode_swap_chain_->SetColorSpace(
+      static_cast<DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS>(flags));
+
+  HRESULT hr = decode_swap_chain_->PresentBuffer(image_dxgi->level(), 1, 0);
+  // Ignore DXGI_STATUS_OCCLUDED since that's not an error but only indicates
+  // that the window is occluded and we can stop rendering.
+  if (FAILED(hr) && hr != DXGI_STATUS_OCCLUDED) {
+    DLOG(ERROR) << "PresentBuffer failed with error 0x" << std::hex << hr;
+    return false;
+  }
+
+  last_y_image_ = image_dxgi;
+  last_uv_image_ = image_dxgi;
+  swap_chain_size_ = swap_chain_size;
+  if (is_yuv_swapchain_) {
+    frames_since_color_space_change_++;
+  } else {
+    UMA_HISTOGRAM_COUNTS_1000(
+        "GPU.DirectComposition.FramesSinceColorSpaceChange",
+        frames_since_color_space_change_);
+    frames_since_color_space_change_ = 0;
+    is_yuv_swapchain_ = true;
+  }
+  RecordPresentationStatistics();
+  return true;
+}
+
+bool SwapChainPresenter::PresentToSwapChain(
+    const ui::DCRendererLayerParams& params) {
+  gl::GLImageDXGI* image_dxgi =
+      gl::GLImageDXGI::FromGLImage(params.y_image.get());
+  gl::GLImageMemory* y_image_memory =
+      gl::GLImageMemory::FromGLImage(params.y_image.get());
+  gl::GLImageMemory* uv_image_memory =
+      gl::GLImageMemory::FromGLImage(params.uv_image.get());
+
+  if (!image_dxgi && (!y_image_memory || !uv_image_memory)) {
+    DLOG(ERROR) << "Video GLImages are missing";
+    // No need to release resources as context will be lost soon.
+    return false;
+  }
+
+  gfx::Size swap_chain_size = CalculateSwapChainSize(params);
+
+  TRACE_EVENT2("gpu", "SwapChainPresenter::PresentToSwapChain",
+               "hardware_frame", !!image_dxgi, "swap_chain_size",
+               swap_chain_size.ToString());
+
+  // Do not create a swap chain if swap chain size will be empty.
+  if (swap_chain_size.IsEmpty()) {
+    swap_chain_size_ = swap_chain_size;
+    if (swap_chain_) {
+      ReleaseSwapChainResources();
+      content_visual_->SetContent(nullptr);
+      layer_tree_->SetNeedsCommit();
+    }
+    return true;
+  }
+
+  UpdateVisuals(params, swap_chain_size);
+
+  if (TryPresentToDecodeSwapChain(image_dxgi, params.content_rect,
+                                  swap_chain_size)) {
+    return true;
+  }
+
+  bool swap_chain_resized = swap_chain_size_ != swap_chain_size;
+  bool use_yuv_swap_chain = ShouldUseYUVSwapChain(params.protected_video_type);
+  bool toggle_yuv_swapchain = use_yuv_swap_chain != is_yuv_swapchain_;
+  bool toggle_protected_video =
+      protected_video_type_ != params.protected_video_type;
+
+  // Try reallocating swap chain if resizing fails.
+  if (!swap_chain_ || swap_chain_resized || toggle_yuv_swapchain ||
+      toggle_protected_video) {
+    if (!ReallocateSwapChain(swap_chain_size, use_yuv_swap_chain,
+                             params.protected_video_type, params.z_order)) {
+      ReleaseSwapChainResources();
+      return false;
+    }
+    content_visual_->SetContent(swap_chain_.Get());
+    layer_tree_->SetNeedsCommit();
+  } else if (last_y_image_ == params.y_image &&
+             last_uv_image_ == params.uv_image) {
+    // The swap chain is presenting the same images as last swap, which means
+    // that the images were never returned to the video decoder and should
+    // have the same contents as last time. It shouldn't need to be redrawn.
+    return true;
+  }
+  last_y_image_ = params.y_image;
+  last_uv_image_ = params.uv_image;
+
+  Microsoft::WRL::ComPtr<ID3D11Texture2D> input_texture;
+  UINT input_level;
+  Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex;
+  if (image_dxgi) {
+    input_texture = image_dxgi->texture();
+    input_level = (UINT)image_dxgi->level();
+    // Keyed mutex may not exist.
+    keyed_mutex = image_dxgi->keyed_mutex();
+    staging_texture_.Reset();
+    copy_texture_.Reset();
+  } else {
+    DCHECK(y_image_memory);
+    DCHECK(uv_image_memory);
+    input_texture = UploadVideoImages(y_image_memory, uv_image_memory);
+    input_level = 0;
+  }
+
+  if (!input_texture) {
+    DLOG(ERROR) << "Video image has no texture";
+    return false;
+  }
+
+  // TODO(sunnyps): Use correct color space for uploaded video frames.
+  gfx::ColorSpace src_color_space = gfx::ColorSpace::CreateREC709();
+  if (image_dxgi && image_dxgi->color_space().IsValid())
+    src_color_space = image_dxgi->color_space();
+
+  if (!VideoProcessorBlt(input_texture, input_level, keyed_mutex,
+                         params.content_rect, src_color_space)) {
+    return false;
+  }
+
+  if (first_present_) {
+    first_present_ = false;
+
+    HRESULT hr = swap_chain_->Present(0, 0);
+    // Ignore DXGI_STATUS_OCCLUDED since that's not an error but only indicates
+    // that the window is occluded and we can stop rendering.
+    if (FAILED(hr) && hr != DXGI_STATUS_OCCLUDED) {
+      DLOG(ERROR) << "Present failed with error 0x" << std::hex << hr;
+      return false;
+    }
+
+    // DirectComposition can display black for a swap chain between the first
+    // and second time it's presented to - maybe the first Present can get
+    // lost somehow and it shows the wrong buffer. In that case copy the
+    // buffers so both have the correct contents, which seems to help. The
+    // first Present() after this needs to have SyncInterval > 0, or else the
+    // workaround doesn't help.
+    Microsoft::WRL::ComPtr<ID3D11Texture2D> dest_texture;
+    swap_chain_->GetBuffer(0, IID_PPV_ARGS(&dest_texture));
+    DCHECK(dest_texture);
+    Microsoft::WRL::ComPtr<ID3D11Texture2D> src_texture;
+    hr = swap_chain_->GetBuffer(1, IID_PPV_ARGS(&src_texture));
+    DCHECK(src_texture);
+    Microsoft::WRL::ComPtr<ID3D11DeviceContext> context;
+    d3d11_device_->GetImmediateContext(&context);
+    DCHECK(context);
+    context->CopyResource(dest_texture.Get(), src_texture.Get());
+
+    // Additionally wait for the GPU to finish executing its commands, or
+    // there still may be a black flicker when presenting expensive content
+    // (e.g. 4k video).
+    Microsoft::WRL::ComPtr<IDXGIDevice2> dxgi_device2;
+    d3d11_device_.As(&dxgi_device2);
+    DCHECK(dxgi_device2);
+    base::WaitableEvent event(base::WaitableEvent::ResetPolicy::AUTOMATIC,
+                              base::WaitableEvent::InitialState::NOT_SIGNALED);
+    hr = dxgi_device2->EnqueueSetEvent(event.handle());
+    DCHECK(SUCCEEDED(hr));
+    event.Wait();
+  }
+
+  // Ignore DXGI_STATUS_OCCLUDED since that's not an error but only indicates
+  // that the window is occluded and we can stop rendering.
+  HRESULT hr = swap_chain_->Present(1, 0);
+  if (FAILED(hr) && hr != DXGI_STATUS_OCCLUDED) {
+    DLOG(ERROR) << "Present failed with error 0x" << std::hex << hr;
+    return false;
+  }
+  frames_since_color_space_change_++;
+  RecordPresentationStatistics();
+  return true;
+}
+
+void SwapChainPresenter::RecordPresentationStatistics() {
+  OverlayFormat swap_chain_format =
+      is_yuv_swapchain_ ? DirectCompositionSurfaceWin::GetOverlayFormatUsed()
+                        : OverlayFormat::kBGRA;
+  UMA_HISTOGRAM_ENUMERATION("GPU.DirectComposition.SwapChainFormat2",
+                            swap_chain_format);
+
+  VideoPresentationMode presentation_mode;
+  if (decode_swap_chain_) {
+    presentation_mode = VideoPresentationMode::kZeroCopyDecodeSwapChain;
+  } else if (staging_texture_) {
+    presentation_mode = VideoPresentationMode::kUploadAndVideoProcessorBlit;
+  } else {
+    presentation_mode = VideoPresentationMode::kBindAndVideoProcessorBlit;
+  }
+  UMA_HISTOGRAM_ENUMERATION("GPU.DirectComposition.VideoPresentationMode",
+                            presentation_mode);
+
+  UMA_HISTOGRAM_BOOLEAN("GPU.DirectComposition.DecodeSwapChainUsed",
+                        !!decode_swap_chain_);
+
+  TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("gpu.service"),
+                       "SwapChain::Present", TRACE_EVENT_SCOPE_THREAD,
+                       "PixelFormat", swap_chain_format, "ZeroCopy",
+                       !!decode_swap_chain_);
+  HRESULT hr = 0;
+  Microsoft::WRL::ComPtr<IDXGISwapChainMedia> swap_chain_media;
+  if (decode_swap_chain_) {
+    hr = decode_swap_chain_.As(&swap_chain_media);
+  } else {
+    DCHECK(swap_chain_);
+    hr = swap_chain_.As(&swap_chain_media);
+  }
+  if (SUCCEEDED(hr)) {
+    DCHECK(swap_chain_media);
+    DXGI_FRAME_STATISTICS_MEDIA stats = {};
+    // GetFrameStatisticsMedia fails with DXGI_ERROR_FRAME_STATISTICS_DISJOINT
+    // sometimes, which means an event (such as power cycle) interrupted the
+    // gathering of presentation statistics. In this situation, calling the
+    // function again succeeds but returns with CompositionMode = NONE.
+    // Waiting for the DXGI adapter to finish presenting before calling the
+    // function doesn't get rid of the failure.
+    HRESULT hr = swap_chain_media->GetFrameStatisticsMedia(&stats);
+    int mode = -1;
+    if (SUCCEEDED(hr)) {
+      base::UmaHistogramSparse("GPU.DirectComposition.CompositionMode",
+                               stats.CompositionMode);
+      presentation_history_.AddSample(stats.CompositionMode);
+      mode = stats.CompositionMode;
+    }
+    // Record CompositionMode as -1 if GetFrameStatisticsMedia() fails.
+    TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("gpu.service"),
+                         "GetFrameStatisticsMedia", TRACE_EVENT_SCOPE_THREAD,
+                         "CompositionMode", mode);
+  }
+}
+
+bool SwapChainPresenter::VideoProcessorBlt(
+    Microsoft::WRL::ComPtr<ID3D11Texture2D> input_texture,
+    UINT input_level,
+    Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex,
+    const gfx::Rect& content_rect,
+    const gfx::ColorSpace& src_color_space) {
+  TRACE_EVENT2("gpu", "SwapChainPresenter::VideoProcessorBlt", "content_rect",
+               content_rect.ToString(), "swap_chain_size",
+               swap_chain_size_.ToString());
+  if (!layer_tree_->InitializeVideoProcessor(content_rect.size(),
+                                             swap_chain_size_)) {
+    return false;
+  }
+  Microsoft::WRL::ComPtr<ID3D11VideoContext> video_context =
+      layer_tree_->video_context();
+  Microsoft::WRL::ComPtr<ID3D11VideoProcessor> video_processor =
+      layer_tree_->video_processor();
+
+  gfx::ColorSpace output_color_space =
+      is_yuv_swapchain_ ? src_color_space : gfx::ColorSpace::CreateSRGB();
+
+  if (base::FeatureList::IsEnabled(kFallbackBT709VideoToBT601) &&
+      (output_color_space == gfx::ColorSpace::CreateREC709())) {
+    output_color_space = gfx::ColorSpace::CreateREC601();
+  }
+
+  Microsoft::WRL::ComPtr<IDXGISwapChain3> swap_chain3;
+  Microsoft::WRL::ComPtr<ID3D11VideoContext1> context1;
+  if (SUCCEEDED(swap_chain_.As(&swap_chain3)) &&
+      SUCCEEDED(video_context.As(&context1))) {
+    DCHECK(swap_chain3);
+    DCHECK(context1);
+    // Set input color space.
+    context1->VideoProcessorSetStreamColorSpace1(
+        video_processor.Get(), 0,
+        gfx::ColorSpaceWin::GetDXGIColorSpace(src_color_space));
+    // Set output color space.
+    DXGI_COLOR_SPACE_TYPE output_dxgi_color_space =
+        gfx::ColorSpaceWin::GetDXGIColorSpace(
+            output_color_space, is_yuv_swapchain_ /* force_yuv */);
+    if (SUCCEEDED(swap_chain3->SetColorSpace1(output_dxgi_color_space))) {
+      context1->VideoProcessorSetOutputColorSpace1(video_processor.Get(),
+                                                   output_dxgi_color_space);
+    }
+  } else {
+    // This can't handle as many different types of color spaces, so use it
+    // only if ID3D11VideoContext1 isn't available.
+    D3D11_VIDEO_PROCESSOR_COLOR_SPACE src_d3d11_color_space =
+        gfx::ColorSpaceWin::GetD3D11ColorSpace(src_color_space);
+    video_context->VideoProcessorSetStreamColorSpace(video_processor.Get(), 0,
+                                                     &src_d3d11_color_space);
+    D3D11_VIDEO_PROCESSOR_COLOR_SPACE output_d3d11_color_space =
+        gfx::ColorSpaceWin::GetD3D11ColorSpace(output_color_space);
+    video_context->VideoProcessorSetOutputColorSpace(video_processor.Get(),
+                                                     &output_d3d11_color_space);
+  }
+
+  {
+    base::Optional<ScopedReleaseKeyedMutex> release_keyed_mutex;
+    if (keyed_mutex) {
+      // The producer may still be using this texture for a short period of
+      // time, so wait long enough to hopefully avoid glitches. For example,
+      // all levels of the texture share the same keyed mutex, so if the
+      // hardware decoder acquired the mutex to decode into a different array
+      // level then it still may block here temporarily.
+      const int kMaxSyncTimeMs = 1000;
+      HRESULT hr = keyed_mutex->AcquireSync(0, kMaxSyncTimeMs);
+      if (FAILED(hr)) {
+        DLOG(ERROR) << "Error acquiring keyed mutex: " << std::hex << hr;
+        return false;
+      }
+      release_keyed_mutex.emplace(keyed_mutex, 0);
+    }
+
+    Microsoft::WRL::ComPtr<ID3D11VideoDevice> video_device =
+        layer_tree_->video_device();
+    Microsoft::WRL::ComPtr<ID3D11VideoProcessorEnumerator>
+        video_processor_enumerator = layer_tree_->video_processor_enumerator();
+
+    D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC input_desc = {};
+    input_desc.ViewDimension = D3D11_VPIV_DIMENSION_TEXTURE2D;
+    input_desc.Texture2D.ArraySlice = input_level;
+
+    Microsoft::WRL::ComPtr<ID3D11VideoProcessorInputView> input_view;
+    HRESULT hr = video_device->CreateVideoProcessorInputView(
+        input_texture.Get(), video_processor_enumerator.Get(), &input_desc,
+        &input_view);
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "CreateVideoProcessorInputView failed with error 0x"
+                  << std::hex << hr;
+      return false;
+    }
+
+    D3D11_VIDEO_PROCESSOR_STREAM stream = {};
+    stream.Enable = true;
+    stream.OutputIndex = 0;
+    stream.InputFrameOrField = 0;
+    stream.PastFrames = 0;
+    stream.FutureFrames = 0;
+    stream.pInputSurface = input_view.Get();
+    RECT dest_rect = gfx::Rect(swap_chain_size_).ToRECT();
+    video_context->VideoProcessorSetOutputTargetRect(video_processor.Get(),
+                                                     TRUE, &dest_rect);
+    video_context->VideoProcessorSetStreamDestRect(video_processor.Get(), 0,
+                                                   TRUE, &dest_rect);
+    RECT source_rect = content_rect.ToRECT();
+    video_context->VideoProcessorSetStreamSourceRect(video_processor.Get(), 0,
+                                                     TRUE, &source_rect);
+
+    if (!output_view_) {
+      Microsoft::WRL::ComPtr<ID3D11Texture2D> swap_chain_buffer;
+      swap_chain_->GetBuffer(0, IID_PPV_ARGS(&swap_chain_buffer));
+
+      D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC output_desc = {};
+      output_desc.ViewDimension = D3D11_VPOV_DIMENSION_TEXTURE2D;
+      output_desc.Texture2D.MipSlice = 0;
+
+      hr = video_device->CreateVideoProcessorOutputView(
+          swap_chain_buffer.Get(), video_processor_enumerator.Get(),
+          &output_desc, &output_view_);
+      if (FAILED(hr)) {
+        DLOG(ERROR) << "CreateVideoProcessorOutputView failed with error 0x"
+                    << std::hex << hr;
+        return false;
+      }
+      DCHECK(output_view_);
+    }
+
+    hr = video_context->VideoProcessorBlt(video_processor.Get(),
+                                          output_view_.Get(), 0, 1, &stream);
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "VideoProcessorBlt failed with error 0x" << std::hex << hr;
+      return false;
+    }
+  }
+
+  return true;
+}
+
+void SwapChainPresenter::ReleaseSwapChainResources() {
+  output_view_.Reset();
+  swap_chain_.Reset();
+  decode_surface_.Reset();
+  decode_swap_chain_.Reset();
+  decode_resource_.Reset();
+  swap_chain_handle_.Close();
+  staging_texture_.Reset();
+}
+
+bool SwapChainPresenter::ReallocateSwapChain(
+    const gfx::Size& swap_chain_size,
+    bool use_yuv_swap_chain,
+    ui::ProtectedVideoType protected_video_type,
+    bool z_order) {
+  TRACE_EVENT2("gpu", "SwapChainPresenter::ReallocateSwapChain", "size",
+               swap_chain_size.ToString(), "yuv", use_yuv_swap_chain);
+
+  DCHECK(!swap_chain_size.IsEmpty());
+  swap_chain_size_ = swap_chain_size;
+
+  // ResizeBuffers can't change YUV flags so only attempt it when size changes.
+  if (swap_chain_ && (is_yuv_swapchain_ == use_yuv_swap_chain) &&
+      (protected_video_type_ == protected_video_type)) {
+    output_view_.Reset();
+    DXGI_SWAP_CHAIN_DESC1 desc = {};
+    swap_chain_->GetDesc1(&desc);
+    HRESULT hr = swap_chain_->ResizeBuffers(
+        desc.BufferCount, swap_chain_size.width(), swap_chain_size.height(),
+        desc.Format, desc.Flags);
+    if (SUCCEEDED(hr))
+      return true;
+    DLOG(ERROR) << "ResizeBuffers failed with error 0x" << std::hex << hr;
+  }
+
+  protected_video_type_ = protected_video_type;
+
+  if (is_yuv_swapchain_ != use_yuv_swap_chain) {
+    UMA_HISTOGRAM_COUNTS_1000(
+        "GPU.DirectComposition.FramesSinceColorSpaceChange",
+        frames_since_color_space_change_);
+    frames_since_color_space_change_ = 0;
+  }
+  is_yuv_swapchain_ = false;
+
+  ReleaseSwapChainResources();
+
+  Microsoft::WRL::ComPtr<IDXGIDevice> dxgi_device;
+  d3d11_device_.As(&dxgi_device);
+  DCHECK(dxgi_device);
+  Microsoft::WRL::ComPtr<IDXGIAdapter> dxgi_adapter;
+  dxgi_device->GetAdapter(&dxgi_adapter);
+  DCHECK(dxgi_adapter);
+  Microsoft::WRL::ComPtr<IDXGIFactoryMedia> media_factory;
+  dxgi_adapter->GetParent(IID_PPV_ARGS(&media_factory));
+  DCHECK(media_factory);
+
+  // The composition surface handle is only used to create YUV swap chains since
+  // CreateSwapChainForComposition can't do that.
+  HANDLE handle = INVALID_HANDLE_VALUE;
+  if (!CreateSurfaceHandleHelper(&handle))
+    return false;
+  swap_chain_handle_.Set(handle);
+
+  first_present_ = true;
+
+  DXGI_SWAP_CHAIN_DESC1 desc = {};
+  desc.Width = swap_chain_size_.width();
+  desc.Height = swap_chain_size_.height();
+  desc.Format = DirectCompositionSurfaceWin::GetOverlayDxgiFormatUsed();
+  desc.Stereo = FALSE;
+  desc.SampleDesc.Count = 1;
+  desc.BufferCount = 2;
+  desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
+  desc.Scaling = DXGI_SCALING_STRETCH;
+  desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL;
+  desc.Flags =
+      DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO | DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO;
+  if (IsProtectedVideo(protected_video_type))
+    desc.Flags |= DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY;
+  if (protected_video_type == ui::ProtectedVideoType::kHardwareProtected)
+    desc.Flags |= DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED;
+  desc.AlphaMode = DXGI_ALPHA_MODE_IGNORE;
+
+  const std::string kSwapChainCreationResultByFormatUmaPrefix =
+      "GPU.DirectComposition.SwapChainCreationResult2.";
+
+  const std::string kSwapChainCreationResultByVideoTypeUmaPrefix =
+      "GPU.DirectComposition.SwapChainCreationResult3.";
+  const std::string protected_video_type_string =
+      ProtectedVideoTypeToString(protected_video_type);
+
+  OverlayFormat overlay_format_used =
+      DirectCompositionSurfaceWin::GetOverlayFormatUsed();
+  if (use_yuv_swap_chain) {
+    TRACE_EVENT1("gpu", "SwapChainPresenter::ReallocateSwapChain::YUV",
+                 "format", OverlayFormatToString(overlay_format_used));
+    HRESULT hr = media_factory->CreateSwapChainForCompositionSurfaceHandle(
+        d3d11_device_.Get(), swap_chain_handle_.Get(), &desc, nullptr,
+        &swap_chain_);
+    is_yuv_swapchain_ = SUCCEEDED(hr);
+    failed_to_create_yuv_swapchain_ = !is_yuv_swapchain_;
+
+    base::UmaHistogramSparse(kSwapChainCreationResultByFormatUmaPrefix +
+                                 OverlayFormatToString(overlay_format_used),
+                             hr);
+    base::UmaHistogramSparse(kSwapChainCreationResultByVideoTypeUmaPrefix +
+                                 protected_video_type_string,
+                             hr);
+
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "Failed to create "
+                  << OverlayFormatToString(overlay_format_used)
+                  << " swap chain of size " << swap_chain_size.ToString()
+                  << " with error 0x" << std::hex << hr
+                  << "\nFalling back to BGRA";
+    }
+  }
+  if (!is_yuv_swapchain_) {
+    TRACE_EVENT0("gpu", "SwapChainPresenter::ReallocateSwapChain::BGRA");
+    desc.Format = DXGI_FORMAT_B8G8R8A8_UNORM;
+    desc.Flags = 0;
+    if (IsProtectedVideo(protected_video_type))
+      desc.Flags |= DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY;
+    if (protected_video_type == ui::ProtectedVideoType::kHardwareProtected)
+      desc.Flags |= DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED;
+
+    HRESULT hr = media_factory->CreateSwapChainForCompositionSurfaceHandle(
+        d3d11_device_.Get(), swap_chain_handle_.Get(), &desc, nullptr,
+        &swap_chain_);
+
+    base::UmaHistogramSparse(kSwapChainCreationResultByFormatUmaPrefix +
+                                 OverlayFormatToString(OverlayFormat::kBGRA),
+                             hr);
+    base::UmaHistogramSparse(kSwapChainCreationResultByVideoTypeUmaPrefix +
+                                 protected_video_type_string,
+                             hr);
+
+    if (FAILED(hr)) {
+      // Disable overlay support so dc_layer_overlay will stop sending down
+      // overlay frames here and uses GL Composition instead.
+      DirectCompositionSurfaceWin::DisableOverlays();
+      DLOG(ERROR) << "Failed to create BGRA swap chain of size "
+                  << swap_chain_size.ToString() << " with error 0x" << std::hex
+                  << hr << ". Disable overlay swap chains";
+      return false;
+    }
+  }
+  return true;
+}
+
+}  // namespace gpu
diff --git a/gpu/ipc/service/swap_chain_presenter.h b/gpu/ipc/service/swap_chain_presenter.h
new file mode 100644
index 0000000..ddfa705
--- /dev/null
+++ b/gpu/ipc/service/swap_chain_presenter.h
@@ -0,0 +1,231 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef GPU_IPC_SERVICE_SWAP_CHAIN_PRESENTER_H_
+#define GPU_IPC_SERVICE_SWAP_CHAIN_PRESENTER_H_
+
+#include <windows.h>
+#include <d3d11.h>
+#include <dcomp.h>
+#include <wrl/client.h>
+
+#include "base/containers/circular_deque.h"
+#include "base/win/scoped_handle.h"
+#include "ui/gfx/color_space.h"
+#include "ui/gl/dc_renderer_layer_params.h"
+
+namespace gl {
+class GLImageDXGI;
+class GLImageMemory;
+}  // namespace gl
+
+namespace gpu {
+class DCLayerTree;
+
+// SwapChainPresenter holds a swap chain, direct composition visuals, and other
+// associated resources for a single overlay layer.  It is updated by calling
+// PresentToSwapChain(), and can update or recreate resources as necessary.
+class SwapChainPresenter {
+ public:
+  SwapChainPresenter(DCLayerTree* layer_tree,
+                     Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device,
+                     Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device);
+  ~SwapChainPresenter();
+
+  // Present the given overlay to swap chain.  Returns true on success.
+  bool PresentToSwapChain(const ui::DCRendererLayerParams& overlay);
+
+  const Microsoft::WRL::ComPtr<IDXGISwapChain1>& swap_chain() const {
+    return swap_chain_;
+  }
+
+  const Microsoft::WRL::ComPtr<IDCompositionVisual2>& visual() const {
+    return clip_visual_;
+  }
+
+ private:
+  // Mapped to DirectCompositonVideoPresentationMode UMA enum.  Do not remove or
+  // remap existing entries!
+  enum class VideoPresentationMode {
+    kZeroCopyDecodeSwapChain = 0,
+    kUploadAndVideoProcessorBlit = 1,
+    kBindAndVideoProcessorBlit = 2,
+    kMaxValue = kBindAndVideoProcessorBlit,
+  };
+
+  // Mapped to DecodeSwapChainNotUsedReason UMA enum.  Do not remove or remap
+  // existing entries.
+  enum class DecodeSwapChainNotUsedReason {
+    kSoftwareFrame = 0,
+    kNv12NotSupported = 1,
+    kFailedToPresent = 2,
+    kNonDecoderTexture = 3,
+    kSharedTexture = 4,
+    kIncompatibleTransform = 5,
+    kUnitaryTextureArray = 6,
+    kMaxValue = kUnitaryTextureArray,
+  };
+
+  // This keeps track of whether the previous 30 frames used Overlays or GPU
+  // composition to present.
+  class PresentationHistory {
+   public:
+    static const int kPresentsToStore = 30;
+
+    PresentationHistory();
+    ~PresentationHistory();
+
+    void AddSample(DXGI_FRAME_PRESENTATION_MODE mode);
+
+    bool valid() const;
+    int composed_count() const;
+
+   private:
+    base::circular_deque<DXGI_FRAME_PRESENTATION_MODE> presents_;
+    int composed_count_ = 0;
+
+    DISALLOW_COPY_AND_ASSIGN(PresentationHistory);
+  };
+
+  // Upload given YUV buffers to an NV12 texture that can be used to create
+  // video processor input view.  Returns nullptr on failure.
+  Microsoft::WRL::ComPtr<ID3D11Texture2D> UploadVideoImages(
+      gl::GLImageMemory* y_image_memory,
+      gl::GLImageMemory* uv_image_memory);
+
+  // Releases resources that might hold indirect references to the swap chain.
+  void ReleaseSwapChainResources();
+
+  // Recreate swap chain using given size.  Use preferred YUV format if
+  // |use_yuv_swap_chain| is true, or BGRA otherwise.  Sets flags based on
+  // |protected_video_type|. Returns true on success.
+  bool ReallocateSwapChain(const gfx::Size& swap_chain_size,
+                           bool use_yuv_swap_chain,
+                           ui::ProtectedVideoType protected_video_type,
+                           bool z_order);
+
+  // Returns true if YUV swap chain should be preferred over BGRA swap chain.
+  // This changes over time based on stats recorded in |presentation_history|.
+  bool ShouldUseYUVSwapChain(ui::ProtectedVideoType protected_video_type);
+
+  // Perform a blit using video processor from given input texture to swap chain
+  // backbuffer. |input_texture| is the input texture (array), and |input_level|
+  // is the index of the texture in the texture array.  |keyed_mutex| is
+  // optional, and is used to lock the resource for reading.  |content_rect| is
+  // subrectangle of the input texture that should be blitted to swap chain, and
+  // |src_color_space| is the color space of the video.
+  bool VideoProcessorBlt(Microsoft::WRL::ComPtr<ID3D11Texture2D> input_texture,
+                         UINT input_level,
+                         Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex,
+                         const gfx::Rect& content_rect,
+                         const gfx::ColorSpace& src_color_space);
+
+  // Returns optimal swap chain size for given layer.
+  gfx::Size CalculateSwapChainSize(const ui::DCRendererLayerParams& params);
+
+  // Update direct composition visuals for layer with given swap chain size.
+  void UpdateVisuals(const ui::DCRendererLayerParams& params,
+                     const gfx::Size& swap_chain_size);
+
+  // Try presenting to a decode swap chain based on various conditions such as
+  // global state (e.g. finch, NV12 support), texture flags, and transform.
+  // Returns true on success.  See PresentToDecodeSwapChain() for more info.
+  bool TryPresentToDecodeSwapChain(gl::GLImageDXGI* image_dxgi,
+                                   const gfx::Rect& content_rect,
+                                   const gfx::Size& swap_chain_size);
+
+  // Present to a decode swap chain created from compatible video decoder
+  // buffers using given |image_dxgi| with destination size |swap_chain_size|.
+  // Returns true on success.
+  bool PresentToDecodeSwapChain(gl::GLImageDXGI* image_dxgi,
+                                const gfx::Rect& content_rect,
+                                const gfx::Size& swap_chain_size);
+
+  // Records presentation statistics in UMA and traces (for pixel tests) for the
+  // current swap chain which could either be a regular flip swap chain or a
+  // decode swap chain.
+  void RecordPresentationStatistics();
+
+  // Layer tree instance that owns this swap chain presenter.
+  DCLayerTree* layer_tree_ = nullptr;
+
+  // Current size of swap chain.
+  gfx::Size swap_chain_size_;
+
+  // Whether the current swap chain is using the preferred YUV format.
+  bool is_yuv_swapchain_ = false;
+
+  // Whether the swap chain was reallocated, and next present will be the first.
+  bool first_present_ = false;
+
+  // Whether the current swap chain is presenting protected video, software
+  // or hardware protection.
+  ui::ProtectedVideoType protected_video_type_ = ui::ProtectedVideoType::kClear;
+
+  // Presentation history to track if swap chain was composited or used hardware
+  // overlays.
+  PresentationHistory presentation_history_;
+
+  // Whether creating a YUV swap chain failed.
+  bool failed_to_create_yuv_swapchain_ = false;
+
+  // Set to true when PresentToDecodeSwapChain fails for the first time after
+  // which we won't attempt to use decode swap chain again.
+  bool failed_to_present_decode_swapchain_ = false;
+
+  // Number of frames since we switched from YUV to BGRA swap chain, or
+  // vice-versa.
+  int frames_since_color_space_change_ = 0;
+
+  // This struct is used to cache information about what visuals are currently
+  // being presented so that properties that aren't changed aren't sent to
+  // DirectComposition.
+  struct VisualInfo {
+    gfx::Point offset;
+    gfx::Transform transform;
+    bool is_clipped = false;
+    gfx::Rect clip_rect;
+  } visual_info_;
+
+  // Direct composition visual containing the swap chain content.  Child of
+  // |clip_visual_|.
+  Microsoft::WRL::ComPtr<IDCompositionVisual2> content_visual_;
+
+  // Direct composition visual that applies the clip rect.  Parent of
+  // |content_visual_|, and root of the visual tree for this layer.
+  Microsoft::WRL::ComPtr<IDCompositionVisual2> clip_visual_;
+
+  // GLImages that were presented in the last frame.
+  scoped_refptr<gl::GLImage> last_y_image_;
+  scoped_refptr<gl::GLImage> last_uv_image_;
+
+  // NV12 staging texture used for software decoded YUV buffers.  Mapped to CPU
+  // for copying from YUV buffers.  Texture usage is DYNAMIC or STAGING.
+  Microsoft::WRL::ComPtr<ID3D11Texture2D> staging_texture_;
+  // Used to copy from staging texture with usage STAGING for workarounds.
+  Microsoft::WRL::ComPtr<ID3D11Texture2D> copy_texture_;
+  gfx::Size staging_texture_size_;
+
+  Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device_;
+  Microsoft::WRL::ComPtr<IDCompositionDevice2> dcomp_device_;
+  Microsoft::WRL::ComPtr<IDXGISwapChain1> swap_chain_;
+
+  // Handle returned by DCompositionCreateSurfaceHandle() used to create YUV
+  // swap chain that can be used for direct composition.
+  base::win::ScopedHandle swap_chain_handle_;
+
+  // Video processor output view created from swap chain back buffer.  Must be
+  // cached for performance reasons.
+  Microsoft::WRL::ComPtr<ID3D11VideoProcessorOutputView> output_view_;
+
+  Microsoft::WRL::ComPtr<IDXGIResource> decode_resource_;
+  Microsoft::WRL::ComPtr<IDXGIDecodeSwapChain> decode_swap_chain_;
+  Microsoft::WRL::ComPtr<IUnknown> decode_surface_;
+
+  DISALLOW_COPY_AND_ASSIGN(SwapChainPresenter);
+};
+
+}  // namespace gpu
+
+#endif  // GPU_IPC_SERVICE_SWAP_CHAIN_PRESENTER_H_
diff --git a/gpu/ipc/service/webgpu_command_buffer_stub.cc b/gpu/ipc/service/webgpu_command_buffer_stub.cc
index a8c963d..ad83c5bf 100644
--- a/gpu/ipc/service/webgpu_command_buffer_stub.cc
+++ b/gpu/ipc/service/webgpu_command_buffer_stub.cc
@@ -106,7 +106,8 @@
   command_buffer_ =
       std::make_unique<CommandBufferService>(this, memory_tracker_.get());
   std::unique_ptr<webgpu::WebGPUDecoder> decoder(webgpu::WebGPUDecoder::Create(
-      this, command_buffer_.get(), manager->outputter()));
+      this, command_buffer_.get(), manager->shared_image_manager(),
+      memory_tracker_.get(), manager->outputter()));
 
   sync_point_client_state_ =
       channel_->sync_point_manager()->CreateSyncPointClientState(
diff --git a/infra/config/luci-milo.cfg b/infra/config/luci-milo.cfg
index 92d74520..ae745627 100644
--- a/infra/config/luci-milo.cfg
+++ b/infra/config/luci-milo.cfg
@@ -1858,6 +1858,11 @@
     short_name: "rel"
   }
   builders {
+    name: "buildbucket/luci.chrome.ci/ToTWinOfficial"
+    category: "ToT Windows"
+    short_name: "ofi"
+  }
+  builders {
     name: "buildbucket/luci.chromium.ci/ToTWin(dbg)"
     category: "ToT Windows"
     short_name: "dbg"
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ar.xtb
index 1fc03bb..135149c 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ar.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">‏يتعذر على Google Chrome استخدام الكاميرا نظرًا لأنها قيد الاستخدام من قِبل تطبيق آخر</translation>
 <translation id="5639704535586432836">‏افتح الإعدادات &gt; الخصوصية &gt; الكاميرا &gt; Google Chrome وشغِّل الكاميرا.</translation>
 <translation id="5642200033778930880">‏يتعذر على Google Chrome استخدام الكاميرا في وضع تقسيم العرض</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">‏نصيحة لاستخدام Chrome: تظهر حاليًّا بعض الأزرار في أسفل الشاشة، مثل زر "الرجوع" و"التالي" و"البحث".</translation>
 <translation id="6036420186814142909">‏يشتمل Google Chrome على ميزات من شأنها مساعدتك على إدارة بيانات الإنترنت والوقوف على مدى السرعة التي يمكنك تحميل صفحات الويب من خلالها.
 <ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">‏تسجيل الخروج من Chrome</translation>
 <translation id="756809126120519699">‏بيانات Chrome التي تم محوها</translation>
 <translation id="7626032353295482388">‏مرحبًا بك في Chrome‏</translation>
+<translation id="8370517070665726704">‏حقوق الطبع والنشر لعام <ph name="YEAR" /> لشركة Google LLC. جميع الحقوق محفوظة.</translation>
 <translation id="840168496893712993">‏تتسبب بعض الإضافات في تعطل Chrome. يُرجى محاولة إزالتها.</translation>
 <translation id="8459495907675268833">‏تمت إزالة البيانات المُحددة من متصفح Chrome والأجهزة التي تمت مزامنتها. قد يحتوي حسابك في Google على نماذج أخرى من سجل التصفح، مثل عمليات البحث والأنشطة من خدمات Google الأخرى في history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb
index 9d5eb6a..2490dcd 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome আপনার ক্যামেরা ব্যবহার করতে পারছে না কারণ এটি অন্য একটি অ্যাপ্লিকেশান দ্বারা ব্যবহার করা হচ্ছে</translation>
 <translation id="5639704535586432836">সেটিংস &gt; গোপনীয়তা &gt; ক্যামেরা &gt; Google Chrome খুলুন এবং ক্যামেরা চালু করুন।</translation>
 <translation id="5642200033778930880">Google Chrome আপনার ক্যামেরা বিভক্ত দৃশ্য মোডে ব্যবহার করতে পারবে না</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Chrome টিপ। কিছু বোতাম এখন আপনার স্ক্রিনে নিচের দিকে রয়েছে যেমন, ব্যাক, ফরওয়ার্ড এবং সার্চ বোতাম।</translation>
 <translation id="6036420186814142909">Google Chrome এর একটি বৈশিষ্ট্য যা আপনাকে আপনার ইন্টারনেট ডেটা পরিচালনা করতে এবং কীভাবে আপনি ওয়েবপৃষ্ঠাগুলি দ্রুত লোড করতে সক্ষম হবেন সে বিষয়ে সহায়তা করে৷
 <ph name="BEGIN_LINK" />আরও জানুন<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Chrome থেকে প্রস্থান করুন</translation>
 <translation id="756809126120519699">Chrome ডেটা সাফ হয়েছে</translation>
 <translation id="7626032353295482388">Chrome এ স্বাগতম</translation>
+<translation id="8370517070665726704">কপিরাইট <ph name="YEAR" /> Google LLC সব স্বত্ব সংরক্ষিত আছে।</translation>
 <translation id="840168496893712993">কিছু অ্যাড-অনের কারণে Chrome ক্র্যাশ করতে পারে৷ দয়া করে সেগুলিকে আনইনস্টল করার চেষ্টা করুন৷</translation>
 <translation id="8459495907675268833">Chrome ও সিঙ্ক করা ডিভাইস থেকে নির্বাচিত ডেটা সরিয়ে ফেলা হয়েছে। আপনার Google অ্যাকাউন্টের সার্চ এবং অন্যান্য Google পরিষেবাগুলি থেকে অ্যাক্টিভিটির মত অন্যান্য ধরনের ব্রাউজিং ইতিহাস history.google.com-এ থাকতে পারে।</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_cs.xtb
index f517acd..3959993 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_cs.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome nemůže použít fotoaparát, protože jej právě používá jiná aplikace</translation>
 <translation id="5639704535586432836">Otevřete Nastavení &gt; Soukromí &gt; Fotoaparát &gt; Google Chrome a zapněte fotoaparát.</translation>
 <translation id="5642200033778930880">Google Chrome nemůže používat fotoaparát v režimu Split View</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Tip pro Chrome. Některá tlačítka, například Zpět, Vpřed a Hledat, jsou teď v dolní části obrazovky.</translation>
 <translation id="6036420186814142909">Google Chrome obsahuje funkce, které pomáhají spravovat přenosy dat z internetu a umožňují zrychlit načítání webových stránek.
 <ph name="BEGIN_LINK" />Další informace<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Odhlášení z Chromu</translation>
 <translation id="756809126120519699">Vymazání údajů Chromu</translation>
 <translation id="7626032353295482388">Vítá vás Chrome</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Všechna práva vyhrazena.</translation>
 <translation id="840168496893712993">Některé doplňky způsobují selhání prohlížeče Chrome. Zkuste je prosím odinstalovat.</translation>
 <translation id="8459495907675268833">Vybraná data byla z Chromu a synchronizovaných zařízení odstraněna. Na stránce history.google.com mohou být k dispozici další druhy historie prohlížení zaznamenané ve vašem účtu Google, například vyhledávací dotazy a aktivita z ostatních služeb Google.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_da.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_da.xtb
index 09f6445..4d2cc6e 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_da.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome kan ikke bruge dit kamera, da det bruges af en anden app</translation>
 <translation id="5639704535586432836">Åbn Indstillinger &gt; Privatliv &gt; Kamera &gt; Google Chrome, og slå kameraet til.</translation>
 <translation id="5642200033778930880">Google Chrome kan ikke bruge dit kamera i tilstanden Opdelt visning</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Chrome-tip. Nogle knapper som f.eks. Tilbage, Frem og Søg findes nu nederst på skærmen.</translation>
 <translation id="6036420186814142909">Google Chrome har funktioner, der hjælper dig med at administrere internetdata og hastigheden, som websider indlæses med.
 <ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Log ud af Chrome</translation>
 <translation id="756809126120519699">Chrome-dataene blev ryddet</translation>
 <translation id="7626032353295482388">Velkommen til Chrome</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Alle rettigheder forbeholdes.</translation>
 <translation id="840168496893712993">Nogle tilføjelser får Chrome til at gå ned. Prøv at afinstallere dem.</translation>
 <translation id="8459495907675268833">De valgte data er fjernet fra Chrome og synkroniserede enheder. Din Google-konto kan have andre former for browserhistorik, f.eks. søgninger og aktivitet fra andre Google-tjenester, på history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_el.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_el.xtb
index 0db3afd..9bdc9ab 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_el.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Το Google Chrome δεν μπορεί να χρησιμοποιήσει την κάμερά σας επειδή χρησιμοποιείται από άλλη εφαρμογή.</translation>
 <translation id="5639704535586432836">Ανοίξτε το μενού Ρυθμίσεις &gt; Απόρρητο &gt; Κάμερα &gt; Google Chrome και ενεργοποιήστε την κάμερα.</translation>
 <translation id="5642200033778930880">Το Google Chrome δεν μπορεί να χρησιμοποιήσει την κάμερά σας στη λειτουργία προβολής διαχωρισμού οθόνης</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Συμβουλή για το Chrome. Ορισμένα κουμπιά είναι πλέον διαθέσιμα στο κάτω τμήμα της οθόνης σας, όπως τα κουμπιά "Προηγούμενο", "Επόμενο" και "Αναζήτηση".</translation>
 <translation id="6036420186814142909">Το Google Chrome διαθέτει λειτουργίες που σας διευκολύνουν να διαχειριστείτε τα δεδομένα σας στο διαδίκτυο και την ταχύτητα φόρτωσης των ιστοσελίδων.
 <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Αποσύνδεση από το Chrome</translation>
 <translation id="756809126120519699">Τα δεδομένα του Chrome διαγράφηκαν</translation>
 <translation id="7626032353295482388">Καλώς ήρθατε στο Chrome</translation>
+<translation id="8370517070665726704">Πνευματικά δικαιώματα <ph name="YEAR" /> Google LLC. Με την επιφύλαξη παντός δικαιώματος.</translation>
 <translation id="840168496893712993">Ορισμένα πρόσθετα προκαλούν σφάλματα στο Chrome. Δοκιμάστε να τα απεγκαταστήσετε.</translation>
 <translation id="8459495907675268833">Τα επιλεγμένα δεδομένα καταργήθηκαν από το Chrome και από τις συγχρονισμένες συσκευές. Ο Λογαριασμός σας Google ενδέχεται να διαθέτει άλλες μορφές ιστορικού περιήγησης, όπως αναζητήσεις και δραστηριότητα από άλλες υπηρεσίες Google στη διεύθυνση history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb
index 0d66f17..8689b30 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome ei saa kaamerat kasutada, kuna seda kasutab muu rakendus</translation>
 <translation id="5639704535586432836">Tehke valikud Seaded &gt; Privaatsus &gt; Kaamera &gt; Google Chrome ja lülitage kaamera sisse.</translation>
 <translation id="5642200033778930880">Google Chrome ei saa kaamerat poolitatud vaate režiimis kasutada</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Chrome'i nõuanne. Mõned nupud, näiteks Tagasi, Edasi ja Otsing, asuvad nüüd ekraani alaosas.</translation>
 <translation id="6036420186814142909">Google Chrome'il on funktsioone, mis aitavad teil hallata oma Interneti-andmeid ja seda, kui kiiresti saate laadida veebilehti.
 <ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Chrome'ist väljalogimine</translation>
 <translation id="756809126120519699">Chrome'i andmed kustutati</translation>
 <translation id="7626032353295482388">Tere tulemast Chrome'i</translation>
+<translation id="8370517070665726704">Autoriõigus <ph name="YEAR" /> Google LLC. Kõik õigused on kaitstud.</translation>
 <translation id="840168496893712993">Mõned pistikprogrammid põhjustavad Chrome'i kokkujooksmise. Proovige need desinstallida.</translation>
 <translation id="8459495907675268833">Valitud andmed eemaldati Chrome'ist ja sünkroonitud seadmetest. Aadressil history.google.com võib teie Google'i kontol olla muus vormis sirvimisajalugu, nagu otsingud ja tegevused muudes Google'i teenustes.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fa.xtb
index 9d43617..56bbd48 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fa.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">‏Google Chrome نمی‌تواند از دوربین استفاده کند زیرا برنامه دیگری از آن استفاده می‌کند</translation>
 <translation id="5639704535586432836">‏Settings (تنظیمات) &gt; Privacy (حریم خصوصی) &gt; Camera (دوربین) &gt; Google Chrome را باز کنید و دوربین را روشن کنید.</translation>
 <translation id="5642200033778930880">‏Google Chrome نمی‌تواند از دوربین درحالت Split View (نمای تقسیم) استفاده کند</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">‏نکته Chrome. بعضی از دکمه‌ها مثل Back (برگشت)، Forward (به جلو) و Search (جستجو) اکنون در پایین صفحه هستند.</translation>
 <translation id="6036420186814142909">‏Google Chrome دارای قابلیت‌هایی است که به شما کمک می‌کند داده‌های اینترنت و سرعت بارگیری صفحه‌های وبتان را مدیریت کنید.
 <ph name="BEGIN_LINK" />بیشتر بدانید<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">‏خروج از سیستم Chrome</translation>
 <translation id="756809126120519699">‏داده‌های Chrome پاک شد</translation>
 <translation id="7626032353295482388">‏به Chrome خوش آمدید</translation>
+<translation id="8370517070665726704">‏حق نسخه‌برداری <ph name="YEAR" /> Google LLC.‎ کلیه حقوق محفوظ است.</translation>
 <translation id="840168496893712993">‏برخی از افزونه‌ها باعث می‌شوند Chrome از کار بیفتد. لطفاً آنها را حذف نصب کنید.</translation>
 <translation id="8459495907675268833">‏داده‌های انتخاب‌‌شده از Chrome و دستگاه‌های همگام‌سازی‌شده حذف شدند. ممکن است اشکال دیگری از سابقه مرورتان در حساب Google شما وجود داشته باشد، مانند جستجو‌ها و فعالیت دیگر سرویس‌های Google در history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_gu.xtb
index 25b58a5..7af67d2 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_gu.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome, તમારા કૅમેરાનો ઉપયોગ કરી શકતું નથી કારણ કે તે બીજી ઍપ્લિકેશન દ્વારા ઉપયોગમાં છે</translation>
 <translation id="5639704535586432836">સેટિંગ્સ &gt; ગોપનીયતા &gt; કૅમેરો &gt; Google Chrome ખોલો અને કૅમેરો ચાલુ કરો.</translation>
 <translation id="5642200033778930880">Google Chrome, વિભાજિત દૃશ્ય મોડમાં તમારા કૅમેરાનો ઉપયોગ કરી શકતુંં નથી</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Chrome ટિપ. પાછળ, ફૉર્વર્ડ અને શોધ જેવાં કેટલાક બટનો હવે તમારી સ્ક્રીનના તળિયે છે.</translation>
 <translation id="6036420186814142909">Google Chrome માં એવી સુવિધાઓ છે જે તમારી તમારા ઇન્ટરનેટ ડેટા અને તમે કેવી રીતે ઝડપથી વેબપૃષ્ઠોને લોડ કરવામાં સમર્થ છો તેનું સંચાલન કરવામાં સહાય કરે છે.
 <ph name="BEGIN_LINK" />વધુ જાણો<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Chromeમાંથી સાઇન આઉટ કરો</translation>
 <translation id="756809126120519699">Chrome ડેટા સાફ કર્યો</translation>
 <translation id="7626032353295482388">Chrome પર આપનું સ્વાગત છે</translation>
+<translation id="8370517070665726704">કૉપિરાઇટ <ph name="YEAR" /> Google LLC. સર્વાધિકાર સુરક્ષિત.</translation>
 <translation id="840168496893712993">કેટલાંક એડ-ઓનને કારણે Chrome ક્રૅશ થાય છે. કૃપા કરીને તેમને અનઇન્સ્ટૉલ કરવાનો પ્રયાસ કરો.</translation>
 <translation id="8459495907675268833">પસંદ કરેલ ડેટા Chrome અને સિંક ડિવાઇસમાંથી દૂર કરવામાં આવ્યો છે. તમારા Google એકાઉન્ટમાં બ્રાઉઝિંગ ઇતિહાસના બીજા સ્વરૂપો જેમ કે શોધ અને history.google.com પરની બીજા Google સેવાઓમાંથી પ્રવૃત્તિ હોય શકે છે.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb
index 6da459b7..62c7993 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome आपके कैमरे का उपयोग नहीं कर सकता क्योंकि दूसरा ऐप्लिकेशन उसका उपयोग कर रहा है</translation>
 <translation id="5639704535586432836">सेटिंग &gt; निजता &gt; कैमरा &gt; Google Chrome खोलें और कैमरा चालू करें.</translation>
 <translation id="5642200033778930880">Google Chrome स्प्लिट व्यू मोड में आपके कैमरे का इस्तेमाल नहीं कर सकता</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Chrome के लिए सलाह. 'वापस जाएं', 'आगे जाएं' और 'खोजें' जैसे कुछ बटन अब आपकी स्क्रीन के सबसे नीचे मिलेंगे.</translation>
 <translation id="6036420186814142909">Google Chrome में ऐसी सुविधाएं हैं जो आपको अपने इंटरनेट डेटा को प्रबंधित करने और वेबपृष्ठों को तेज़ी से लोड करने में आपकी सहायता करती हैं. <ph name="BEGIN_LINK" />और जानें<ph name="END_LINK" /></translation>
 <translation id="6573431926118603307">आपके द्वारा अपने अन्य डिवाइस पर खोले गए टैब यहां दिखाई देंगे.</translation>
@@ -48,6 +49,7 @@
 <translation id="7437998757836447326">Chrome से साइन आउट करें</translation>
 <translation id="756809126120519699">साफ़ किया गया Chrome डेटा</translation>
 <translation id="7626032353295482388">Chrome में आपका स्वागत है</translation>
+<translation id="8370517070665726704">कॉपीराइट <ph name="YEAR" /> Google LLC. सर्वाधिकार सुरक्षित.</translation>
 <translation id="840168496893712993">कुछ ऐड-ऑन के कारण Chrome क्रैश हो जाता है. कृपया उन्हें अनइंस्टॉल करके देखें.</translation>
 <translation id="8459495907675268833">चयनित डेटा Chrome और समन्वयित डिवाइस से निकाल दिया गया है. हो सकता है कि आपके Google खाते में अन्य प्रकार के ब्राउज़िंग इतिहास जैसे खोज और history.google.com पर अन्य Google सेवाओं की गतिविधि हो.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hr.xtb
index 7198712..145c2970 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hr.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome ne može upotrebljavati vaš fotoaparat jer ga upotrebljava neka druga aplikacija</translation>
 <translation id="5639704535586432836">Otvorite Postavke &gt; Privatnost &gt; Fotoaparat &gt; Google Chrome i uključite fotoaparat.</translation>
 <translation id="5642200033778930880">Google Chrome ne može upotrebljavati vaš fotoaparat u načinu podijeljenog prikaza</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Savjet za Chrome. Neki se gumbi sada nalaze pri dnu zaslona, primjerice za natrag, naprijed i pretraživanje.</translation>
 <translation id="6036420186814142909">Google Chrome ima značajke koje vam mogu pomoći u upravljanju internetskim podacima i brzinom kojom se učitavaju web-stranice.
 <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Odjava s Chromea</translation>
 <translation id="756809126120519699">Chromeovi su podaci izbrisani</translation>
 <translation id="7626032353295482388">Dobro došli u Chrome</translation>
+<translation id="8370517070665726704">Autorska prava <ph name="YEAR" />. Google LLC. Sva prava pridržana.</translation>
 <translation id="840168496893712993">Neki programski dodaci uzrokuju rušenje preglednika Chrome. Pokušajte ih deinstalirati.</translation>
 <translation id="8459495907675268833">Odabrani podaci uklonjeni su iz Chromea i sa sinkroniziranih uređaja. Na Google računu možda postoje drugi oblici povijesti pregledavanja, primjerice pretraživanja i aktivnosti s drugih Googleovih usluga, na stranici history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hu.xtb
index 0fc8906..1f5c09bf 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hu.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">A Google Chrome nem tudja használni a kamerát, mivel egy másik alkalmazás használja</translation>
 <translation id="5639704535586432836">Nyissa meg a Beállítások &gt; Adatvédelem &gt; Kamera &gt; Google Chrome elemet, és kapcsolja be a kamerát.</translation>
 <translation id="5642200033778930880">A Google Chrome Osztott nézet módban nem tudja használni a kamerát</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Tipp a Chrome használatához. Egyes gombok (például a Vissza, az Előre vagy a Keresés) mostantól a képernyő alján jelennek meg.</translation>
 <translation id="6036420186814142909">A Google Chrome számos olyan funkciót biztosít, amelyek segítik internetes adatainak kezelésében, illetve a weboldalak betöltési gyorsaságának beállításában.
 <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Kijelentkezés a Chrome-ból</translation>
 <translation id="756809126120519699">Chrome-adatok törölve</translation>
 <translation id="7626032353295482388">A Chrome üdvözli Önt!</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Minden jog fenntartva.</translation>
 <translation id="840168496893712993">Bizonyos bővítmények a Chrome összeomlását eredményezik. Próbálja meg eltávolítani őket.</translation>
 <translation id="8459495907675268833">A kiválasztott adatokat eltávolítottuk a Chrome-ból és a szinkronizált eszközökről. Előfordulhat, hogy Google-fiókjában (a history.google.com címen) még szerepelnek a böngészési előzmények egyéb formái, így például a keresések és egyéb tevékenységek más Google-szolgáltatásokból.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ja.xtb
index 973db66..93ea0784 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ja.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ja.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">カメラは別のアプリが使用中のため、Google Chrome では使用できません</translation>
 <translation id="5639704535586432836">[設定] &gt; [プライバシー] &gt; [カメラ] &gt; [Google Chrome] の順に選択し、カメラをオンにします。</translation>
 <translation id="5642200033778930880">Google Chrome では、分割表示モードでカメラを使用することはできません</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Chrome の使い方のヒント: 戻る、進む、検索など一部のボタンは画面の下部に表示されるようになりました。</translation>
 <translation id="6036420186814142909">Google Chromeには、インターネットのデータやウェブページの読み込み速度を管理できる機能があります。
 <ph name="BEGIN_LINK" />詳細<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Chrome からログアウト</translation>
 <translation id="756809126120519699">Chrome データの消去完了</translation>
 <translation id="7626032353295482388">Chrome へようこそ</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. All rights reserved.</translation>
 <translation id="840168496893712993">アドオンが原因でChromeがクラッシュしました。アドオンをアンインストールしてみてください。</translation>
 <translation id="8459495907675268833">選択したデータが Chrome から削除され、同期されたデバイスからも削除されました。他の Google サービスでの検索や操作など、Google アカウントの他の形式の閲覧履歴が history.google.com に残ることがあります。</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_lv.xtb
index 815098f..b803afcf 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_lv.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome pašlaik nevar izmantot kameru, jo to izmanto cita lietojumprogramma.</translation>
 <translation id="5639704535586432836">Atveriet sadaļu Iestatījumi &gt; Konfidencialitāte &gt; Kamera &gt; Google Chrome un ieslēdziet kameru.</translation>
 <translation id="5642200033778930880">Google Chrome nevar izmantot kameru dalītā skata režīmā.</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Chrome padoms. Tagad ekrāna apakšdaļā ir dažas pogas, piemēram, Atpakaļ, Pārsūtīt un Meklēt.</translation>
 <translation id="6036420186814142909">Pārlūkā Google Chrome ir funkcijas, ko varat izmantot, lai pārvaldītu interneta datus un tīmekļa lapu ielādes ātrumu.
 <ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" />.</translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Izrakstīšanās no pārlūka Chrome</translation>
 <translation id="756809126120519699">Chrome dati tika notīrīti</translation>
 <translation id="7626032353295482388">Laipni lūdzam pārlūkā Chrome</translation>
+<translation id="8370517070665726704">Autortiesības: <ph name="YEAR" /> Google LLC. Visas tiesības paturētas.</translation>
 <translation id="840168496893712993">Daži papildinājumi var izraisīt pārlūka Chrome avarēšanu. Lūdzu, atinstalējiet tos.</translation>
 <translation id="8459495907675268833">Atlasītie dati ir noņemti no pārlūka Chrome un sinhronizētajām ierīcēm. Jūsu Google kontam vietnē history.google.com var būt citu veidu pārlūkošanas vēstures dati, piemēram, meklēšanas vaicājumi un darbības citos Google pakalpojumos.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb
index 4d905de..9dff21cf 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome nie może użyć aparatu, bo używa go już inna aplikacja</translation>
 <translation id="5639704535586432836">Wybierz Ustawienia &gt; Prywatność &gt; Aparat &gt; Google Chrome i włącz aparat.</translation>
 <translation id="5642200033778930880">Google Chrome nie może używać aparatu w trybie widoku dzielonego</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Wskazówka dla użytkowników Chrome. Niektóre przyciski (na przykład Wstecz, Dalej i Szukaj) znajdują się teraz na dole ekranu.</translation>
 <translation id="6036420186814142909">W Google Chrome są funkcje, które pomogą Ci zarządzać szybkością wczytywania stron internetowych oraz danymi przesyłanymi przez sieć.
 <ph name="BEGIN_LINK" />Więcej informacji<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Wyloguj się z Chrome</translation>
 <translation id="756809126120519699">Wyczyszczono dane Chrome</translation>
 <translation id="7626032353295482388">Witamy w Chrome</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Wszelkie prawa zastrzeżone.</translation>
 <translation id="840168496893712993">Niektóre dodatki mogą powodować awarie Chrome. Spróbuj je odinstalować.</translation>
 <translation id="8459495907675268833">Wybrane dane zostały usunięte z Chrome i synchronizowanych urządzeń. Inne rodzaje historii przeglądania, takie jak wyszukiwania i aktywność w innych usługach Google, mogą być nadal dostępne na Twoim koncie Google na history.google.com</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-BR.xtb
index 5ea4289..d9fcbb3 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-BR.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">O Google Chrome não pode usar a câmera porque ela está sendo usada por outro app</translation>
 <translation id="5639704535586432836">Abra Ajustes &gt; Privacidade &gt; Câmera &gt; Google Chrome e ative a câmera.</translation>
 <translation id="5642200033778930880">O Google Chrome não pode usar a câmera no modo Visualização dividida</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Dica do Chrome. Alguns botões agora estão na parte inferior da tela, como "Voltar", "Avançar" e "Pesquisar".</translation>
 <translation id="6036420186814142909">O Google Chrome tem recursos que ajudam a gerenciar seus dados de Internet e a velocidade de carregamento de páginas da Web.
 <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Sair do Google Chrome</translation>
 <translation id="756809126120519699">Dados do Chrome apagados</translation>
 <translation id="7626032353295482388">Bem-vindo ao Google Chrome</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Todos os direitos reservados.</translation>
 <translation id="840168496893712993">Alguns complementos causam a falha do Google Chrome. Tente desinstalá-los.</translation>
 <translation id="8459495907675268833">Os dados selecionados foram removidos do Chrome e dos dispositivos sincronizados. É possível que sua Conta do Google tenha outras formas de histórico de navegação, como pesquisas e atividades de outros serviços do Google em history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-PT.xtb
index e7a57a5c..6c47acec 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-PT.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">O Google Chrome não pode utilizar a câmara porque está a ser utilizada por outra aplicação</translation>
 <translation id="5639704535586432836">Abra Definições &gt; Privacidade &gt; Câmara &gt; Google Chrome e ative a câmara.</translation>
 <translation id="5642200033778930880">O Google Chrome não pode utilizar a câmara no modo Vista dividida</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Sugestão para o Chrome: alguns botões encontram-se agora na parte inferior do ecrã, como Voltar, Avançar e Pesquisar.</translation>
 <translation id="6036420186814142909">O Google Chrome inclui funcionalidades que o/a ajudam a gerir os seus dados de Internet e a velocidade com que as páginas Web são carregadas. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
 <translation id="6573431926118603307">Os separadores que abriu no Chrome nos seus outros dispositivos são apresentados aqui.</translation>
@@ -48,6 +49,7 @@
 <translation id="7437998757836447326">Terminar sessão no Chrome</translation>
 <translation id="756809126120519699">Dados do Chrome limpos</translation>
 <translation id="7626032353295482388">Bem-vindo ao Chrome</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Todos os direitos reservados.</translation>
 <translation id="840168496893712993">Alguns suplementos provocam falhas no sistema do Chrome. Tente desinstalá-los.</translation>
 <translation id="8459495907675268833">Os dados selecionados foram removidos do Chrome e dos dispositivos sincronizados. A sua Conta Google pode ter outras formas do histórico de navegação, como pesquisas e atividade de outros serviços Google, em history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ro.xtb
index 36b7fec..206a010 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ro.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome nu poate folosi camera foto, deoarece este folosită de o altă aplicație</translation>
 <translation id="5639704535586432836">Deschide Setări &gt; Confidențialitate &gt; Cameră foto &gt; Google Chrome și activează camera foto.</translation>
 <translation id="5642200033778930880">Google Chrome nu poate folosi camera foto în modul Vizualizare împărțită</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Sfat pentru Chrome: unele butoane se află acum în partea de jos a ecranului, cum ar fi Înapoi, Înainte și Caută.</translation>
 <translation id="6036420186814142909">Google Chrome are funcții care te ajută să gestionezi datele de internet și viteza cu care poți să încarci paginile web.
 <ph name="BEGIN_LINK" />Află mai multe<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Deconectează-te de la Chrome</translation>
 <translation id="756809126120519699">Datele Chrome au fost șterse</translation>
 <translation id="7626032353295482388">Bun venit la Chrome</translation>
+<translation id="8370517070665726704">Drept de autor <ph name="YEAR" /> Google LLC. Toate drepturile rezervate.</translation>
 <translation id="840168496893712993">Unele suplimente determină blocarea browserului Chrome. Încearcă să le dezinstalezi.</translation>
 <translation id="8459495907675268833">Datele selectate au fost eliminate din Chrome și de pe dispozitivele sincronizate. Contul Google poate să ofere alte forme ale istoricului de navigare, cum ar fi căutările și activitatea din alte servicii Google, la history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sk.xtb
index 49dec1a..debde09 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sk.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome nemôže použiť váš fotoaparát, pretože ho práve používa iná aplikácia</translation>
 <translation id="5639704535586432836">Otvorte Nastavenia &gt; Súkromie &gt; Fotoaparát &gt; Google Chrome a zapnite fotoaparát.</translation>
 <translation id="5642200033778930880">Google Chrome nemôže použiť váš fotoaparát v režime Rozdelené zobrazenie</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Tip pre Chrome: niektoré tlačidlá sa teraz nachádzajú v dolnej časti obrazovky, napríklad Dopredu, Späť a Hľadať.</translation>
 <translation id="6036420186814142909">Prehliadač Google Chrome obsahuje funkcie, ktoré vám pomôžu spravovať objem internetových dát a rýchlosť načítania webových stránok.
 <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Odhlásiť sa z Chromu</translation>
 <translation id="756809126120519699">Údaje Chromu boli vymazané</translation>
 <translation id="7626032353295482388">Víta vás prehliadač Chrome</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Všetky práva vyhradené.</translation>
 <translation id="840168496893712993">Niektoré doplnky spôsobujú zlyhanie prehliadača Chrome. Skúste ich odinštalovať.</translation>
 <translation id="8459495907675268833">Vybraté údaje boli odstránené z Chromu a synchronizovaných zariadení. Váš účet Google môže mať na adrese history.google.com ďalšie formy histórie prehliadania, ako napríklad vyhľadávania a aktivity v iných službách Google.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr.xtb
index a7dd93e6..8725f75 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome не може да користи камеру зато што је већ користи друга апликација</translation>
 <translation id="5639704535586432836">Отворите Подешавања &gt; Приватност &gt; Камера &gt; Google Chrome и укључите камеру.</translation>
 <translation id="5642200033778930880">Google Chrome не може да користи камеру у режиму подељеног приказа</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Савет за Chrome. Нека дугмад се сада налазе у дну екрана, попут дугмади Назад, Напред и Претражи.</translation>
 <translation id="6036420186814142909">Google Chrome има функције које вам помажу да управљате интернет подацима и брзином учитавања веб-страница.
 <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Одјављивање из Chrome-а</translation>
 <translation id="756809126120519699">Chrome подаци су обрисани</translation>
 <translation id="7626032353295482388">Добро дошли у Chrome</translation>
+<translation id="8370517070665726704">Ауторска права <ph name="YEAR" />. Google LLC. Сва права задржана.</translation>
 <translation id="840168496893712993">Неки програмски додаци изазивају отказивање Chrome-а. Покушајте да их деинсталирате.</translation>
 <translation id="8459495907675268833">Изабрани подаци су уклоњени из Chrome-а и са синхронизованих уређаја. Google налог можда има друге облике историје прегледања, попут претрага и активности у другим Google услугама на history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sv.xtb
index f57d560a..9b02ef6f 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sv.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sv.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome kan inte använda kameran eftersom den används av en annan app</translation>
 <translation id="5639704535586432836">Öppna Inställningar &gt; Sekretess &gt; Kamera &gt; Google Chrome och aktivera kameran.</translation>
 <translation id="5642200033778930880">Google Chrome kan inte använda kameran i delad vy</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">Tips för Chrome. Vissa knappar finns nu längst ned på skärmen, till exempel bakåtknappen, framåtknappen och Sök.</translation>
 <translation id="6036420186814142909">I Google Chrome finns det funktioner som du kan använda för att hantera dina internetuppgifter och inläsningshastigheten för webbsidor.
 <ph name="BEGIN_LINK" />Läs mer<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">Logga ut från Chrome</translation>
 <translation id="756809126120519699">Data i Chrome har rensats</translation>
 <translation id="7626032353295482388">Välkommen till Chrome</translation>
+<translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Med ensamrätt.</translation>
 <translation id="840168496893712993">Några tillägg har fått Chrome att krascha. Testa att avinstallera dem.</translation>
 <translation id="8459495907675268833">Den data som markerades har tagits bort från Chrome och från synkroniserade enheter. Det kan finnas andra former av webbhistorik i Google-kontot på history.google.com, t.ex. sökningar och aktivitet på andra tjänster från Google.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_th.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_th.xtb
index 5224dc8..63c601e4 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_th.xtb
@@ -32,6 +32,7 @@
 <translation id="5389212809648216794">Google Chrome ไม่สามารถใช้กล้องถ่ายรูปเนื่องจากแอปพลิเคชันอื่นใช้งานอยู่</translation>
 <translation id="5639704535586432836">เปิดการตั้งค่า &gt; ความเป็นส่วนตัว &gt; กล้อง &gt; Google Chrome เพื่อเปิดกล้องถ่ายรูป</translation>
 <translation id="5642200033778930880">Google Chrome ไม่สามารถใช้กล้องถ่ายรูปในโหมด Split View</translation>
+<translation id="5690427481109656848">Google LLC</translation>
 <translation id="5854621639439811139">เคล็ดลับสำหรับ Chrome ตอนนี้บางปุ่มแสดงอยู่ที่ด้านล่างของหน้าจอแล้ว เช่น ปุ่มกลับ ไปข้างหน้า และค้นหา</translation>
 <translation id="6036420186814142909">Google Chrome มีฟีเจอร์ที่ช่วยให้คุณสามารถจัดการข้อมูลอินเทอร์เน็ตและระดับความเร็วที่คุณสามารถใช้ในการโหลดหน้าเว็บ
 <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
@@ -49,6 +50,7 @@
 <translation id="7437998757836447326">ออกจากระบบ Chrome</translation>
 <translation id="756809126120519699">ล้างข้อมูล Chrome แล้ว</translation>
 <translation id="7626032353295482388">ยินดีต้อนรับสู่ Chrome</translation>
+<translation id="8370517070665726704">ลิขสิทธิ์ <ph name="YEAR" /> Google LLC สงวนลิขสิทธิ์</translation>
 <translation id="840168496893712993">ส่วนเสริมบางรายการทำให้ Chrome ขัดข้อง โปรดลองถอนการติดตั้งส่วนเสริมนั้น</translation>
 <translation id="8459495907675268833">ระบบได้นำข้อมูลที่เลือกไว้ออกจาก Chrome และอุปกรณ์ที่ซิงค์แล้ว บัญชี Google ของคุณอาจมีประวัติการท่องเว็บในรูปแบบอื่นๆ เช่น การค้นหาและกิจกรรมจากบริการอื่นๆ ของ Google ที่ history.google.com</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
index 74869f04..eefb039 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">تشغيل المزامنة</translation>
 <translation id="6914583639806229067">البحث عن الصورة التي نسختها</translation>
 <translation id="6914783257214138813">ستكون كلمات مرورك مرئية لأي شخص يمكنه الاطلاع على الملف الذي تم تصديره.</translation>
+<translation id="692898627499215142">لم ينتهِ إعداد المزامنة الأولية. لبدء المزامنة، تم تفعيل تبديل المزامنة.</translation>
 <translation id="6944369514868857500">اختيار حساب آخر</translation>
 <translation id="6945221475159498467">تحديد</translation>
 <translation id="6973630695168034713">المجلدات</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">علامات التبويب الأخيرة</translation>
 <translation id="7006788746334555276">إعدادات المحتوى</translation>
+<translation id="7015203776128479407">لم ينتهِ إعداد المزامنة الأولية. تم إيقاف المزامنة.</translation>
 <translation id="7029809446516969842">كلمات المرور</translation>
 <translation id="7031882061095297553">مزامنة لـ</translation>
 <translation id="7053983685419859001">حظر</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">الكاميرا غير متاحة</translation>
 <translation id="7159472599653637159">طلب موقع ويب متوافق مع الجوّال</translation>
 <translation id="7167621057293532233">أنواع البيانات</translation>
+<translation id="7173114856073700355">فتح الإعدادات</translation>
 <translation id="7189598951263744875">مشاركة...</translation>
 <translation id="7192050974311852563">بدء التسجيل</translation>
 <translation id="7203585745079012652">النطق بالإجابات</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">فتح في وضع التصفح المتخفي</translation>
 <translation id="8517375800490286174">تراخيص البرامج المفتوحة المصدر</translation>
 <translation id="8524799873541103884">علامات تبويب <ph name="INCOGNITO" /><ph name="FIRST_VISIBLE_TAB" /> عبر <ph name="LAST_VISIBLE_TAB" /> من <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">جديد</translation>
 <translation id="8532105204136943229">عام انتهاء الصلاحية</translation>
 <translation id="8534481786647257214">‏اكتمل النشر على Google+‎.</translation>
 <translation id="8548878600947630424">بحث في الصفحة...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
index 6ed3f042..83f63062f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -383,12 +383,14 @@
 <translation id="6903907808598579934">সিঙ্ক চালু করুন</translation>
 <translation id="6914583639806229067">আপনার কপি করা ছবি সার্চ করুন</translation>
 <translation id="6914783257214138813">এক্সপোর্ট করা ফাইল যারা দেখতে পান তারা আপনার পাসওয়ার্ডগুলিও দেখতে পাবেন।</translation>
+<translation id="692898627499215142">সিঙ্কের প্রাথমিক সেট-আপ সম্পূর্ণ হয়নি। সিঙ্ক চালু করতে, সেটি টগল করুন।</translation>
 <translation id="6944369514868857500">অন্য অ্যাকাউন্ট বেছে নিন</translation>
 <translation id="6945221475159498467">নির্বাচন</translation>
 <translation id="6973630695168034713">ফোল্ডারগুলি</translation>
 <translation id="6979158407327259162">Google ড্রাইভ</translation>
 <translation id="7004499039102548441">সাম্প্রতিক ট্যাবগুলি</translation>
 <translation id="7006788746334555276">সামগ্রী সেটিংস</translation>
+<translation id="7015203776128479407">সিঙ্কের প্রাথমিক সেট-আপ সম্পূর্ণ হয়নি। সিঙ্ক বন্ধ আছে।</translation>
 <translation id="7029809446516969842">পাসওয়ার্ড</translation>
 <translation id="7031882061095297553">এতে সিঙ্ক করুন</translation>
 <translation id="7053983685419859001">ব্লক করুন</translation>
@@ -400,6 +402,7 @@
 <translation id="7136892417564438900">ক্যামেরা অনুপলব্ধ</translation>
 <translation id="7159472599653637159">মোবাইল সাইটের জন্য অনুরোধ করুন</translation>
 <translation id="7167621057293532233">ডেটা প্রকার</translation>
+<translation id="7173114856073700355">সেটিংস খুলুন</translation>
 <translation id="7189598951263744875">শেয়ার করুন...</translation>
 <translation id="7192050974311852563">লগ করা শুরু করুন</translation>
 <translation id="7203585745079012652">আবার উত্তরগুলি বলে</translation>
@@ -476,6 +479,7 @@
 <translation id="850600235656508448">ছদ্মবেশী ট্যাবে খুলুন</translation>
 <translation id="8517375800490286174">ওপেন সোর্স লাইসেন্স</translation>
 <translation id="8524799873541103884"><ph name="NUMBER_OF_OPEN_TABS" />টির মধ্যে <ph name="FIRST_VISIBLE_TAB" /> থেকে <ph name="LAST_VISIBLE_TAB" /> পর্যন্ত <ph name="INCOGNITO" /> ট্যাব</translation>
+<translation id="8529767659511976195">নতুন</translation>
 <translation id="8532105204136943229">মেয়াদপূর্তির বছর</translation>
 <translation id="8534481786647257214">Google+ পোষ্ট সম্পূর্ণ হয়েছে৷</translation>
 <translation id="8548878600947630424">পৃষ্ঠাটি খুঁজুন...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
index 7d097d9a..133e0bf 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -397,7 +397,7 @@
 <translation id="7108338896283013870">Amaga</translation>
 <translation id="7133798577887235672">Nom complet</translation>
 <translation id="7136892417564438900">La càmera no està disponible</translation>
-<translation id="7159472599653637159">Sol·licita lloc per a mòbils</translation>
+<translation id="7159472599653637159">Sol·licita lloc web per a mòbils</translation>
 <translation id="7167621057293532233">Tipus de dades</translation>
 <translation id="7189598951263744875">Comparteix...</translation>
 <translation id="7192050974311852563">Inicia el registre</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
index c3d0fe2..eec78fa 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Zapnout synchronizaci</translation>
 <translation id="6914583639806229067">Vyhledat zkopírovaný obrázek</translation>
 <translation id="6914783257214138813">Vaše hesla uvidí každý, kdo může zobrazit exportovaný soubor.</translation>
+<translation id="692898627499215142">Počáteční nastavení synchronizace nebylo dokončeno. Chcete-li synchronizaci spustit, zapněte přepínač Synchronizace.</translation>
 <translation id="6944369514868857500">Vybrat jiný účet</translation>
 <translation id="6945221475159498467">Vybrat</translation>
 <translation id="6973630695168034713">Složky</translation>
 <translation id="6979158407327259162">Disk Google</translation>
 <translation id="7004499039102548441">Nedávno použité karty</translation>
 <translation id="7006788746334555276">Nastavení obsahu</translation>
+<translation id="7015203776128479407">Počáteční nastavení synchronizace nebylo dokončeno. Synchronizace je vypnutá.</translation>
 <translation id="7029809446516969842">Hesla</translation>
 <translation id="7031882061095297553">Synchronizace s účty</translation>
 <translation id="7053983685419859001">Blokovat</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Kamera je nedostupná</translation>
 <translation id="7159472599653637159">Vyžádat web pro mobily</translation>
 <translation id="7167621057293532233">Typy dat</translation>
+<translation id="7173114856073700355">Otevřít nastavení</translation>
 <translation id="7189598951263744875">Sdílet...</translation>
 <translation id="7192050974311852563">Začít protokolovat</translation>
 <translation id="7203585745079012652">Vyslovovat odpovědi</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Otevřít v anonymním okně</translation>
 <translation id="8517375800490286174">Licence open source</translation>
 <translation id="8524799873541103884"><ph name="INCOGNITO" /> – karty <ph name="FIRST_VISIBLE_TAB" /> až <ph name="LAST_VISIBLE_TAB" /> z <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Nové</translation>
 <translation id="8532105204136943229">Rok vypršení platnosti</translation>
 <translation id="8534481786647257214">Příspěvek na Google+ byl odeslán.</translation>
 <translation id="8548878600947630424">Hledat na stránce...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb
index 457b1ad..0505c88 100644
--- a/ios/chrome/app/strings/resources/ios_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Aktivér synkronisering</translation>
 <translation id="6914583639806229067">Søg efter billede, du har kopieret</translation>
 <translation id="6914783257214138813">Dine adgangskoder vil være synlige for alle, der kan se den eksporterede fil.</translation>
+<translation id="692898627499215142">Den indledende konfiguration af synkronisering blev ikke afsluttet. Slå Synkronisering til for at starte synkroniseringen.</translation>
 <translation id="6944369514868857500">Vælg en anden konto</translation>
 <translation id="6945221475159498467">Vælg</translation>
 <translation id="6973630695168034713">Mapper</translation>
 <translation id="6979158407327259162">Google Drev</translation>
 <translation id="7004499039102548441">Seneste faner</translation>
 <translation id="7006788746334555276">Indstillinger for indhold</translation>
+<translation id="7015203776128479407">Den indledende konfiguration af synkronisering blev ikke afsluttet. Synkronisering er deaktiveret.</translation>
 <translation id="7029809446516969842">Adgangskoder</translation>
 <translation id="7031882061095297553">Synkroniser til</translation>
 <translation id="7053983685419859001">Bloker</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Kameraet er ikke tilgængeligt</translation>
 <translation id="7159472599653637159">Anmod om mobilversion</translation>
 <translation id="7167621057293532233">Datatyper</translation>
+<translation id="7173114856073700355">Åbn Indstillinger</translation>
 <translation id="7189598951263744875">Del...</translation>
 <translation id="7192050974311852563">Start logføring</translation>
 <translation id="7203585745079012652">Giv talte svar</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Åbn i inkognitotilstand</translation>
 <translation id="8517375800490286174">Open source-licenser</translation>
 <translation id="8524799873541103884"><ph name="INCOGNITO" />-fane <ph name="FIRST_VISIBLE_TAB" /> til <ph name="LAST_VISIBLE_TAB" /> af <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Ny</translation>
 <translation id="8532105204136943229">Udløbsår</translation>
 <translation id="8534481786647257214">Indlæg delt på Google+.</translation>
 <translation id="8548878600947630424">Find på siden...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index 6cdd55d..39c33d4e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -383,12 +383,14 @@
 <translation id="6903907808598579934">Ενεργοποίηση συγχρονισμού</translation>
 <translation id="6914583639806229067">Αναζήτηση της εικόνας που αντιγράψατε</translation>
 <translation id="6914783257214138813">Οι κωδικοί πρόσβασής σας θα είναι ορατοί σε οποιονδήποτε μπορεί να δει το αρχείο εξαγωγής.</translation>
+<translation id="692898627499215142">Η αρχική ρύθμιση του συγχρονισμού δεν τελείωσε. Για να ξεκινήσει ο συγχρονισμός, ενεργοποιήστε τον από το κουμπί εναλλαγής κατάστασης συγχρονισμού.</translation>
 <translation id="6944369514868857500">Επιλογή άλλου λογαριασμού</translation>
 <translation id="6945221475159498467">Επιλογή</translation>
 <translation id="6973630695168034713">Φάκελοι</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Πρόσφατες καρτέλες</translation>
 <translation id="7006788746334555276">Ρυθμίσεις περιεχομένου</translation>
+<translation id="7015203776128479407">Η αρχική ρύθμιση του συγχρονισμού δεν τελείωσε. Ο συγχρονισμός είναι απενεργοποιημένος.</translation>
 <translation id="7029809446516969842">Κωδ. πρόσβασης</translation>
 <translation id="7031882061095297553">Συγχρονισμός με</translation>
 <translation id="7053983685419859001">Αποκλεισμός</translation>
@@ -400,6 +402,7 @@
 <translation id="7136892417564438900">Η κάμερα δεν είναι διαθέσιμη</translation>
 <translation id="7159472599653637159">Αίτηση ιστότ. για κινητά</translation>
 <translation id="7167621057293532233">Τύποι δεδομένων</translation>
+<translation id="7173114856073700355">Άνοιγμα ρυθμίσεων</translation>
 <translation id="7189598951263744875">Κοινοποίηση…</translation>
 <translation id="7192050974311852563">Έναρξη καταγραφής</translation>
 <translation id="7203585745079012652">Εκφώνηση απαντήσεων</translation>
@@ -476,6 +479,7 @@
 <translation id="850600235656508448">Άνοιγμα σε κατάσταση ανώνυμης περιήγησης</translation>
 <translation id="8517375800490286174">Άδειες λογισμ. ανοικτού κώδικα</translation>
 <translation id="8524799873541103884"><ph name="INCOGNITO" /> Καρτέλες <ph name="FIRST_VISIBLE_TAB" /> έως <ph name="LAST_VISIBLE_TAB" /> από <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Νέο</translation>
 <translation id="8532105204136943229">Έτος λήξης</translation>
 <translation id="8534481786647257214">Η ανάρτηση Google+ ολοκληρώθηκε.</translation>
 <translation id="8548878600947630424">Εύρεση στη σελίδα...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb
index 3113cb8..6732452a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Lülita sünkroonimine sisse</translation>
 <translation id="6914583639806229067">Otsi kopeeritud pilti</translation>
 <translation id="6914783257214138813">Teie paroolid on nähtavad kõigile, kes saavad vaadata eksporditud faili.</translation>
+<translation id="692898627499215142">Sünkroonimise algseadistust ei viidud lõpule. Sünkroonimise käivitamiseks lubage sünkroonimise lüliti</translation>
 <translation id="6944369514868857500">Valige muu konto</translation>
 <translation id="6945221475159498467">Vali</translation>
 <translation id="6973630695168034713">Kaustad</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Hiljutised vahelehed</translation>
 <translation id="7006788746334555276">Sisu seaded</translation>
+<translation id="7015203776128479407">Sünkroonimise algseadistust ei viidud lõpule. Sünkroonimine on välja lülitatud.</translation>
 <translation id="7029809446516969842">Paroolid</translation>
 <translation id="7031882061095297553">Sünkroonimine:</translation>
 <translation id="7053983685419859001">Blokeeri</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Kaamera pole saadaval</translation>
 <translation id="7159472599653637159">Taotle mobiilisaiti</translation>
 <translation id="7167621057293532233">Andmetüübid</translation>
+<translation id="7173114856073700355">Ava seaded</translation>
 <translation id="7189598951263744875">Jaga ...</translation>
 <translation id="7192050974311852563">Alusta logimist</translation>
 <translation id="7203585745079012652">Vastuste esitamine</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Ava inkognito režiimis</translation>
 <translation id="8517375800490286174">Avatud lähtekoodi litsentsid</translation>
 <translation id="8524799873541103884"><ph name="INCOGNITO" /> vahelehed <ph name="FIRST_VISIBLE_TAB" />–<ph name="LAST_VISIBLE_TAB" />/<ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Uus</translation>
 <translation id="8532105204136943229">Aegumisaasta</translation>
 <translation id="8534481786647257214">Google+ postitus on valmis.</translation>
 <translation id="8548878600947630424">Otsi lehelt ...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index 37dfe4370..703512f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">روشن کردن همگام‌سازی</translation>
 <translation id="6914583639806229067">جستجوی تصویری که کپی کرده‌اید</translation>
 <translation id="6914783257214138813">گذرواژه‌های شما برای همه افرادی که می‌توانند فایل صادرشده را ببینید، نمایان خواهند بود.</translation>
+<translation id="692898627499215142">راه‌اندازی اولیه همگام‌سازی کامل نشد. برای شروع همگام‌سازی، روشن/خاموش کردن همگام‌سازی را فعال کنید.</translation>
 <translation id="6944369514868857500">انتخاب حسابی دیگر</translation>
 <translation id="6945221475159498467">انتخاب</translation>
 <translation id="6973630695168034713">پوشه‌ها</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">برگه‌های جدید</translation>
 <translation id="7006788746334555276">تنظیمات محتوا</translation>
+<translation id="7015203776128479407">راه‌اندازی اولیه همگام‌سازی کامل نشد. همگام‌سازی خاموش است.</translation>
 <translation id="7029809446516969842">گذرواژه‌ها</translation>
 <translation id="7031882061095297553">همگام‌سازی در</translation>
 <translation id="7053983685419859001">مسدود کردن</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">دوربین غیرقابل‌ دسترسی است</translation>
 <translation id="7159472599653637159">درخواست سایت ویژه دستگاه همراه</translation>
 <translation id="7167621057293532233">انواع داده</translation>
+<translation id="7173114856073700355">باز کردن تنظیمات</translation>
 <translation id="7189598951263744875">در حال اشتراک‌گذاری...</translation>
 <translation id="7192050974311852563">شروع گزارش‌گیری</translation>
 <translation id="7203585745079012652">پاسخ گفتاری</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">باز کردن در حالت ناشناس</translation>
 <translation id="8517375800490286174">مجوزهای منبع باز</translation>
 <translation id="8524799873541103884">برگه‌های <ph name="INCOGNITO" />،‏ <ph name="FIRST_VISIBLE_TAB" /> تا <ph name="LAST_VISIBLE_TAB" /> از <ph name="NUMBER_OF_OPEN_TABS" /> برگه</translation>
+<translation id="8529767659511976195">جدید</translation>
 <translation id="8532105204136943229">سال انقضا</translation>
 <translation id="8534481786647257214">‏پست +Google ارسال شد.</translation>
 <translation id="8548878600947630424">یافتن در صفحه…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
index e2c3815..26f7e3b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">સમન્વયન ચાલુ કરો</translation>
 <translation id="6914583639806229067">તમે કૉપિ કરેલી છબી માટે શોધ કરો</translation>
 <translation id="6914783257214138813">જે કોઈપણ તમારી નિકાસ કરેલ પાસવર્ડની ફાઇલને જોઈ શકશે, તેમને તમારા પાસવર્ડ પણ દૃશ્યક્ષમ થશે.</translation>
+<translation id="692898627499215142">આરંભિક સિંક સેટઅપ પૂરું થયું નથી. સિંક કરવાનું ચાલુ કરવા માટે સિંક ટૉગલ ચાલુ કર્યું.</translation>
 <translation id="6944369514868857500">બીજું એકાઉન્ટ પસંદ કરો</translation>
 <translation id="6945221475159498467">પસંદ કરો</translation>
 <translation id="6973630695168034713">ફોલ્ડર્સ</translation>
 <translation id="6979158407327259162">Google ડ્રાઇવ</translation>
 <translation id="7004499039102548441">તાજેતરના ટૅબ્સ</translation>
 <translation id="7006788746334555276">કન્ટેન્ટ સેટિંગ</translation>
+<translation id="7015203776128479407">આરંભિક સિંક સેટઅપ પૂરું થયું નથી. સિંક કરવાનું બંધ છે.</translation>
 <translation id="7029809446516969842">પાસવર્ડ્સ</translation>
 <translation id="7031882061095297553">આના પર સમન્વયિત કરો</translation>
 <translation id="7053983685419859001">અવરોધિત કરો</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">કૅમેરો અનુપલબ્ધ છે</translation>
 <translation id="7159472599653637159">મોબાઇલ સાઇટની વિનંતી કરો</translation>
 <translation id="7167621057293532233">ડેટા પ્રકાર</translation>
+<translation id="7173114856073700355">સેટિંગ ખોલો</translation>
 <translation id="7189598951263744875">શેર કરો...</translation>
 <translation id="7192050974311852563">લૉગિંગ શરૂ કરો</translation>
 <translation id="7203585745079012652">જવાબો પાછા બોલો</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">છુપામાં ખોલો</translation>
 <translation id="8517375800490286174">ઓપન સોર્સ લાઇસન્સ</translation>
 <translation id="8524799873541103884"><ph name="NUMBER_OF_OPEN_TABS" /> ના  <ph name="FIRST_VISIBLE_TAB" /> થી <ph name="LAST_VISIBLE_TAB" /> સુધી <ph name="INCOGNITO" /> ટેબ્સ</translation>
+<translation id="8529767659511976195">નવી</translation>
 <translation id="8532105204136943229">સમય સમાપ્તિ વર્ષ</translation>
 <translation id="8534481786647257214">Google+ પોસ્ટ પૂર્ણ કરેલ છે.</translation>
 <translation id="8548878600947630424">પૃષ્ઠમાં શોધો...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
index 10077cd..2bcb7ff 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">समन्वयन चालू करें</translation>
 <translation id="6914583639806229067">जो इमेज आपने कॉपी की थी वह खोजें</translation>
 <translation id="6914783257214138813">आपके पासवर्ड, निर्यात की गई फ़ाइल देख पाने वाले सभी व्यक्तियों को दिखाई देंगे.</translation>
+<translation id="692898627499215142">शुरुआती सिंक सेटअप पूरा नहीं हुआ. 'सिंक' शुरू करने के लिए, 'सिंक' टॉगल चालू करें.</translation>
 <translation id="6944369514868857500">दूसरा खाता चुनें</translation>
 <translation id="6945221475159498467">चुनें</translation>
 <translation id="6973630695168034713">फ़ोल्डर</translation>
 <translation id="6979158407327259162">Google डिस्क</translation>
 <translation id="7004499039102548441">हाल के टैब</translation>
 <translation id="7006788746334555276">सामग्री सेटिंग</translation>
+<translation id="7015203776128479407">शुरुआती सिंक सेटअप पूरा नहीं हुआ. सिंक बंद है.</translation>
 <translation id="7029809446516969842">पासवर्ड</translation>
 <translation id="7031882061095297553">इसमें समन्वयित करें</translation>
 <translation id="7053983685419859001">ब्लॉक करें</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">कैमरा अनुपलब्ध है</translation>
 <translation id="7159472599653637159">मोबाइल साइट का अनुरोध करें</translation>
 <translation id="7167621057293532233">डेटा प्रकार</translation>
+<translation id="7173114856073700355">सेटिंग खोलें</translation>
 <translation id="7189598951263744875">शेयर करें...</translation>
 <translation id="7192050974311852563">लॉग करना शुरू करें</translation>
 <translation id="7203585745079012652">उत्तर फिर से बोलें</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">गुप्त में खोलें</translation>
 <translation id="8517375800490286174">ओपन सोर्स लाइसेंस</translation>
 <translation id="8524799873541103884"><ph name="NUMBER_OF_OPEN_TABS" /> में से <ph name="FIRST_VISIBLE_TAB" /> से लेकर <ph name="LAST_VISIBLE_TAB" /> तक <ph name="INCOGNITO" /> टैब</translation>
+<translation id="8529767659511976195">नई</translation>
 <translation id="8532105204136943229">समाप्‍ति वर्ष</translation>
 <translation id="8534481786647257214">Google+ पोस्ट पूर्ण.</translation>
 <translation id="8548878600947630424">पेज में ढूंढें...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index 70c5957..9147bcd9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Uključi sinkronizaciju</translation>
 <translation id="6914583639806229067">Pretraživanje slike koju ste kopirali</translation>
 <translation id="6914783257214138813">Vaše zaporke bit će vidljive svima koji vide izvezenu datoteku.</translation>
+<translation id="692898627499215142">Početno postavljanje sinkronizacije nije dovršeno. Za pokretanje sinkronizacije omogućite prekidač Sinkronizacija.</translation>
 <translation id="6944369514868857500">Odaberite neki drugi račun</translation>
 <translation id="6945221475159498467">Odaberi</translation>
 <translation id="6973630695168034713">Mape</translation>
 <translation id="6979158407327259162">Google disk</translation>
 <translation id="7004499039102548441">Nedavne kartice</translation>
 <translation id="7006788746334555276">Postavke sadržaja</translation>
+<translation id="7015203776128479407">Početno postavljanje sinkronizacije nije dovršeno. Sinkronizacija je isključena.</translation>
 <translation id="7029809446516969842">Zaporke</translation>
 <translation id="7031882061095297553">Sinkronizacija s računima</translation>
 <translation id="7053983685419859001">Blokiraj</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Fotoaparat nije dostupan</translation>
 <translation id="7159472599653637159">Prikaži mob. str.</translation>
 <translation id="7167621057293532233">Vrste podataka</translation>
+<translation id="7173114856073700355">Otvorite Postavke</translation>
 <translation id="7189598951263744875">Dijeli...</translation>
 <translation id="7192050974311852563">Započni zapisivanje</translation>
 <translation id="7203585745079012652">Izgovaranje odgovora</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Otvori u anonimnom načinu</translation>
 <translation id="8517375800490286174">Licence otvorenog koda</translation>
 <translation id="8524799873541103884">Kartice <ph name="INCOGNITO" /> od <ph name="FIRST_VISIBLE_TAB" /> do <ph name="LAST_VISIBLE_TAB" /> od ukupno <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Novo</translation>
 <translation id="8532105204136943229">Godina isteka</translation>
 <translation id="8534481786647257214">Dovršen je post za Google+.</translation>
 <translation id="8548878600947630424">Traženje na stranici...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index 3b5b1185..265152a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Szinkronizálás bekapcsolása</translation>
 <translation id="6914583639806229067">Vágólapra másolt kép keresése</translation>
 <translation id="6914783257214138813">Jelszavai mindenki számára láthatók lesznek, aki hozzáfér az exportált fájlhoz.</translation>
+<translation id="692898627499215142">A szinkronizálás kezdeti beállítása nem fejeződött be. A szinkronizálás indításához kapcsolja be a Szinkronizálás kapcsolót.</translation>
 <translation id="6944369514868857500">Másik fiók választása</translation>
 <translation id="6945221475159498467">Kiválasztás</translation>
 <translation id="6973630695168034713">Mappák</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Nemrég megnyitott lapok</translation>
 <translation id="7006788746334555276">Tartalombeállítások</translation>
+<translation id="7015203776128479407">A szinkronizálás kezdeti beállítása nem fejeződött be. A szinkronizálás ki van kapcsolva.</translation>
 <translation id="7029809446516969842">Jelszavak</translation>
 <translation id="7031882061095297553">Szinkronizálás a következőknél</translation>
 <translation id="7053983685419859001">Letiltás</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">A kamera nem áll rendelkezésre</translation>
 <translation id="7159472599653637159">Mobilwebhely kérése</translation>
 <translation id="7167621057293532233">Adattípusok</translation>
+<translation id="7173114856073700355">Beállítások megnyitása</translation>
 <translation id="7189598951263744875">Megosztás...</translation>
 <translation id="7192050974311852563">Naplózás indítása</translation>
 <translation id="7203585745079012652">Mondja ki a válaszokat</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Megnyitás inkognitómódban</translation>
 <translation id="8517375800490286174">Nyílt forráskódú licencek</translation>
 <translation id="8524799873541103884">Lapok <ph name="INCOGNITO" /> módban: <ph name="FIRST_VISIBLE_TAB" />–<ph name="LAST_VISIBLE_TAB" />/<ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Új</translation>
 <translation id="8532105204136943229">Lejárat éve</translation>
 <translation id="8534481786647257214">A Google+-bejegyzés kész.</translation>
 <translation id="8548878600947630424">Keresés az oldalon...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
index 30962dd..fa0491d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">同期を有効にする</translation>
 <translation id="6914583639806229067">コピーした画像を検索</translation>
 <translation id="6914783257214138813">エクスポートしたファイルを閲覧できるユーザーにパスワードを知られてしまう可能性があります。</translation>
+<translation id="692898627499215142">最初の同期設定が終了していません。同期を開始するには、同期をオンにしてください。</translation>
 <translation id="6944369514868857500">別のアカウントを選択</translation>
 <translation id="6945221475159498467">選択</translation>
 <translation id="6973630695168034713">フォルダ</translation>
 <translation id="6979158407327259162">Google ドライブ</translation>
 <translation id="7004499039102548441">最近使ったタブ</translation>
 <translation id="7006788746334555276">コンテンツの設定</translation>
+<translation id="7015203776128479407">最初の同期設定が終了していません。同期は無効です。</translation>
 <translation id="7029809446516969842">パスワード</translation>
 <translation id="7031882061095297553">同期先</translation>
 <translation id="7053983685419859001">ブロック</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">カメラを使用できません</translation>
 <translation id="7159472599653637159">モバイルサイトをリクエスト</translation>
 <translation id="7167621057293532233">データの種類</translation>
+<translation id="7173114856073700355">設定を開く</translation>
 <translation id="7189598951263744875">共有...</translation>
 <translation id="7192050974311852563">ログ記録を開始</translation>
 <translation id="7203585745079012652">回答を音声で聞く</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">シークレット モードで開く</translation>
 <translation id="8517375800490286174">オープンソースライセンス</translation>
 <translation id="8524799873541103884"><ph name="INCOGNITO" />タブ: <ph name="FIRST_VISIBLE_TAB" />~<ph name="LAST_VISIBLE_TAB" />/<ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">新規</translation>
 <translation id="8532105204136943229">有効期限(年)</translation>
 <translation id="8534481786647257214">Google+への投稿が完了しました。</translation>
 <translation id="8548878600947630424">ページ内を検索...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
index 8135e54..70d546b5 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Ieslēgt sinhronizāciju</translation>
 <translation id="6914583639806229067">Meklēt jūsu kopēto attēlu</translation>
 <translation id="6914783257214138813">Jūsu paroles būs redzamas ikvienam, kas var skatīt eksportēto failu.</translation>
+<translation id="692898627499215142">Sākotnējā sinhronizācijas iestatīšana netika pabeigta. Lai sāktu sinhronizāciju, iespējojiet sinhronizācijas slēdzi.</translation>
 <translation id="6944369514868857500">Izvēlēties citu kontu</translation>
 <translation id="6945221475159498467">Atlasīt</translation>
 <translation id="6973630695168034713">Mapes</translation>
 <translation id="6979158407327259162">Google disks</translation>
 <translation id="7004499039102548441">Nesen atvērtas cilnes</translation>
 <translation id="7006788746334555276">Satura iestatījumi</translation>
+<translation id="7015203776128479407">Sākotnējā sinhronizācijas iestatīšana netika pabeigta. Sinhronizācija ir izslēgta.</translation>
 <translation id="7029809446516969842">Paroles</translation>
 <translation id="7031882061095297553">Sinhronizēt ar:</translation>
 <translation id="7053983685419859001">Bloķēt</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Kamera nav pieejama.</translation>
 <translation id="7159472599653637159">Pieprasīt mobilo vietni</translation>
 <translation id="7167621057293532233">Datu tipi</translation>
+<translation id="7173114856073700355">Atvērt iestatījumus</translation>
 <translation id="7189598951263744875">Kopīgot...</translation>
 <translation id="7192050974311852563">Sākt reģistrēšanu</translation>
 <translation id="7203585745079012652">Izrunāt atbildes skaļi</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Atvērt inkognito režīmā</translation>
 <translation id="8517375800490286174">Atklātā pirmkoda licences</translation>
 <translation id="8524799873541103884"><ph name="INCOGNITO" /> <ph name="FIRST_VISIBLE_TAB" />.–<ph name="LAST_VISIBLE_TAB" />. cilne no <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Jaunums</translation>
 <translation id="8532105204136943229">Der. term. gads</translation>
 <translation id="8534481786647257214">Google+ ziņa izveidota.</translation>
 <translation id="8548878600947630424">Atrast lapā...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index 70acf6c..7af2181 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Włącz synchronizację</translation>
 <translation id="6914583639806229067">Wyszukaj skopiowany obraz</translation>
 <translation id="6914783257214138813">Twoje hasła będą widoczne dla każdego, kto może zobaczyć wyeksportowany plik.</translation>
+<translation id="692898627499215142">Nie ukończono początkowej konfiguracji synchronizacji. Aby rozpocząć synchronizację, włącz przełącznik Synchronizuj.</translation>
 <translation id="6944369514868857500">Wybierz inne konto</translation>
 <translation id="6945221475159498467">Wybierz</translation>
 <translation id="6973630695168034713">Foldery</translation>
 <translation id="6979158407327259162">Dysk Google</translation>
 <translation id="7004499039102548441">Ostatnie karty</translation>
 <translation id="7006788746334555276">Ustawienia treści</translation>
+<translation id="7015203776128479407">Nie ukończono początkowej konfiguracji synchronizacji. Synchronizacja jest wyłączona.</translation>
 <translation id="7029809446516969842">Hasła</translation>
 <translation id="7031882061095297553">Synchronizuj z</translation>
 <translation id="7053983685419859001">Blokuj</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Aparat jest niedostępny</translation>
 <translation id="7159472599653637159">Żądaj strony mobilnej</translation>
 <translation id="7167621057293532233">Typy danych</translation>
+<translation id="7173114856073700355">Otwórz Ustawienia</translation>
 <translation id="7189598951263744875">Udostępnij...</translation>
 <translation id="7192050974311852563">Uruchom rejestrowanie</translation>
 <translation id="7203585745079012652">Odczytuj odpowiedzi</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Otwórz w trybie incognito</translation>
 <translation id="8517375800490286174">Licencje typu open source</translation>
 <translation id="8524799873541103884">Karty <ph name="INCOGNITO" /> od <ph name="FIRST_VISIBLE_TAB" /> do <ph name="LAST_VISIBLE_TAB" /> z <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Nowość</translation>
 <translation id="8532105204136943229">Rok utraty ważności</translation>
 <translation id="8534481786647257214">Wpis w Google+ opublikowany.</translation>
 <translation id="8548878600947630424">Znajdź na stronie...</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 afd9e45..9fb45a7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Ativar a sincronização</translation>
 <translation id="6914583639806229067">Pesquisar imagem que você copiou</translation>
 <translation id="6914783257214138813">Suas senhas ficarão visíveis para qualquer pessoa que tiver acesso ao arquivo exportado.</translation>
+<translation id="692898627499215142">A configuração de sincronização inicial não foi concluída. Para iniciar a sincronização, ative essa opção.</translation>
 <translation id="6944369514868857500">Escolher outra conta</translation>
 <translation id="6945221475159498467">Selecionar</translation>
 <translation id="6973630695168034713">Pastas</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Guias recentes</translation>
 <translation id="7006788746334555276">Configurações de conteúdo</translation>
+<translation id="7015203776128479407">A configuração de sincronização inicial não foi concluída. A sincronização está desativada.</translation>
 <translation id="7029809446516969842">Senhas</translation>
 <translation id="7031882061095297553">Sincronizar com</translation>
 <translation id="7053983685419859001">Bloquear</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">A câmera não está disponível</translation>
 <translation id="7159472599653637159">Solicitar um site para dispositivos móveis</translation>
 <translation id="7167621057293532233">Tipos de dados</translation>
+<translation id="7173114856073700355">Abrir "Configurações"</translation>
 <translation id="7189598951263744875">Compartilhar...</translation>
 <translation id="7192050974311852563">Iniciar registro</translation>
 <translation id="7203585745079012652">Falar as respostas</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Abrir em modo de navegação anônima</translation>
 <translation id="8517375800490286174">Licenças de código aberto</translation>
 <translation id="8524799873541103884"><ph name="INCOGNITO" /> Guias <ph name="FIRST_VISIBLE_TAB" /> a <ph name="LAST_VISIBLE_TAB" /> de <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Novo</translation>
 <translation id="8532105204136943229">Ano de vencimento</translation>
 <translation id="8534481786647257214">A postagem no Google+ foi concluída.</translation>
 <translation id="8548878600947630424">Encontrar na página...</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 8cee942..5a05800 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Ativar sincronização</translation>
 <translation id="6914583639806229067">Pesquisar imagem que copiou</translation>
 <translation id="6914783257214138813">As suas palavras-passe serão visíveis para todas as pessoas que consigam ver o ficheiro exportado.</translation>
+<translation id="692898627499215142">A configuração da sincronização inicial não foi concluída. Para iniciar a sincronização, ative o botão de ativar/desativar Sincronizar.</translation>
 <translation id="6944369514868857500">Selecionar outra conta</translation>
 <translation id="6945221475159498467">Selecionar</translation>
 <translation id="6973630695168034713">Pastas</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Separadores recentes</translation>
 <translation id="7006788746334555276">Definições de Conteúdo</translation>
+<translation id="7015203776128479407">A configuração da sincronização inicial não foi concluída. A sincronização está desativada.</translation>
 <translation id="7029809446516969842">Palavras-passe</translation>
 <translation id="7031882061095297553">Sincronizar com</translation>
 <translation id="7053983685419859001">Bloquear</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">A câmara não está disponível</translation>
 <translation id="7159472599653637159">Pedir site para dispositivos móveis</translation>
 <translation id="7167621057293532233">Tipos de dados</translation>
+<translation id="7173114856073700355">Abrir Definições</translation>
 <translation id="7189598951263744875">Partilhar...</translation>
 <translation id="7192050974311852563">Iniciar registo</translation>
 <translation id="7203585745079012652">Ouvir Respostas</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Abrir no modo de navegação anónima</translation>
 <translation id="8517375800490286174">Licenças de Código Aberto</translation>
 <translation id="8524799873541103884">Separadores <ph name="INCOGNITO" /> <ph name="FIRST_VISIBLE_TAB" /> a <ph name="LAST_VISIBLE_TAB" /> de <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Novo</translation>
 <translation id="8532105204136943229">Ano de validade</translation>
 <translation id="8534481786647257214">Publicação no Google+ concluído.</translation>
 <translation id="8548878600947630424">Localizar na página...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index d7ae18f7..45c6694 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Activează sincronizarea</translation>
 <translation id="6914583639806229067">Caută imaginea pe care ai copiat-o</translation>
 <translation id="6914783257214138813">Parolele vor fi vizibile pentru toți cei care pot vedea fișierul exportat.</translation>
+<translation id="692898627499215142">Configurarea inițială a sincronizării nu a fost finalizată. Pentru a porni sincronizarea, activează comutatorul de sincronizare.</translation>
 <translation id="6944369514868857500">Alege alt cont</translation>
 <translation id="6945221475159498467">Selectează</translation>
 <translation id="6973630695168034713">Dosare</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">File recente</translation>
 <translation id="7006788746334555276">Setări privind conținutul</translation>
+<translation id="7015203776128479407">Configurarea inițială a sincronizării nu a fost finalizată. Sincronizarea este dezactivată.</translation>
 <translation id="7029809446516969842">Parole</translation>
 <translation id="7031882061095297553">Sincronizează cu</translation>
 <translation id="7053983685419859001">Blochează</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Camera foto nu este disponibilă</translation>
 <translation id="7159472599653637159">Site mobil</translation>
 <translation id="7167621057293532233">Tipuri de date</translation>
+<translation id="7173114856073700355">Deschide Setările</translation>
 <translation id="7189598951263744875">Trimite...</translation>
 <translation id="7192050974311852563">Activează înregistrarea în jurnal</translation>
 <translation id="7203585745079012652">Primești răspunsuri vocale</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Deschide în modul incognito</translation>
 <translation id="8517375800490286174">Licențe open source</translation>
 <translation id="8524799873541103884">Filele <ph name="INCOGNITO" /> de la <ph name="FIRST_VISIBLE_TAB" /> la <ph name="LAST_VISIBLE_TAB" /> din <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Nou</translation>
 <translation id="8532105204136943229">An expirare</translation>
 <translation id="8534481786647257214">S-a postat pe Google+.</translation>
 <translation id="8548878600947630424">Găsește în pagină...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
index bd08cb9..cdf8d5fe 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Zapnúť synchronizáciu</translation>
 <translation id="6914583639806229067">Vyhľadať skopírovaný obrázok</translation>
 <translation id="6914783257214138813">Vaše heslá uvidí každý, kto si môže zobraziť exportovaný súbor.</translation>
+<translation id="692898627499215142">Počiatočné nastavenie synchronizácie nebolo dokončené. Ak chcete spustiť synchronizáciu, zapnite jej prepínač.</translation>
 <translation id="6944369514868857500">Vybrať iný účet</translation>
 <translation id="6945221475159498467">Vybrať</translation>
 <translation id="6973630695168034713">Priečinky</translation>
 <translation id="6979158407327259162">Disk Google</translation>
 <translation id="7004499039102548441">Nedávne karty</translation>
 <translation id="7006788746334555276">Nastavenia obsahu</translation>
+<translation id="7015203776128479407">Počiatočné nastavenie synchronizácie nebolo dokončené. Synchronizácia je vypnutá.</translation>
 <translation id="7029809446516969842">Heslá</translation>
 <translation id="7031882061095297553">Kam synchronizovať</translation>
 <translation id="7053983685419859001">Blokovať</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Kamera nie je k dispozícii</translation>
 <translation id="7159472599653637159">Vyžiadať stránky pre mobil</translation>
 <translation id="7167621057293532233">Typy údajov</translation>
+<translation id="7173114856073700355">Otvoriť Nastavenia</translation>
 <translation id="7189598951263744875">Zdieľať...</translation>
 <translation id="7192050974311852563">Spustiť zapisovanie do denníka</translation>
 <translation id="7203585745079012652">Vysloviť odpovede</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Otvoriť v režime inkognito</translation>
 <translation id="8517375800490286174">Licencie open source</translation>
 <translation id="8524799873541103884"><ph name="INCOGNITO" /> – karty <ph name="FIRST_VISIBLE_TAB" /> až <ph name="LAST_VISIBLE_TAB" /> z <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Nové</translation>
 <translation id="8532105204136943229">Rok vypršania platnosti</translation>
 <translation id="8534481786647257214">Príspevok bol uverejnený v Google+.</translation>
 <translation id="8548878600947630424">Nájsť na stránke...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
index e28090a..45a951af 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Укључи синхронизацију</translation>
 <translation id="6914583639806229067">Потражите слику коју сте копирали</translation>
 <translation id="6914783257214138813">Лозинке ће бити видљиве свима који могу да виде извезену датотеку.</translation>
+<translation id="692898627499215142">Почетно подешавање синхронизације није завршено. Да бисте покренули синхронизацију, омогућите прекидач за синхронизацију.</translation>
 <translation id="6944369514868857500">Одаберите други налог</translation>
 <translation id="6945221475159498467">Изабери</translation>
 <translation id="6973630695168034713">Директоријуми</translation>
 <translation id="6979158407327259162">Google диск</translation>
 <translation id="7004499039102548441">Недавне картице</translation>
 <translation id="7006788746334555276">Подешавања садржаја</translation>
+<translation id="7015203776128479407">Почетно подешавање синхронизације није завршено. Синхронизација је искључена.</translation>
 <translation id="7029809446516969842">Лозинке</translation>
 <translation id="7031882061095297553">Синхронизујте са</translation>
 <translation id="7053983685419859001">Блокирај</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Камера је недоступна</translation>
 <translation id="7159472599653637159">Захтевај мобилни сајт</translation>
 <translation id="7167621057293532233">Типови података</translation>
+<translation id="7173114856073700355">Отвори Подешавања</translation>
 <translation id="7189598951263744875">Дели...</translation>
 <translation id="7192050974311852563">Покрени евидентирање</translation>
 <translation id="7203585745079012652">Изговарај одговоре</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Отвори у режиму без архивирања</translation>
 <translation id="8517375800490286174">Лиценце отвореног кода</translation>
 <translation id="8524799873541103884">Картице <ph name="INCOGNITO" /> <ph name="FIRST_VISIBLE_TAB" /> до <ph name="LAST_VISIBLE_TAB" /> од <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Ново</translation>
 <translation id="8532105204136943229">Година истека</translation>
 <translation id="8534481786647257214">Google+ пост је довршен.</translation>
 <translation id="8548878600947630424">Пронађи на страници...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
index 2dbe079..3144f82d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">Aktivera synkronisering</translation>
 <translation id="6914583639806229067">Sök efter kopierad bild</translation>
 <translation id="6914783257214138813">Alla med tillgång till den exporterade filen kan läsa dina lösenord.</translation>
+<translation id="692898627499215142">Den initiala synkroniseringskonfigureringen avslutades inte. Aktivera synkroniseringsreglaget för att börja synkronisera.</translation>
 <translation id="6944369514868857500">Välj ett annat konto</translation>
 <translation id="6945221475159498467">Välj</translation>
 <translation id="6973630695168034713">Mappar</translation>
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Senaste flikarna</translation>
 <translation id="7006788746334555276">Innehållsinställningar</translation>
+<translation id="7015203776128479407">Den initiala synkroniseringskonfigureringen avslutades inte. Synkroniseringen är inaktiverad.</translation>
 <translation id="7029809446516969842">Lösenord</translation>
 <translation id="7031882061095297553">Synkronisera med</translation>
 <translation id="7053983685419859001">Blockera</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">Kameran är inte tillgänglig</translation>
 <translation id="7159472599653637159">Använd mobilversion</translation>
 <translation id="7167621057293532233">Datatyper</translation>
+<translation id="7173114856073700355">Inställningar</translation>
 <translation id="7189598951263744875">Dela ...</translation>
 <translation id="7192050974311852563">Starta loggning</translation>
 <translation id="7203585745079012652">Läs upp svaren</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">Öppna i inkognitoläge</translation>
 <translation id="8517375800490286174">Licenser för öppen källkod</translation>
 <translation id="8524799873541103884"><ph name="INCOGNITO" />-flikarna <ph name="FIRST_VISIBLE_TAB" /> till <ph name="LAST_VISIBLE_TAB" /> av <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">Ny</translation>
 <translation id="8532105204136943229">Sista giltighetsår</translation>
 <translation id="8534481786647257214">Inlägg på Google+ klart.</translation>
 <translation id="8548878600947630424">Hitta på sidan ...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index d4a7b0e1..a78a4a20 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -382,12 +382,14 @@
 <translation id="6903907808598579934">เปิดการซิงค์</translation>
 <translation id="6914583639806229067">ค้นหารูปภาพที่คุณคัดลอก</translation>
 <translation id="6914783257214138813">คนที่ดูไฟล์ที่ส่งออกได้จะเห็นรหัสผ่านของคุณ</translation>
+<translation id="692898627499215142">ตั้งค่าการซิงค์เริ่มต้นไม่สำเร็จ เลื่อนเปิดสวิตช์ "ซิงค์" เพื่อเริ่มซิงค์</translation>
 <translation id="6944369514868857500">เลือกบัญชีอื่น</translation>
 <translation id="6945221475159498467">เลือก</translation>
 <translation id="6973630695168034713">โฟลเดอร์</translation>
 <translation id="6979158407327259162">Google ไดรฟ์</translation>
 <translation id="7004499039102548441">แท็บล่าสุด</translation>
 <translation id="7006788746334555276">การตั้งค่าเนื้อหา</translation>
+<translation id="7015203776128479407">ตั้งค่าการซิงค์เริ่มต้นไม่สำเร็จ การซิงค์ปิดอยู่</translation>
 <translation id="7029809446516969842">รหัสผ่าน</translation>
 <translation id="7031882061095297553">ซิงค์กับ</translation>
 <translation id="7053983685419859001">บล็อก</translation>
@@ -399,6 +401,7 @@
 <translation id="7136892417564438900">กล้องถ่ายรูปไม่พร้อมใช้งาน</translation>
 <translation id="7159472599653637159">ขอเว็บไซต์สำหรับมือถือ</translation>
 <translation id="7167621057293532233">ประเภทข้อมูล</translation>
+<translation id="7173114856073700355">เปิดการตั้งค่า</translation>
 <translation id="7189598951263744875">แชร์...</translation>
 <translation id="7192050974311852563">เริ่มต้นการบันทึก</translation>
 <translation id="7203585745079012652">พูดคำตอบกลับ</translation>
@@ -475,6 +478,7 @@
 <translation id="850600235656508448">เปิดในโหมดไม่ระบุตัวตน</translation>
 <translation id="8517375800490286174">ใบอนุญาตโอเพนซอร์ส</translation>
 <translation id="8524799873541103884">แท็บ <ph name="INCOGNITO" /> <ph name="FIRST_VISIBLE_TAB" /> ถึง <ph name="LAST_VISIBLE_TAB" /> จาก <ph name="NUMBER_OF_OPEN_TABS" /></translation>
+<translation id="8529767659511976195">ใหม่</translation>
 <translation id="8532105204136943229">ปีที่หมดอายุ</translation>
 <translation id="8534481786647257214">โพสต์ใน Google+ แล้ว</translation>
 <translation id="8548878600947630424">ค้นหาในหน้าเว็บ...</translation>
diff --git a/ios/chrome/browser/overlays/BUILD.gn b/ios/chrome/browser/overlays/BUILD.gn
index 155d209..b1e55f3 100644
--- a/ios/chrome/browser/overlays/BUILD.gn
+++ b/ios/chrome/browser/overlays/BUILD.gn
@@ -3,26 +3,18 @@
 # found in the LICENSE file.
 
 source_set("overlays") {
-  sources = [
-    "overlay_request.h",
-    "overlay_request_queue.h",
-    "overlay_response.h",
-    "overlay_user_data.h",
+  public = [
+    "public/overlay_manager.h",
+    "public/overlay_manager_observer.h",
+    "public/overlay_modality.h",
+    "public/overlay_request.h",
+    "public/overlay_request_queue.h",
+    "public/overlay_response.h",
+    "public/overlay_user_data.h",
   ]
-
-  configs += [ "//build/config/compiler:enable_arc" ]
-
-  allow_circular_includes_from = [ ":internal" ]
-
-  deps = [
-    ":internal",
-    "//base",
-    "//ios/web/public",
-  ]
-}
-
-source_set("internal") {
   sources = [
+    "overlay_manager_impl.h",
+    "overlay_manager_impl.mm",
     "overlay_request_impl.cc",
     "overlay_request_impl.h",
     "overlay_request_queue_impl.h",
@@ -34,8 +26,12 @@
 
   configs += [ "//build/config/compiler:enable_arc" ]
 
+  friend = [ ":unit_tests" ]
+
   deps = [
     "//base",
+    "//ios/chrome/browser/main",
+    "//ios/chrome/browser/web_state_list",
     "//ios/web/public",
   ]
 }
@@ -43,6 +39,7 @@
 source_set("unit_tests") {
   testonly = true
   sources = [
+    "overlay_manager_impl_unittest.mm",
     "overlay_request_queue_impl_unittest.mm",
     "overlay_request_unittest.cc",
     "overlay_response_unittest.cc",
@@ -51,11 +48,16 @@
   configs += [ "//build/config/compiler:enable_arc" ]
 
   deps = [
-    ":internal",
     ":overlays",
     "//base/test:test_support",
+    "//ios/chrome/browser/browser_state:test_support",
+    "//ios/chrome/browser/main",
+    "//ios/chrome/browser/main:test_support",
     "//ios/chrome/browser/overlays/test",
+    "//ios/chrome/browser/web_state_list",
+    "//ios/chrome/browser/web_state_list:test_support",
     "//ios/web/public",
+    "//ios/web/public/test",
     "//ios/web/public/test/fakes",
     "//testing/gmock",
     "//testing/gtest",
diff --git a/ios/chrome/browser/overlays/README.md b/ios/chrome/browser/overlays/README.md
index 21ab6b9..20ba31d 100644
--- a/ios/chrome/browser/overlays/README.md
+++ b/ios/chrome/browser/overlays/README.md
@@ -1,22 +1,35 @@
-# OverlayService
+# OverlayManager
 
-OverlayService is used to schedule the display of UI over the content area of a
+OverlayManager is used to schedule the display of UI over the content area of a
 WebState.
 
 ## Classes of note:
 
+##### OverlayManager
+
+OverlayManager is the public interface to the manager's functionality.  Clients
+who wish to display overlay UI alongside a WebState's content area should use
+OverlayManager::AddRequest() to schedule overlays to be displayed in the future.
+Each OverlayManager manages overlays at a different level of modality, described
+by OverlayModality.
+
+##### OverlayManagerObserver
+
+OverlayManagerObserver notifies interested classes of when overlay UI is
+presented or dismissed.
+
 ##### OverlayRequest
 
-OverlayRequests are passed to OverlayService to trigger the display of overlay
-UI over a WebState's content area.  Service clients should create
+OverlayRequests are passed to OverlayManager to trigger the display of overlay
+UI over a WebState's content area.  Manager clients should create
 OverlayRequests with an OverlayUserData subclass with the information necessary
 to configure the overlay UI.  The config user data can later be extracted from
-OverlayRequests by the service's observers and UI delegate.
+OverlayRequests by the manager's observers and UI delegate.
 
 ##### OverlayResponse
 
 OverlayResponses are provided to each OverlayRequest to describe the user's
-interaction with the overlay UI.  Service clients should create OverlayResponses
+interaction with the overlay UI.  Manager clients should create OverlayResponses
 with an OverlayUserData subclass with the overlay UI user interaction
 information necessary to execute the callback for that overlay.
 
@@ -26,7 +39,18 @@
 that WebState.  The public interface exposes an immutable queue where the front
 OverlayRequest is visible.  Internally, the queue is mutable and observable.
 
-## Example usage of service:
+## Setting up OverlayManager:
+
+Multiple OverlayManagers may be active for a single Browser to manage overlay UI
+at different levels of modality (i.e. modal over WebState content area, modal
+over entire browser, etc).  In order to use the manager, clients must retrieve
+the OverlayManager associated with the key corresponding with the desired
+modality.
+
+Each instance of OverlayManager must be provided with an OverlayUIDelegate that
+manages the overlay UI at the modality associated with the manager.
+
+## Example usage of manager:
 
 ### Showing an alert with a title, message, an OK button, and a Cancel button
 
@@ -63,7 +87,13 @@
     OverlayRequest::CreateWithConfig<AlertConfig>(
         "alert title", "message text");
 
-*TODO: insert OverlayService calls when interface is added.*
+Manager clients can then supply this request to the OverlayManager for
+scheduling over the web content area:
+
+    OverlayModality modality =
+        OverlayModality::kWebContentArea;
+    OverlayManager::FromBrowser(browser, modality)->AddRequest(
+        std::move(request), web_state);
 
 #####3. Supply a response to the request.
 
@@ -72,6 +102,6 @@
     OverlayResponse::CreateWithInfo<AlertInfo>(0);
 
 
-*NOTE: this service is a work-in-progress, and this file only outlines how to
+*NOTE: this manager is a work-in-progress, and this file only outlines how to
 use the files currently in the repository.  It will be updated with more
-complete instructions as more of the service lands.*
+complete instructions as more of the manager lands.*
diff --git a/ios/chrome/browser/overlays/overlay_manager_impl.h b/ios/chrome/browser/overlays/overlay_manager_impl.h
new file mode 100644
index 0000000..5d18397
--- /dev/null
+++ b/ios/chrome/browser/overlays/overlay_manager_impl.h
@@ -0,0 +1,59 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_MANAGER_IMPL_H_
+#define IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_MANAGER_IMPL_H_
+
+#include <map>
+#include <memory>
+
+#include "base/observer_list.h"
+#include "ios/chrome/browser/overlays/public/overlay_manager.h"
+#include "ios/chrome/browser/overlays/public/overlay_user_data.h"
+
+class WebStateList;
+
+// Internal implementation of OverlayManager.
+class OverlayManagerImpl : public OverlayManager {
+ public:
+  ~OverlayManagerImpl() override;
+
+  // Container that stores the managers for each modality.  Usage example:
+  //
+  // OverlayManagerImpl::Container::FromUserData(browser)->
+  //     ManagerForModality(OverlayModality::kWebContentArea);
+  class Container : public OverlayUserData<Container> {
+   public:
+    ~Container() override;
+    // Returns the OverlayManagerImpl for |modality|.
+    OverlayManagerImpl* ManagerForModality(OverlayModality modality);
+
+   private:
+    OVERLAY_USER_DATA_SETUP(Container);
+    Container(WebStateList* web_state_list);
+
+    WebStateList* web_state_list_ = nullptr;
+    std::map<OverlayModality, std::unique_ptr<OverlayManagerImpl>> managers_;
+  };
+
+  // OverlayManager:
+  void AddObserver(OverlayManagerObserver* observer) override;
+  void RemoveObserver(OverlayManagerObserver* observer) override;
+  void AddRequest(std::unique_ptr<OverlayRequest> request,
+                  web::WebState* web_state) override;
+  OverlayRequestQueue* GetQueueForWebState(web::WebState* web_state) override;
+
+ private:
+  OverlayManagerImpl(OverlayModality modality, WebStateList* web_state_list);
+
+  // The manager's observers.
+  base::ObserverList<OverlayManagerObserver>::Unchecked observers_;
+  // The manager's modality.
+  OverlayModality modality_;
+  // The Browser's WebStateList.  Used to update overlay scheduling for when
+  // WebStates are removed from the Browser.
+  WebStateList* web_state_list_ = nullptr;
+};
+
+#endif  // IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_MANAGER_IMPL_H_
diff --git a/ios/chrome/browser/overlays/overlay_manager_impl.mm b/ios/chrome/browser/overlays/overlay_manager_impl.mm
new file mode 100644
index 0000000..128ea952
--- /dev/null
+++ b/ios/chrome/browser/overlays/overlay_manager_impl.mm
@@ -0,0 +1,78 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ios/chrome/browser/overlays/overlay_manager_impl.h"
+
+#include "base/logging.h"
+#include "base/memory/ptr_util.h"
+#import "ios/chrome/browser/main/browser.h"
+#import "ios/chrome/browser/overlays/overlay_request_queue_impl.h"
+#include "ios/chrome/browser/overlays/public/overlay_request.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+#pragma mark - Factory method
+
+// static
+OverlayManager* OverlayManager::FromBrowser(Browser* browser,
+                                            OverlayModality modality) {
+  OverlayManagerImpl::Container::CreateForUserData(browser,
+                                                   browser->GetWebStateList());
+  return OverlayManagerImpl::Container::FromUserData(browser)
+      ->ManagerForModality(modality);
+}
+
+#pragma mark - OverlayManagerImpl::Container
+
+OVERLAY_USER_DATA_SETUP_IMPL(OverlayManagerImpl::Container);
+
+OverlayManagerImpl::Container::Container(WebStateList* web_state_list)
+    : web_state_list_(web_state_list) {}
+
+OverlayManagerImpl::Container::~Container() = default;
+
+OverlayManagerImpl* OverlayManagerImpl::Container::ManagerForModality(
+    OverlayModality modality) {
+  auto& manager = managers_[modality];
+  if (!manager) {
+    manager =
+        base::WrapUnique(new OverlayManagerImpl(modality, web_state_list_));
+  }
+  return manager.get();
+}
+
+#pragma mark - OverlayManagerImpl
+
+OverlayManagerImpl::OverlayManagerImpl(OverlayModality modality,
+                                       WebStateList* web_state_list)
+    : modality_(modality), web_state_list_(web_state_list) {
+  DCHECK(web_state_list_);
+}
+
+OverlayManagerImpl::~OverlayManagerImpl() = default;
+
+void OverlayManagerImpl::AddObserver(OverlayManagerObserver* observer) {
+  observers_.AddObserver(observer);
+}
+
+void OverlayManagerImpl::RemoveObserver(OverlayManagerObserver* observer) {
+  observers_.RemoveObserver(observer);
+}
+
+void OverlayManagerImpl::AddRequest(std::unique_ptr<OverlayRequest> request,
+                                    web::WebState* web_state) {
+  OverlayRequestQueueImpl::Container::CreateForWebState(web_state);
+  OverlayRequestQueueImpl::Container::FromWebState(web_state)
+      ->QueueForModality(modality_)
+      ->AddRequest(std::move(request));
+}
+
+OverlayRequestQueue* OverlayManagerImpl::GetQueueForWebState(
+    web::WebState* web_state) {
+  OverlayRequestQueueImpl::Container::CreateForWebState(web_state);
+  return OverlayRequestQueueImpl::Container::FromWebState(web_state)
+      ->QueueForModality(modality_);
+}
diff --git a/ios/chrome/browser/overlays/overlay_manager_impl_unittest.mm b/ios/chrome/browser/overlays/overlay_manager_impl_unittest.mm
new file mode 100644
index 0000000..dd512b0
--- /dev/null
+++ b/ios/chrome/browser/overlays/overlay_manager_impl_unittest.mm
@@ -0,0 +1,63 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/overlays/overlay_manager_impl.h"
+
+#include "ios/chrome/browser/overlays/public/overlay_request.h"
+#include "ios/chrome/browser/overlays/public/overlay_request_queue.h"
+#include "ios/chrome/browser/overlays/test/fake_overlay_user_data.h"
+#import "ios/chrome/browser/web_state_list/fake_web_state_list_delegate.h"
+#import "ios/chrome/browser/web_state_list/web_state_list.h"
+#import "ios/chrome/browser/web_state_list/web_state_opener.h"
+#import "ios/web/public/test/fakes/test_web_state.h"
+#include "testing/platform_test.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+namespace {
+// The full Browser object is not used by OverlayManagerImpl; just its user data
+// support.  base::SupportsUserData has a protected destructor, so a subclass
+// must be used.
+class TestBrowser : public base::SupportsUserData {
+ public:
+  TestBrowser() = default;
+  ~TestBrowser() override = default;
+};
+}  // namespace
+
+// Test fixture for OverlayManagerImpl.
+class OverlayManagerImplTest : public PlatformTest {
+ public:
+  OverlayManagerImplTest() : web_state_list_(&web_state_list_delegate_) {
+    web_state_list_.InsertWebState(/* index */ 0,
+                                   std::make_unique<web::TestWebState>(), 0,
+                                   WebStateOpener());
+    OverlayManagerImpl::Container::CreateForUserData(&browser_,
+                                                     &web_state_list_);
+    manager_ = OverlayManagerImpl::Container::FromUserData(&browser_)
+                   ->ManagerForModality(OverlayModality::kWebContentArea);
+  }
+  OverlayManagerImpl* manager() const { return manager_; }
+  web::WebState* web_state() const { return web_state_list_.GetWebStateAt(0); }
+
+ private:
+  FakeWebStateListDelegate web_state_list_delegate_;
+  WebStateList web_state_list_;
+  TestBrowser browser_;
+  OverlayManagerImpl* manager_;
+};
+
+// Tests that OverlayRequests added to the manager are added to the WebState's
+// OverlayRequestQueue.
+TEST_F(OverlayManagerImplTest, AddRequest) {
+  std::unique_ptr<OverlayRequest> passed_request =
+      OverlayRequest::CreateWithConfig<FakeOverlayUserData>(nullptr);
+  OverlayRequest* request = passed_request.get();
+  manager()->AddRequest(std::move(passed_request), web_state());
+  OverlayRequestQueue* queue = manager()->GetQueueForWebState(web_state());
+  ASSERT_TRUE(queue);
+  EXPECT_EQ(request, queue->front_request());
+}
diff --git a/ios/chrome/browser/overlays/overlay_request_impl.cc b/ios/chrome/browser/overlays/overlay_request_impl.cc
index 98c5be8..bf767fdb 100644
--- a/ios/chrome/browser/overlays/overlay_request_impl.cc
+++ b/ios/chrome/browser/overlays/overlay_request_impl.cc
@@ -4,7 +4,7 @@
 
 #include "ios/chrome/browser/overlays/overlay_request_impl.h"
 
-#include "ios/chrome/browser/overlays/overlay_response.h"
+#include "ios/chrome/browser/overlays/public/overlay_response.h"
 
 // static
 std::unique_ptr<OverlayRequest> OverlayRequest::Create() {
@@ -14,8 +14,8 @@
 OverlayRequestImpl::OverlayRequestImpl() {}
 OverlayRequestImpl::~OverlayRequestImpl() {}
 
-base::SupportsUserData& OverlayRequestImpl::data() {
-  return *this;
+base::SupportsUserData* OverlayRequestImpl::data() {
+  return this;
 }
 
 void OverlayRequestImpl::set_response(
diff --git a/ios/chrome/browser/overlays/overlay_request_impl.h b/ios/chrome/browser/overlays/overlay_request_impl.h
index 5d2c4990..652218c 100644
--- a/ios/chrome/browser/overlays/overlay_request_impl.h
+++ b/ios/chrome/browser/overlays/overlay_request_impl.h
@@ -7,7 +7,7 @@
 
 #include <memory>
 
-#include "ios/chrome/browser/overlays/overlay_request.h"
+#include "ios/chrome/browser/overlays/public/overlay_request.h"
 
 // Internal implementation of OverlayRequest.
 class OverlayRequestImpl : public OverlayRequest,
@@ -20,7 +20,7 @@
   // OverlayRequest:
   void set_response(std::unique_ptr<OverlayResponse> response) override;
   OverlayResponse* response() const override;
-  base::SupportsUserData& data() override;
+  base::SupportsUserData* data() override;
 
   // The response containing the user interaction information for the overlay
   // resulting from this response.
diff --git a/ios/chrome/browser/overlays/overlay_request_queue.h b/ios/chrome/browser/overlays/overlay_request_queue.h
deleted file mode 100644
index e71b249..0000000
--- a/ios/chrome/browser/overlays/overlay_request_queue.h
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_REQUEST_QUEUE_H_
-#define IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_REQUEST_QUEUE_H_
-
-#import "ios/web/public/web_state/web_state_user_data.h"
-
-class OverlayRequest;
-
-// A queue of OverlayRequests for a specific WebState.
-class OverlayRequestQueue : public web::WebStateUserData<OverlayRequestQueue> {
- public:
-  // Returns the front request in the queue, or nullptr if the queue is empty.
-  // The returned value should not be cached, as it may be destructed if the
-  // queue is updated.
-  virtual OverlayRequest* front_request() const = 0;
-
- protected:
-  OverlayRequestQueue() {}
-
- private:
-  friend class web::WebStateUserData<OverlayRequestQueue>;
-  WEB_STATE_USER_DATA_KEY_DECL();
-  DISALLOW_COPY_AND_ASSIGN(OverlayRequestQueue);
-};
-
-#endif  // IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_REQUEST_QUEUE_H_
diff --git a/ios/chrome/browser/overlays/overlay_request_queue_impl.h b/ios/chrome/browser/overlays/overlay_request_queue_impl.h
index 3cb8ac5d..380b8616 100644
--- a/ios/chrome/browser/overlays/overlay_request_queue_impl.h
+++ b/ios/chrome/browser/overlays/overlay_request_queue_impl.h
@@ -5,26 +5,38 @@
 #ifndef IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_REQUEST_QUEUE_IMPL_H_
 #define IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_REQUEST_QUEUE_IMPL_H_
 
+#include <map>
 #include <memory>
 
 #include "base/containers/circular_deque.h"
 #include "base/observer_list.h"
-#import "ios/chrome/browser/overlays/overlay_request_queue.h"
 #include "ios/chrome/browser/overlays/overlay_request_queue_impl_observer.h"
+#include "ios/chrome/browser/overlays/public/overlay_modality.h"
+#import "ios/chrome/browser/overlays/public/overlay_request_queue.h"
+#import "ios/web/public/web_state/web_state_user_data.h"
 
 // Mutable implementation of OverlayRequestQueue.
 class OverlayRequestQueueImpl : public OverlayRequestQueue {
  public:
   ~OverlayRequestQueueImpl() override;
 
-  // Creates an OverlayRequestQueueImpl for |web_state| if one is not created
-  // already.  The created instance will be stored under the user data key
-  // defined by RequestQueue, allowing access to the pulic interface.
-  static void CreateForWebState(web::WebState* web_state);
+  // Container that stores the queues for each modality.  Usage example:
+  //
+  // OverlayRequestQueueImpl::Container::FromWebState(web_state)->
+  //     QueueForModality(OverlayModality::kWebContentArea);
+  class Container : public web::WebStateUserData<Container> {
+   public:
+    ~Container() override;
+    // Returns the request queue for |modality|.
+    OverlayRequestQueueImpl* QueueForModality(OverlayModality modality);
 
-  // Returns the OverlayRequestQueue stored under OverlayRequestQueue's user
-  // data key cast as an OverlayRequestQueueImpl.
-  static OverlayRequestQueueImpl* FromWebState(web::WebState* web_state);
+   private:
+    friend class web::WebStateUserData<Container>;
+    WEB_STATE_USER_DATA_KEY_DECL();
+    explicit Container(web::WebState* web_state);
+
+    std::map<OverlayModality, std::unique_ptr<OverlayRequestQueueImpl>> queues_;
+  };
 
   // Adds and removes observers.
   void AddObserver(OverlayRequestQueueImplObserver* observer) {
@@ -41,16 +53,13 @@
   // called on a non-empty queue.
   void PopRequest();
 
- private:
-  // WebStateUserData setup.
-  friend class web::WebStateUserData<OverlayRequestQueueImpl>;
-
-  // Constructor called by CreateForWebState().
-  explicit OverlayRequestQueueImpl();
-
   // OverlayRequestQueue:
   OverlayRequest* front_request() const override;
 
+ private:
+  // Private constructor called by container.
+  OverlayRequestQueueImpl();
+
   base::ObserverList<OverlayRequestQueueImplObserver>::Unchecked observers_;
   // The queue used to hold the received requests.  Stored as a circular dequeue
   // to allow performant pop events from the front of the queue.
diff --git a/ios/chrome/browser/overlays/overlay_request_queue_impl.mm b/ios/chrome/browser/overlays/overlay_request_queue_impl.mm
index 3d71562..676e1c5 100644
--- a/ios/chrome/browser/overlays/overlay_request_queue_impl.mm
+++ b/ios/chrome/browser/overlays/overlay_request_queue_impl.mm
@@ -6,28 +6,29 @@
 
 #include <utility>
 
-#include "ios/chrome/browser/overlays/overlay_request.h"
+#include "base/memory/ptr_util.h"
+#include "ios/chrome/browser/overlays/public/overlay_request.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
 #endif
 
-WEB_STATE_USER_DATA_KEY_IMPL(OverlayRequestQueue)
+#pragma mark - OverlayRequestQueueImpl::Container
 
-// static
-void OverlayRequestQueueImpl::CreateForWebState(web::WebState* web_state) {
-  DCHECK(web_state);
-  if (!FromWebState(web_state))
-    web_state->SetUserData(UserDataKey(),
-                           base::WrapUnique(new OverlayRequestQueueImpl()));
+WEB_STATE_USER_DATA_KEY_IMPL(OverlayRequestQueueImpl::Container)
+
+OverlayRequestQueueImpl::Container::Container(web::WebState* web_state) {}
+OverlayRequestQueueImpl::Container::~Container() = default;
+
+OverlayRequestQueueImpl* OverlayRequestQueueImpl::Container::QueueForModality(
+    OverlayModality modality) {
+  auto& queue = queues_[modality];
+  if (!queue)
+    queue = base::WrapUnique(new OverlayRequestQueueImpl());
+  return queue.get();
 }
 
-// static
-OverlayRequestQueueImpl* OverlayRequestQueueImpl::FromWebState(
-    web::WebState* web_state) {
-  return static_cast<OverlayRequestQueueImpl*>(
-      OverlayRequestQueue::FromWebState(web_state));
-}
+#pragma mark - OverlayRequestQueueImpl
 
 OverlayRequestQueueImpl::OverlayRequestQueueImpl() = default;
 OverlayRequestQueueImpl::~OverlayRequestQueueImpl() = default;
diff --git a/ios/chrome/browser/overlays/overlay_request_queue_impl_unittest.mm b/ios/chrome/browser/overlays/overlay_request_queue_impl_unittest.mm
index 11811d97..1642422 100644
--- a/ios/chrome/browser/overlays/overlay_request_queue_impl_unittest.mm
+++ b/ios/chrome/browser/overlays/overlay_request_queue_impl_unittest.mm
@@ -4,8 +4,8 @@
 
 #import "ios/chrome/browser/overlays/overlay_request_queue_impl.h"
 
-#include "ios/chrome/browser/overlays/overlay_request.h"
 #include "ios/chrome/browser/overlays/overlay_request_queue_impl_observer.h"
+#include "ios/chrome/browser/overlays/public/overlay_request.h"
 #include "ios/chrome/browser/overlays/test/fake_overlay_user_data.h"
 #import "ios/web/public/test/fakes/test_web_state.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -32,18 +32,17 @@
 class OverlayRequestQueueImplTest : public PlatformTest {
  public:
   OverlayRequestQueueImplTest() : PlatformTest() {
-    OverlayRequestQueueImpl::CreateForWebState(&web_state_);
-    queue_impl()->AddObserver(&observer_);
+    OverlayRequestQueueImpl::Container::CreateForWebState(&web_state_);
+    queue()->AddObserver(&observer_);
   }
   ~OverlayRequestQueueImplTest() override {
-    queue_impl()->RemoveObserver(&observer_);
+    queue()->RemoveObserver(&observer_);
   }
 
-  OverlayRequestQueueImpl* queue_impl() {
-    return OverlayRequestQueueImpl::FromWebState(&web_state_);
-  }
-  OverlayRequestQueue* queue() {
-    return OverlayRequestQueue::FromWebState(&web_state_);
+  OverlayRequestQueueImpl* queue() {
+    // Use the kWebContentArea queue for testing.
+    return OverlayRequestQueueImpl::Container::FromWebState(&web_state_)
+        ->QueueForModality(OverlayModality::kWebContentArea);
   }
   MockOverlayRequestQueueImplObserver& observer() { return observer_; }
 
@@ -61,11 +60,11 @@
   // Add the request and verify that it's exposed by the queue and received by
   // the observer.
   EXPECT_CALL(observer(), OnRequestAdded(queue(), request_ptr));
-  queue_impl()->AddRequest(std::move(request));
+  queue()->AddRequest(std::move(request));
   EXPECT_EQ(queue()->front_request(), request_ptr);
   // Remove the request and verify that it's no longer in the queue and the
   // observer callback has been executed.
   EXPECT_CALL(observer(), OnRequestRemoved(queue(), request_ptr));
-  queue_impl()->PopRequest();
+  queue()->PopRequest();
   ASSERT_FALSE(queue()->front_request());
 }
diff --git a/ios/chrome/browser/overlays/overlay_request_unittest.cc b/ios/chrome/browser/overlays/overlay_request_unittest.cc
index feee9d6..b7bd427 100644
--- a/ios/chrome/browser/overlays/overlay_request_unittest.cc
+++ b/ios/chrome/browser/overlays/overlay_request_unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ios/chrome/browser/overlays/overlay_request.h"
+#include "ios/chrome/browser/overlays/public/overlay_request.h"
 
 #include "ios/chrome/browser/overlays/test/fake_overlay_user_data.h"
 #include "testing/platform_test.h"
diff --git a/ios/chrome/browser/overlays/overlay_response_impl.cc b/ios/chrome/browser/overlays/overlay_response_impl.cc
index c28defe..ad86cb8 100644
--- a/ios/chrome/browser/overlays/overlay_response_impl.cc
+++ b/ios/chrome/browser/overlays/overlay_response_impl.cc
@@ -12,6 +12,6 @@
 OverlayResponseImpl::OverlayResponseImpl() {}
 OverlayResponseImpl::~OverlayResponseImpl() {}
 
-base::SupportsUserData& OverlayResponseImpl::data() {
-  return *this;
+base::SupportsUserData* OverlayResponseImpl::data() {
+  return this;
 }
diff --git a/ios/chrome/browser/overlays/overlay_response_impl.h b/ios/chrome/browser/overlays/overlay_response_impl.h
index 1a26cdf..3505666c 100644
--- a/ios/chrome/browser/overlays/overlay_response_impl.h
+++ b/ios/chrome/browser/overlays/overlay_response_impl.h
@@ -5,7 +5,7 @@
 #ifndef IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_RESPONSE_IMPL_H_
 #define IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_RESPONSE_IMPL_H_
 
-#include "ios/chrome/browser/overlays/overlay_response.h"
+#include "ios/chrome/browser/overlays/public/overlay_response.h"
 
 // Internal implementation of OverlayResponse.
 class OverlayResponseImpl : public OverlayResponse,
@@ -16,7 +16,7 @@
 
  private:
   // OverlayResponse:
-  base::SupportsUserData& data() override;
+  base::SupportsUserData* data() override;
 };
 
 #endif  // IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_RESPONSE_IMPL_H_
diff --git a/ios/chrome/browser/overlays/overlay_response_unittest.cc b/ios/chrome/browser/overlays/overlay_response_unittest.cc
index 8bb1e83..3e9f57f 100644
--- a/ios/chrome/browser/overlays/overlay_response_unittest.cc
+++ b/ios/chrome/browser/overlays/overlay_response_unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ios/chrome/browser/overlays/overlay_response.h"
+#include "ios/chrome/browser/overlays/public/overlay_response.h"
 
 #include "ios/chrome/browser/overlays/test/fake_overlay_user_data.h"
 #include "testing/platform_test.h"
diff --git a/ios/chrome/browser/overlays/overlay_user_data.h b/ios/chrome/browser/overlays/overlay_user_data.h
deleted file mode 100644
index 418a4fe..0000000
--- a/ios/chrome/browser/overlays/overlay_user_data.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_USER_DATA_H_
-#define IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_USER_DATA_H_
-
-#include "base/memory/ptr_util.h"
-#include "base/supports_user_data.h"
-
-// Macro for OverlayUserData setup [add to .h file]:
-// - Declares a static variable inside subclasses.  The address of this static
-//   variable is used as the key to associate the OverlayUserData with its
-//   user data container.
-// - Adds a friend specification for OverlayUserData so it can access
-//   specializations' private constructors and user data keys.
-#define OVERLAY_USER_DATA_SETUP(Type)    \
-  static constexpr int kUserDataKey = 0; \
-  friend class OverlayUserData<Type>
-
-// Macro for OverlayUserData setup implementation [add to .cc/.mm file]:
-// - Instantiates the static variable declared by the previous macro. It must
-//   live in a .cc/.mm file to ensure that there is only one instantiation of
-//   the static variable.
-#define OVERLAY_USER_DATA_SETUP_IMPL(Type) const int Type::kUserDataKey
-
-// A base class for classes attached to, and scoped to, the lifetime of a user
-// data container (e.g. OverlayRequest, OverlayResponse).
-//
-// --- in data.h ---
-// class Data : public OverlayUserData<Data> {
-//  public:
-//   ~Data() override;
-//   // ... more public stuff here ...
-//  private:
-//   OVERLAY_USER_DATA_SETUP(Data);
-//   explicit Data( \* ANY ARGUMENT LIST SUPPORTED *\);
-//   // ... more private stuff here ...
-// };
-//
-// --- in data.cc ---
-// OVERLAY_USER_DATA_SETUP_IMPL(Data);
-template <class DataType>
-class OverlayUserData : public base::SupportsUserData::Data {
- public:
-  // Creates an OverlayUserData of type DataType.  The DataType instance is
-  // constructed using the arguments passed to this function.  For example, if
-  // the constructor for an OverlayUserData of type StringData takes a string,
-  // one can be created using:
-  //
-  // StringData::Create("string");
-  template <typename... Args>
-  static std::unique_ptr<DataType> Create(Args&&... args) {
-    return base::WrapUnique(new DataType(std::forward<Args>(args)...));
-  }
-
-  // The key under which to store the user data.
-  static const void* UserDataKey() { return &DataType::kUserDataKey; }
-};
-
-#endif  // IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_USER_DATA_H_
diff --git a/ios/chrome/browser/overlays/public/overlay_manager.h b/ios/chrome/browser/overlays/public/overlay_manager.h
new file mode 100644
index 0000000..1bed9cd3
--- /dev/null
+++ b/ios/chrome/browser/overlays/public/overlay_manager.h
@@ -0,0 +1,46 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_MANAGER_H_
+#define IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_MANAGER_H_
+
+#include <memory>
+
+#include "ios/chrome/browser/overlays/public/overlay_modality.h"
+
+class Browser;
+class OverlayRequest;
+class OverlayRequestQueue;
+class OverlayManagerObserver;
+namespace web {
+class WebState;
+}
+
+// OverlayManager can be used to schedule the presentation of overlay UI that is
+// presented alongside a specific WebState's content area.
+class OverlayManager {
+ public:
+  virtual ~OverlayManager() = default;
+
+  // Retrieves the OverlayManager for |browser| that manages overlays at
+  // |modality|, creating one if necessary.
+  static OverlayManager* FromBrowser(Browser* browser,
+                                     OverlayModality modality);
+
+  // Adds and removes observers.
+  virtual void AddObserver(OverlayManagerObserver* observer) = 0;
+  virtual void RemoveObserver(OverlayManagerObserver* observer) = 0;
+
+  // Adds |request| to be displayed alongside |web_state|'s content area at the
+  // manager's modality.  Both are expected to be non-null.
+  virtual void AddRequest(std::unique_ptr<OverlayRequest> request,
+                          web::WebState* web_state) = 0;
+
+  // Returns the OverlayRequestQueue used by this manager to schedule overlays
+  // alongside |web_state|'s content area.
+  virtual OverlayRequestQueue* GetQueueForWebState(
+      web::WebState* web_state) = 0;
+};
+
+#endif  // IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_MANAGER_H_
diff --git a/ios/chrome/browser/overlays/public/overlay_manager_observer.h b/ios/chrome/browser/overlays/public/overlay_manager_observer.h
new file mode 100644
index 0000000..1165b4a
--- /dev/null
+++ b/ios/chrome/browser/overlays/public/overlay_manager_observer.h
@@ -0,0 +1,39 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_MANAGER_OBSERVER_H_
+#define IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_MANAGER_OBSERVER_H_
+
+class OverlayManager;
+class OverlayRequest;
+namespace web {
+class WebState;
+}
+
+// Observer interface for objects interested in overlay UI presentation by
+// OverlayManager.
+class OverlayManagerObserver {
+ public:
+  OverlayManagerObserver() = default;
+  virtual ~OverlayManagerObserver() = default;
+
+  // Called when |manager| is about to show the overlay UI for |request|
+  // alongside |web_state|'s content area.
+  virtual void WillShowOverlay(OverlayManager* manager,
+                               OverlayRequest* request,
+                               web::WebState* web_state) {}
+
+  // Called when |manager| is finished dismissing the overlay UI for |request|
+  // that was presented alongside |web_state|'s content area.  After this
+  // function is called, the |request| will be removed from its queue and
+  // deleted.
+  virtual void DidHideOverlay(OverlayManager* manager,
+                              OverlayRequest* request,
+                              web::WebState* web_state) {}
+
+  // Called when |manager| is destroyed.
+  virtual void OverlayManagerDestroyed(OverlayManager* manager) {}
+};
+
+#endif  // IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_MANAGER_OBSERVER_H_
diff --git a/ios/chrome/browser/overlays/public/overlay_modality.h b/ios/chrome/browser/overlays/public/overlay_modality.h
new file mode 100644
index 0000000..9a163f6
--- /dev/null
+++ b/ios/chrome/browser/overlays/public/overlay_modality.h
@@ -0,0 +1,17 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_MODALITY_H_
+#define IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_MODALITY_H_
+
+// An OverlayManager instance manages overlays for a single Browser at a single
+// level of modality.  Additional values should be added for each desired level
+// of modality (e.g. Browser-level modality, etc.).
+enum class OverlayModality {
+  // Used to schedule overlay UI to be displayed modally over a WebState's
+  // content area (i.e. present UI requested by script execution on a page).
+  kWebContentArea,
+};
+
+#endif  // IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_MODALITY_H_
diff --git a/ios/chrome/browser/overlays/overlay_request.h b/ios/chrome/browser/overlays/public/overlay_request.h
similarity index 78%
rename from ios/chrome/browser/overlays/overlay_request.h
rename to ios/chrome/browser/overlays/public/overlay_request.h
index 66e5daac..b6efcfc 100644
--- a/ios/chrome/browser/overlays/overlay_request.h
+++ b/ios/chrome/browser/overlays/public/overlay_request.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_REQUEST_H_
-#define IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_REQUEST_H_
+#ifndef IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_REQUEST_H_
+#define IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_REQUEST_H_
 
 #include <memory>
 
@@ -11,7 +11,7 @@
 
 class OverlayResponse;
 
-// Model object used to track overlays requested for OverlayService.
+// Model object used to track overlays requested for OverlayManager.
 class OverlayRequest {
  public:
   OverlayRequest() = default;
@@ -27,9 +27,7 @@
   template <class ConfigType, typename... Args>
   static std::unique_ptr<OverlayRequest> CreateWithConfig(Args&&... args) {
     std::unique_ptr<OverlayRequest> request = OverlayRequest::Create();
-    request->data().SetUserData(
-        ConfigType::UserDataKey(),
-        ConfigType::Create(std::forward<Args>(args)...));
+    ConfigType::CreateForUserData(request->data(), std::forward<Args>(args)...);
     return request;
   }
 
@@ -40,8 +38,7 @@
   // request->GetConfig<Config>();
   template <class ConfigType>
   ConfigType* GetConfig() {
-    return static_cast<ConfigType*>(
-        data().GetUserData(ConfigType::UserDataKey()));
+    return ConfigType::FromUserData(data());
   }
 
   // Setter for the response object for this request.
@@ -56,7 +53,7 @@
   static std::unique_ptr<OverlayRequest> Create();
 
   // The container used to hold the user data.
-  virtual base::SupportsUserData& data() = 0;
+  virtual base::SupportsUserData* data() = 0;
 };
 
-#endif  // IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_REQUEST_H_
+#endif  // IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_REQUEST_H_
diff --git a/ios/chrome/browser/overlays/public/overlay_request_queue.h b/ios/chrome/browser/overlays/public/overlay_request_queue.h
new file mode 100644
index 0000000..f07a4e07
--- /dev/null
+++ b/ios/chrome/browser/overlays/public/overlay_request_queue.h
@@ -0,0 +1,27 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_REQUEST_QUEUE_H_
+#define IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_REQUEST_QUEUE_H_
+
+class OverlayRequest;
+
+// A queue of OverlayRequests for a specific WebState.
+class OverlayRequestQueue {
+ public:
+  virtual ~OverlayRequestQueue() = default;
+
+  // Returns the front request in the queue, or nullptr if the queue is empty.
+  // The returned value should not be cached, as it may be destructed if the
+  // queue is updated.
+  virtual OverlayRequest* front_request() const = 0;
+
+ protected:
+  OverlayRequestQueue() = default;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(OverlayRequestQueue);
+};
+
+#endif  // IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_REQUEST_QUEUE_H_
diff --git a/ios/chrome/browser/overlays/overlay_response.h b/ios/chrome/browser/overlays/public/overlay_response.h
similarity index 76%
rename from ios/chrome/browser/overlays/overlay_response.h
rename to ios/chrome/browser/overlays/public/overlay_response.h
index b302ce7..9b63f433 100644
--- a/ios/chrome/browser/overlays/overlay_response.h
+++ b/ios/chrome/browser/overlays/public/overlay_response.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_RESPONSE_H_
-#define IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_RESPONSE_H_
+#ifndef IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_RESPONSE_H_
+#define IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_RESPONSE_H_
 
 #include <memory>
 
@@ -25,8 +25,7 @@
   template <class InfoType, typename... Args>
   static std::unique_ptr<OverlayResponse> CreateWithInfo(Args&&... args) {
     std::unique_ptr<OverlayResponse> response = OverlayResponse::Create();
-    response->data().SetUserData(InfoType::UserDataKey(),
-                                 InfoType::Create(std::forward<Args>(args)...));
+    InfoType::CreateForUserData(response->data(), std::forward<Args>(args)...);
     return response;
   }
 
@@ -37,7 +36,7 @@
   // response->GetInfo<Info>();
   template <class InfoType>
   InfoType* GetInfo() {
-    return static_cast<InfoType*>(data().GetUserData(InfoType::UserDataKey()));
+    return InfoType::FromUserData(data());
   }
 
  private:
@@ -45,7 +44,7 @@
   static std::unique_ptr<OverlayResponse> Create();
 
   // The container used to hold the user data.
-  virtual base::SupportsUserData& data() = 0;
+  virtual base::SupportsUserData* data() = 0;
 };
 
-#endif  // IOS_CHROME_BROWSER_OVERLAYS_OVERLAY_RESPONSE_H_
+#endif  // IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_RESPONSE_H_
diff --git a/ios/chrome/browser/overlays/public/overlay_user_data.h b/ios/chrome/browser/overlays/public/overlay_user_data.h
new file mode 100644
index 0000000..acd5fae
--- /dev/null
+++ b/ios/chrome/browser/overlays/public/overlay_user_data.h
@@ -0,0 +1,78 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_USER_DATA_H_
+#define IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_USER_DATA_H_
+
+#include "base/memory/ptr_util.h"
+#include "base/supports_user_data.h"
+
+// Macro for OverlayUserData setup [add to .h file]:
+// - Declares a static variable inside subclasses.  The address of this static
+//   variable is used as the key to associate the OverlayUserData with its
+//   user data container.
+// - Adds a friend specification for OverlayUserData so it can access
+//   specializations' private constructors and user data keys.
+#define OVERLAY_USER_DATA_SETUP(Type)    \
+  static constexpr int kUserDataKey = 0; \
+  friend class OverlayUserData<Type>
+
+// Macro for OverlayUserData setup implementation [add to .cc/.mm file]:
+// - Instantiates the static variable declared by the previous macro. It must
+//   live in a .cc/.mm file to ensure that there is only one instantiation of
+//   the static variable.
+#define OVERLAY_USER_DATA_SETUP_IMPL(Type) const int Type::kUserDataKey
+
+// A base class for classes attached to, and scoped to, the lifetime of a user
+// data container (e.g. OverlayRequest, OverlayResponse).
+//
+// --- in data.h ---
+// class Data : public OverlayUserData<Data> {
+//  public:
+//   ~Data() override;
+//   // ... more public stuff here ...
+//  private:
+//   OVERLAY_USER_DATA_SETUP(Data);
+//   explicit Data( \* ANY ARGUMENT LIST SUPPORTED *\);
+//   // ... more private stuff here ...
+// };
+//
+// --- in data.cc ---
+// OVERLAY_USER_DATA_SETUP_IMPL(Data);
+template <class DataType>
+class OverlayUserData : public base::SupportsUserData::Data {
+ public:
+  // Creates an OverlayUserData of type DataType and adds it to |user_data|
+  // under its key.  The DataType instance is constructed using the arguments
+  // passed after the key to this function.  If a DataType instance already
+  // exists in |user_data|, no new object is created.  For example, if the
+  // constructor for an OverlayUserData of type StringData takes a string, one
+  // can be created using:
+  //
+  // StringData::CreateForUserData(user_data, "string");
+  template <typename... Args>
+  static void CreateForUserData(base::SupportsUserData* user_data,
+                                Args&&... args) {
+    if (!FromUserData(user_data)) {
+      std::unique_ptr<DataType> data =
+          base::WrapUnique(new DataType(std::forward<Args>(args)...));
+      user_data->SetUserData(UserDataKey(), std::move(data));
+    }
+  }
+
+  // Retrieves the instance of type DataType that was attached to the specified
+  // user data container and returns it. If no instance of the type was
+  // attached, returns nullptr.
+  static DataType* FromUserData(base::SupportsUserData* user_data) {
+    return static_cast<DataType*>(user_data->GetUserData(UserDataKey()));
+  }
+  static const DataType* FromUserData(const base::SupportsUserData* user_data) {
+    return static_cast<const DataType*>(user_data->GetUserData(UserDataKey()));
+  }
+
+  // The key under which to store the user data.
+  static const void* UserDataKey() { return &DataType::kUserDataKey; }
+};
+
+#endif  // IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_USER_DATA_H_
diff --git a/ios/chrome/browser/overlays/test/fake_overlay_user_data.h b/ios/chrome/browser/overlays/test/fake_overlay_user_data.h
index f8b5da3..7e0b256c 100644
--- a/ios/chrome/browser/overlays/test/fake_overlay_user_data.h
+++ b/ios/chrome/browser/overlays/test/fake_overlay_user_data.h
@@ -5,7 +5,7 @@
 #ifndef IOS_CHROME_BROWSER_OVERLAYS_TEST_FAKE_OVERLAY_USER_DATA_H_
 #define IOS_CHROME_BROWSER_OVERLAYS_TEST_FAKE_OVERLAY_USER_DATA_H_
 
-#include "ios/chrome/browser/overlays/overlay_user_data.h"
+#include "ios/chrome/browser/overlays/public/overlay_user_data.h"
 
 // Test OverlayUserData that can be used to store arbitrary pointers in
 // OverlayRequests and OverlayResponses.
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/BUILD.gn b/ios/chrome/browser/ui/settings/clear_browsing_data/BUILD.gn
index e66362c..728d589 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/BUILD.gn
@@ -5,6 +5,8 @@
 source_set("clear_browsing_data") {
   configs += [ "//build/config/compiler:enable_arc" ]
   sources = [
+    "browsing_data_counter_wrapper_producer.h",
+    "browsing_data_counter_wrapper_producer.mm",
     "clear_browsing_data_collection_view_controller.h",
     "clear_browsing_data_collection_view_controller.mm",
     "clear_browsing_data_consumer.h",
@@ -69,6 +71,7 @@
   ]
   deps = [
     ":clear_browsing_data",
+    ":test_support",
     "//base",
     "//base/test:test_support",
     "//components/browsing_data/core",
@@ -82,6 +85,7 @@
     "//ios/chrome/browser/browser_state:test_support",
     "//ios/chrome/browser/browsing_data:counters",
     "//ios/chrome/browser/browsing_data:feature_flags",
+    "//ios/chrome/browser/browsing_data:test_support",
     "//ios/chrome/browser/prefs:browser_prefs",
     "//ios/chrome/browser/signin:test_support",
     "//ios/chrome/browser/sync",
@@ -99,6 +103,19 @@
   ]
 }
 
+source_set("test_support") {
+  configs += [ "//build/config/compiler:enable_arc" ]
+  testonly = true
+  sources = [
+    "fake_browsing_data_counter_wrapper_producer.h",
+    "fake_browsing_data_counter_wrapper_producer.mm",
+  ]
+  deps = [
+    ":clear_browsing_data",
+    "//base",
+  ]
+}
+
 source_set("eg_tests") {
   configs += [ "//build/config/compiler:enable_arc" ]
   testonly = true
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/browsing_data_counter_wrapper_producer.h b/ios/chrome/browser/ui/settings/clear_browsing_data/browsing_data_counter_wrapper_producer.h
new file mode 100644
index 0000000..1446fca72
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/browsing_data_counter_wrapper_producer.h
@@ -0,0 +1,23 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_CLEAR_BROWSING_DATA_BROWSING_DATA_COUNTER_WRAPPER_PRODUCER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_CLEAR_BROWSING_DATA_BROWSING_DATA_COUNTER_WRAPPER_PRODUCER_H_
+
+#include "ios/chrome/browser/browsing_data/browsing_data_counter_wrapper.h"
+
+// ClearBrowsingDataManager's dependency on creating BrowsingDataCounterWrapper
+@interface BrowsingDataCounterWrapperProducer : NSObject
+
+- (std::unique_ptr<BrowsingDataCounterWrapper>)
+    createCounterWrapperWithPrefName:(base::StringPiece)prefName
+                        browserState:(ios::ChromeBrowserState*)browserState
+                         prefService:(PrefService*)prefService
+                    updateUiCallback:
+                        (BrowsingDataCounterWrapper::UpdateUICallback)
+                            updateUiCallback;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_CLEAR_BROWSING_DATA_BROWSING_DATA_COUNTER_WRAPPER_PRODUCER_H_
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/browsing_data_counter_wrapper_producer.mm b/ios/chrome/browser/ui/settings/clear_browsing_data/browsing_data_counter_wrapper_producer.mm
new file mode 100644
index 0000000..63d00d0
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/browsing_data_counter_wrapper_producer.mm
@@ -0,0 +1,24 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/ui/settings/clear_browsing_data/browsing_data_counter_wrapper_producer.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+@implementation BrowsingDataCounterWrapperProducer
+
+- (std::unique_ptr<BrowsingDataCounterWrapper>)
+    createCounterWrapperWithPrefName:(base::StringPiece)prefName
+                        browserState:(ios::ChromeBrowserState*)browserState
+                         prefService:(PrefService*)prefService
+                    updateUiCallback:
+                        (BrowsingDataCounterWrapper::UpdateUICallback)
+                            updateUiCallback {
+  return BrowsingDataCounterWrapper::CreateCounterWrapper(
+      prefName, browserState, prefService, updateUiCallback);
+}
+
+@end
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager.h b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager.h
index c9db0e2..32efca6e3 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager.h
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager.h
@@ -8,6 +8,7 @@
 #import <Foundation/Foundation.h>
 
 #import "ios/chrome/browser/browsing_data/browsing_data_remover_observer_bridge.h"
+#import "ios/chrome/browser/ui/settings/clear_browsing_data/browsing_data_counter_wrapper_producer.h"
 #import "ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_consumer.h"
 #import "ios/chrome/browser/ui/settings/clear_browsing_data/time_range_selector_table_view_controller.h"
 
@@ -79,10 +80,17 @@
 @property(nonatomic, strong) id<CollectionViewFooterLinkDelegate> linkDelegate;
 
 // Default init method. |browserState| can't be nil and
-// |managingList| determines what kind of items to populate model with.
+// |listType| determines what kind of items to populate model with.
 - (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)browserState
-                            listType:(ClearBrowsingDataListType)listType
-    NS_DESIGNATED_INITIALIZER;
+                            listType:(ClearBrowsingDataListType)listType;
+
+// Designated initializer to allow dependency injection (in tests).
+- (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)browserState
+                              listType:(ClearBrowsingDataListType)listType
+                   browsingDataRemover:(BrowsingDataRemover*)remover
+    browsingDataCounterWrapperProducer:
+        (BrowsingDataCounterWrapperProducer*)producer NS_DESIGNATED_INITIALIZER;
+
 - (instancetype)init NS_UNAVAILABLE;
 
 // Fills |model| with appropriate sections and items.
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager.mm b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager.mm
index cb55a5f..87ad1e26 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager.mm
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager.mm
@@ -127,6 +127,9 @@
 
 @property(nonatomic, strong) TableViewDetailIconItem* tableViewTimeRangeItem;
 
+@property(nonatomic, strong)
+    BrowsingDataCounterWrapperProducer* counterWrapperProducer;
+
 @end
 
 @implementation ClearBrowsingDataManager
@@ -141,10 +144,24 @@
 
 - (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)browserState
                             listType:(ClearBrowsingDataListType)listType {
+  return [self initWithBrowserState:browserState
+                                listType:listType
+                     browsingDataRemover:BrowsingDataRemoverFactory::
+                                             GetForBrowserState(browserState)
+      browsingDataCounterWrapperProducer:[[BrowsingDataCounterWrapperProducer
+                                             alloc] init]];
+}
+
+- (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)browserState
+                              listType:(ClearBrowsingDataListType)listType
+                   browsingDataRemover:(BrowsingDataRemover*)remover
+    browsingDataCounterWrapperProducer:
+        (BrowsingDataCounterWrapperProducer*)producer {
   self = [super init];
   if (self) {
     _browserState = browserState;
     _listType = listType;
+    _counterWrapperProducer = producer;
 
     _timeRangePref.Init(browsing_data::prefs::kDeleteTimePeriod,
                         _browserState->GetPrefs());
@@ -154,8 +171,7 @@
       scoped_observer_ = std::make_unique<
           ScopedObserver<BrowsingDataRemover, BrowsingDataRemoverObserver>>(
           observer_.get());
-      scoped_observer_->Add(
-          BrowsingDataRemoverFactory::GetForBrowserState(self.browserState));
+      scoped_observer_->Add(remover);
     }
   }
   return self;
@@ -445,16 +461,20 @@
         __weak ClearBrowsingDataManager* weakSelf = self;
         __weak ClearBrowsingDataItem* weakCollectionClearDataItem =
             collectionClearDataItem;
-        std::unique_ptr<BrowsingDataCounterWrapper> counter =
-            BrowsingDataCounterWrapper::CreateCounterWrapper(
-                prefName, self.browserState, prefs,
-                base::BindRepeating(^(
-                    const browsing_data::BrowsingDataCounter::Result& result) {
+        BrowsingDataCounterWrapper::UpdateUICallback callback =
+            base::BindRepeating(
+                ^(const browsing_data::BrowsingDataCounter::Result& result) {
                   weakCollectionClearDataItem.detailText =
                       [weakSelf counterTextFromResult:result];
                   [weakSelf.consumer
                       updateCellsForItem:weakCollectionClearDataItem];
-                }));
+                });
+        std::unique_ptr<BrowsingDataCounterWrapper> counter =
+            [self.counterWrapperProducer
+                createCounterWrapperWithPrefName:prefName
+                                    browserState:self.browserState
+                                     prefService:prefs
+                                updateUiCallback:callback];
         _countersByMasks.emplace(mask, std::move(counter));
       }
     }
@@ -480,15 +500,19 @@
         __weak ClearBrowsingDataManager* weakSelf = self;
         __weak TableViewClearBrowsingDataItem* weakTableClearDataItem =
             tableViewClearDataItem;
-        std::unique_ptr<BrowsingDataCounterWrapper> counter =
-            BrowsingDataCounterWrapper::CreateCounterWrapper(
-                prefName, self.browserState, prefs,
-                base::BindRepeating(^(
-                    const browsing_data::BrowsingDataCounter::Result& result) {
+        BrowsingDataCounterWrapper::UpdateUICallback callback =
+            base::BindRepeating(
+                ^(const browsing_data::BrowsingDataCounter::Result& result) {
                   weakTableClearDataItem.detailText =
                       [weakSelf counterTextFromResult:result];
                   [weakSelf.consumer updateCellsForItem:weakTableClearDataItem];
-                }));
+                });
+        std::unique_ptr<BrowsingDataCounterWrapper> counter =
+            [self.counterWrapperProducer
+                createCounterWrapperWithPrefName:prefName
+                                    browserState:self.browserState
+                                     prefService:prefs
+                                updateUiCallback:callback];
         _countersByMasks.emplace(mask, std::move(counter));
       }
     }
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager_unittest.mm b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager_unittest.mm
index 8cb256f..42c14b5 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager_unittest.mm
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_manager_unittest.mm
@@ -14,11 +14,13 @@
 #include "ios/chrome/browser/browser_state/test_chrome_browser_state.h"
 #include "ios/chrome/browser/browsing_data/browsing_data_features.h"
 #include "ios/chrome/browser/browsing_data/cache_counter.h"
+#include "ios/chrome/browser/browsing_data/fake_browsing_data_remover.h"
 #include "ios/chrome/browser/pref_names.h"
 #include "ios/chrome/browser/prefs/browser_prefs.h"
 #include "ios/chrome/browser/signin/identity_test_environment_chrome_browser_state_adaptor.h"
 #include "ios/chrome/browser/sync/profile_sync_service_factory.h"
-#import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
+#import "ios/chrome/browser/ui/settings/clear_browsing_data/fake_browsing_data_counter_wrapper_producer.h"
+#import "ios/chrome/browser/ui/table_view/table_view_model.h"
 #include "ios/web/public/test/test_web_thread_bundle.h"
 #include "services/identity/public/cpp/identity_test_environment.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -29,10 +31,6 @@
 #error "This file requires ARC support."
 #endif
 
-@interface ClearBrowsingDataManager (ExposedForTesting)
-- (void)loadModel:(ListModel*)model;
-@end
-
 namespace {
 
 std::unique_ptr<KeyedService> CreateTestSyncService(
@@ -61,11 +59,15 @@
         new IdentityTestEnvironmentChromeBrowserStateAdaptor(
             browser_state_.get()));
 
-    model_ = [[CollectionViewModel alloc] init];
+    model_ = [[TableViewModel alloc] init];
+    remover_ = std::make_unique<FakeBrowsingDataRemover>();
     manager_ = [[ClearBrowsingDataManager alloc]
-        initWithBrowserState:browser_state_.get()
-                    listType:ClearBrowsingDataListType::
-                                 kListTypeCollectionView];
+                      initWithBrowserState:browser_state_.get()
+                                  listType:ClearBrowsingDataListType::
+                                               kListTypeCollectionView
+                       browsingDataRemover:remover_.get()
+        browsingDataCounterWrapperProducer:
+            [[FakeBrowsingDataCounterWrapperProducer alloc] init]];
 
     test_sync_service_ = static_cast<syncer::TestSyncService*>(
         ProfileSyncServiceFactory::GetForBrowserState(browser_state_.get()));
@@ -79,7 +81,8 @@
   std::unique_ptr<TestChromeBrowserState> browser_state_;
   std::unique_ptr<IdentityTestEnvironmentChromeBrowserStateAdaptor>
       identity_test_env_adaptor_;
-  CollectionViewModel* model_;
+  TableViewModel* model_;
+  std::unique_ptr<BrowsingDataRemover> remover_;
   ClearBrowsingDataManager* manager_;
   syncer::TestSyncService* test_sync_service_;
   web::TestWebThreadBundle thread_bundle_;
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_table_view_controller.mm b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_table_view_controller.mm
index 1180588..5a8dbba 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_table_view_controller.mm
@@ -184,6 +184,7 @@
                               scrollPosition:UITableViewScrollPositionNone];
       }
     }
+    [self updateToolbarButtons];
 
     // Showing toolbar here because parent class hides toolbar in
     // viewWillDisappear:.
@@ -287,6 +288,7 @@
       default:
         break;
     }
+    [self updateToolbarButtons];
   }
 }
 
@@ -333,6 +335,7 @@
     default:
       break;
   }
+  [self updateToolbarButtons];
 }
 
 - (CGFloat)tableView:(UITableView*)tableView
@@ -513,4 +516,11 @@
   [self reconfigureCellsForItems:@[ clearBrowsingDataItem ]];
 }
 
+- (void)updateToolbarButtons {
+  // Enabling the Clear Browsing Data button only when at least 1 cells are
+  // selected.
+  self.clearBrowsingDataBarButton.enabled =
+      ([[self.tableView indexPathsForSelectedRows] count] > 0);
+}
+
 @end
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/fake_browsing_data_counter_wrapper_producer.h b/ios/chrome/browser/ui/settings/clear_browsing_data/fake_browsing_data_counter_wrapper_producer.h
new file mode 100644
index 0000000..d85fa0f
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/fake_browsing_data_counter_wrapper_producer.h
@@ -0,0 +1,14 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_CLEAR_BROWSING_DATA_FAKE_BROWSING_DATA_COUNTER_WRAPPER_PRODUCER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_CLEAR_BROWSING_DATA_FAKE_BROWSING_DATA_COUNTER_WRAPPER_PRODUCER_H_
+
+#import "ios/chrome/browser/ui/settings/clear_browsing_data/browsing_data_counter_wrapper_producer.h"
+
+@interface FakeBrowsingDataCounterWrapperProducer
+    : BrowsingDataCounterWrapperProducer
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_CLEAR_BROWSING_DATA_BROWSING_DATA_COUNTER_WRAPPER_PRODUCER_H_
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/fake_browsing_data_counter_wrapper_producer.mm b/ios/chrome/browser/ui/settings/clear_browsing_data/fake_browsing_data_counter_wrapper_producer.mm
new file mode 100644
index 0000000..50ebc7b
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/fake_browsing_data_counter_wrapper_producer.mm
@@ -0,0 +1,23 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/ui/settings/clear_browsing_data/fake_browsing_data_counter_wrapper_producer.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+@implementation FakeBrowsingDataCounterWrapperProducer
+
+- (std::unique_ptr<BrowsingDataCounterWrapper>)
+    createCounterWrapperWithPrefName:(base::StringPiece)prefName
+                        browserState:(ios::ChromeBrowserState*)browserState
+                         prefService:(PrefService*)prefService
+                    updateUiCallback:
+                        (BrowsingDataCounterWrapper::UpdateUICallback)
+                            updateUiCallback {
+  return nullptr;
+}
+
+@end
diff --git a/ios/web/find_in_page/find_in_page_manager_impl.mm b/ios/web/find_in_page/find_in_page_manager_impl.mm
index 2c3b3c5..2345760 100644
--- a/ios/web/find_in_page/find_in_page_manager_impl.mm
+++ b/ios/web/find_in_page/find_in_page_manager_impl.mm
@@ -209,9 +209,12 @@
 
 void FindInPageManagerImpl::WebFrameWillBecomeUnavailable(WebState* web_state,
                                                           WebFrame* web_frame) {
+  bool frame_has_matches =
+      last_find_request_.frame_match_count[web_frame->GetFrameId()] > 0;
   last_find_request_.RemoveFrame(web_frame);
 
-  if (delegate_ && last_find_request_.query) {
+  // Only notify the delegate if the match count has changed.
+  if (delegate_ && last_find_request_.query && frame_has_matches) {
     delegate_->DidHighlightMatches(web_state_,
                                    last_find_request_.GetTotalMatchCount(),
                                    last_find_request_.query);
diff --git a/ios/web/find_in_page/find_in_page_manger_impl_unittest.mm b/ios/web/find_in_page/find_in_page_manger_impl_unittest.mm
index 2ea84278..179c9f06 100644
--- a/ios/web/find_in_page/find_in_page_manger_impl_unittest.mm
+++ b/ios/web/find_in_page/find_in_page_manger_impl_unittest.mm
@@ -591,6 +591,29 @@
   }));
 }
 
+// Tests that DidHighlightMatches is not called when a frame with no matches is
+// removed from the page.
+TEST_F(FindInPageManagerImplTest, FindDidNotResponseAfterFrameDisappears) {
+  const char kZeroMatchesFrameId[] = "frame_with_zero_matches";
+  auto frame_with_zero_matches = CreateMainWebFrameWithJsResultForFind(
+      std::make_unique<base::Value>(0.0), kZeroMatchesFrameId);
+  auto frame_with_two_matches = CreateChildWebFrameWithJsResultForFind(
+      std::make_unique<base::Value>(2.0), kTwoMatchesFrameId);
+  test_web_state_->AddWebFrame(std::move(frame_with_zero_matches));
+  test_web_state_->AddWebFrame(std::move(frame_with_two_matches));
+
+  GetFindInPageManager()->Find(@"foo", FindInPageOptions::FindInPageSearch);
+  ASSERT_TRUE(WaitUntilConditionOrTimeout(kWaitForJSCompletionTimeout, ^bool {
+    base::RunLoop().RunUntilIdle();
+    return fake_delegate_.state();
+  }));
+
+  fake_delegate_.Reset();
+  test_web_state_->RemoveWebFrame(kZeroMatchesFrameId);
+
+  EXPECT_FALSE(fake_delegate_.state());
+}
+
 // Tests that Find in Page SetContentIsHTML() returns true if the web state's
 // content is HTML and returns false if the web state's content is not HTML.
 TEST_F(FindInPageManagerImplTest, FindInPageCanSearchContent) {
diff --git a/ios/web/public/test/fakes/fake_find_in_page_manager_delegate.h b/ios/web/public/test/fakes/fake_find_in_page_manager_delegate.h
index 1d9feb7..728157a5 100644
--- a/ios/web/public/test/fakes/fake_find_in_page_manager_delegate.h
+++ b/ios/web/public/test/fakes/fake_find_in_page_manager_delegate.h
@@ -39,6 +39,9 @@
   // Returns the current State.
   const State* state() const { return delegate_state_.get(); }
 
+  // Resets the State.
+  void Reset() { delegate_state_.reset(); }
+
  private:
   std::unique_ptr<State> delegate_state_;
   DISALLOW_COPY_AND_ASSIGN(FakeFindInPageManagerDelegate);
diff --git a/media/gpu/android/codec_image.cc b/media/gpu/android/codec_image.cc
index ba5dfb4..7628758 100644
--- a/media/gpu/android/codec_image.cc
+++ b/media/gpu/android/codec_image.cc
@@ -244,10 +244,14 @@
 void CodecImage::EnsureBoundIfNeeded(BindingsMode mode) {
   DCHECK(texture_owner_);
 
-  if (texture_owner_->binds_texture_on_update() ||
-      mode != BindingsMode::kEnsureTexImageBound)
+  if (texture_owner_->binds_texture_on_update()) {
+    was_tex_image_bound_ = true;
+    return;
+  }
+  if (mode != BindingsMode::kEnsureTexImageBound)
     return;
   texture_owner_->EnsureTexImageBound();
+  was_tex_image_bound_ = true;
 }
 
 bool CodecImage::RenderToOverlay() {
diff --git a/media/gpu/android/codec_image.h b/media/gpu/android/codec_image.h
index afbcf6e..f5fa91a 100644
--- a/media/gpu/android/codec_image.h
+++ b/media/gpu/android/codec_image.h
@@ -76,6 +76,10 @@
     return phase_ == Phase::kInFrontBuffer;
   }
 
+  // Whether the TextureOwner's texture is in the front buffer and bound to the
+  // latest image.
+  bool was_tex_image_bound() const { return was_tex_image_bound_; }
+
   // Whether this image is backed by a texture owner.
   bool is_texture_owner_backed() const { return !!texture_owner_; }
 
@@ -144,6 +148,7 @@
   PromotionHintAggregator::NotifyPromotionHintCB promotion_hint_cb_;
 
   DestructionCb destruction_cb_;
+  bool was_tex_image_bound_ = false;
 
   DISALLOW_COPY_AND_ASSIGN(CodecImage);
 };
diff --git a/media/gpu/android/shared_image_video.cc b/media/gpu/android/shared_image_video.cc
index adb406d6..26ecfa1 100644
--- a/media/gpu/android/shared_image_video.cc
+++ b/media/gpu/android/shared_image_video.cc
@@ -70,6 +70,12 @@
 
 void SharedImageVideo::Destroy() {}
 
+size_t SharedImageVideo::EstimatedSizeForMemTracking() const {
+  // This backing contributes to gpu memory only if its bound to the texture and
+  // not when the backing is created.
+  return codec_image_->was_tex_image_bound() ? estimated_size() : 0;
+}
+
 void SharedImageVideo::OnContextLost() {
   // We release codec buffers when shared image context is lost. This is because
   // texture owner's texture was created on shared context. Once shared context
diff --git a/media/gpu/android/shared_image_video.h b/media/gpu/android/shared_image_video.h
index 1a66d44a..0cd0875d 100644
--- a/media/gpu/android/shared_image_video.h
+++ b/media/gpu/android/shared_image_video.h
@@ -48,6 +48,7 @@
   void Update() override;
   bool ProduceLegacyMailbox(gpu::MailboxManager* mailbox_manager) override;
   void Destroy() override;
+  size_t EstimatedSizeForMemTracking() const override;
 
   // SharedContextState::ContextLostObserver implementation.
   void OnContextLost() override;
diff --git a/net/base/net_error_list.h b/net/base/net_error_list.h
index 7fe82d9..6d3b6ef 100644
--- a/net/base/net_error_list.h
+++ b/net/base/net_error_list.h
@@ -4,8 +4,9 @@
 
 // This file intentionally does not have header guards, it's included
 // inside a macro to generate enum values. The following line silences a
-// presubmit warning that would otherwise be triggered by this:
+// presubmit and Tricium warning that would otherwise be triggered by this:
 // no-include-guard-because-multiply-included
+// NOLINT(build/header_guard)
 
 // This file contains the list of network errors.
 
@@ -395,19 +396,7 @@
 // visible, because the normal Read() method is used as a fallback.
 NET_ERROR(READ_IF_READY_NOT_IMPLEMENTED, -174)
 
-// This error is emitted if TLS 1.3 is enabled, connecting with it failed, but
-// retrying at a downgraded maximum version succeeded. This could mean:
-//
-// 1. This is a transient network error that will be resolved when the user
-//    reloads.
-//
-// 2. The user is behind a buggy network middlebox, firewall, or proxy which is
-//    interfering with TLS 1.3.
-//
-// 3. The server is buggy and does not implement TLS version negotiation
-//    correctly. TLS 1.3 was tweaked to avoid a common server bug here, so this
-//    is unlikely.
-NET_ERROR(SSL_VERSION_INTERFERENCE, -175)
+// Error -175 was removed (SSL_VERSION_INTERFERENCE).
 
 // No socket buffer space is available.
 NET_ERROR(NO_BUFFER_SPACE, -176)
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
index 535a858..25c2ca24 100644
--- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc
@@ -133,8 +133,7 @@
       websocket_handshake_stream_base_create_helper_(nullptr),
       net_error_details_(),
       retry_attempts_(0),
-      num_restarts_(0),
-      ssl_version_interference_error_(OK) {
+      num_restarts_(0) {
 }
 
 HttpNetworkTransaction::~HttpNetworkTransaction() {
@@ -849,41 +848,6 @@
     return HandleHttp11Required(result);
   }
 
-  // Perform a TLS 1.3 version interference probe on various connection
-  // errors. The retry will never produce a successful connection but may map
-  // errors to ERR_SSL_VERSION_INTERFERENCE, which signals a probable
-  // version-interfering middlebox.
-  if (IsSecureRequest() && !HasExceededMaxRetries() &&
-      server_ssl_config_.version_max == SSL_PROTOCOL_VERSION_TLS1_3 &&
-      !server_ssl_config_.version_interference_probe) {
-    if (result == ERR_CONNECTION_CLOSED || result == ERR_SSL_PROTOCOL_ERROR ||
-        result == ERR_SSL_VERSION_OR_CIPHER_MISMATCH ||
-        result == ERR_CONNECTION_RESET ||
-        result == ERR_SSL_BAD_RECORD_MAC_ALERT) {
-      // Report the error code for each time a version interference probe is
-      // triggered.
-      base::UmaHistogramSparse("Net.SSLVersionInterferenceProbeTrigger",
-                               std::abs(result));
-      net_log_.AddEventWithNetErrorCode(
-          NetLogEventType::SSL_VERSION_INTERFERENCE_PROBE, result);
-
-      retry_attempts_++;
-      server_ssl_config_.version_interference_probe = true;
-      server_ssl_config_.version_max = SSL_PROTOCOL_VERSION_TLS1_2;
-      ssl_version_interference_error_ = result;
-      ResetConnectionAndRequestForResend();
-      return OK;
-    }
-  }
-
-  if (result == ERR_SSL_VERSION_INTERFERENCE) {
-    // Record the error code version interference was detected at.
-    DCHECK(server_ssl_config_.version_interference_probe);
-    DCHECK_NE(OK, ssl_version_interference_error_);
-    base::UmaHistogramSparse("Net.SSLVersionInterferenceError",
-                             std::abs(ssl_version_interference_error_));
-  }
-
   // Handle possible client certificate errors that may have occurred if the
   // stream used SSL for one or more of the layers.
   result = HandleSSLClientAuthError(result);
diff --git a/net/http/http_network_transaction.h b/net/http/http_network_transaction.h
index 21a6c46..8677554 100644
--- a/net/http/http_network_transaction.h
+++ b/net/http/http_network_transaction.h
@@ -434,10 +434,6 @@
   // Number of times the transaction was restarted via a RestartWith* call.
   size_t num_restarts_;
 
-  // The net::Error which triggered a TLS 1.3 version interference probe, or OK
-  // if none was triggered.
-  int ssl_version_interference_error_;
-
   DISALLOW_COPY_AND_ASSIGN(HttpNetworkTransaction);
 };
 
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
index d21c871..a1e7f18 100644
--- a/net/http/http_network_transaction_unittest.cc
+++ b/net/http/http_network_transaction_unittest.cc
@@ -681,6 +681,7 @@
   int RequestSocket(
       const ClientSocketPool::GroupId& group_id,
       scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
       RequestPriority priority,
       const SocketTag& socket_tag,
       ClientSocketPool::RespectLimits respect_limits,
@@ -4544,15 +4545,6 @@
       ProxyResolutionService::CreateFixedFromPacResult(
           "PROXY myproxy:70", TRAFFIC_ANNOTATION_FOR_TESTS);
 
-  // When TLS 1.3 is enabled, spurious connections are made as part of the SSL
-  // version interference probes.
-  // TODO(crbug.com/906668): Correctly handle version interference probes to
-  // test TLS 1.3.
-  SSLConfig config;
-  config.version_max = SSL_PROTOCOL_VERSION_TLS1_2;
-  session_deps_.ssl_config_service =
-      std::make_unique<TestSSLConfigService>(config);
-
   auto auth_handler_factory = std::make_unique<HttpAuthHandlerMock::Factory>();
   auth_handler_factory->set_do_init_from_challenge(true);
 
@@ -7680,7 +7672,9 @@
 
 // Test that, if we have an NTLM proxy and the origin resets the connection, we
 // do no retry forever checking for TLS version interference. This is a
-// regression test for https://crbug.com/823387.
+// regression test for https://crbug.com/823387. The version interference probe
+// has since been removed, but retain the regression test so we can update it if
+// we add future TLS retries.
 TEST_F(HttpNetworkTransactionTest, NTLMProxyTLSHandshakeReset) {
   // The NTLM test data expects the proxy to be named 'server'. The origin is
   // https://origin/.
@@ -7773,13 +7767,8 @@
 
   StaticSocketDataProvider data(data_reads, data_writes);
   SSLSocketDataProvider data_ssl(ASYNC, ERR_CONNECTION_RESET);
-  StaticSocketDataProvider data2(data_reads, data_writes);
-  SSLSocketDataProvider data_ssl2(ASYNC, ERR_CONNECTION_RESET);
-  data_ssl2.expected_ssl_version_max = SSL_PROTOCOL_VERSION_TLS1_2;
   session_deps_.socket_factory->AddSocketDataProvider(&data);
   session_deps_.socket_factory->AddSSLSocketDataProvider(&data_ssl);
-  session_deps_.socket_factory->AddSocketDataProvider(&data2);
-  session_deps_.socket_factory->AddSSLSocketDataProvider(&data_ssl2);
 
   // Start the transaction. The proxy responds with an NTLM authentication
   // request.
@@ -7794,7 +7783,8 @@
   ASSERT_TRUE(response);
   EXPECT_TRUE(CheckNTLMProxyAuth(response->auth_challenge));
 
-  // Configure credentials. The proxy responds with the challenge message.
+  // Configure credentials and restart. The proxy responds with the challenge
+  // message.
   rv = callback.GetResult(trans.RestartWithAuth(
       AuthCredentials(ntlm::test::kDomainUserCombined, ntlm::test::kPassword),
       callback.callback()));
@@ -7804,29 +7794,8 @@
   ASSERT_TRUE(response);
   EXPECT_FALSE(response->auth_challenge.has_value());
 
-  // Restart once more. The tunnel will be established and the the SSL handshake
-  // will reset. The TLS 1.3 version interference probe will then kick in and
-  // restart the process. The proxy responds with another NTLM authentiation
-  // request, but we don't need to provide credentials as the cached ones work/
-  rv = callback.GetResult(
-      trans.RestartWithAuth(AuthCredentials(), callback.callback()));
-  EXPECT_THAT(rv, IsOk());
-  EXPECT_TRUE(trans.IsReadyToRestartForAuth());
-  response = trans.GetResponseInfo();
-  ASSERT_TRUE(response);
-  EXPECT_FALSE(response->auth_challenge.has_value());
-
-  // The proxy responds with the NTLM challenge message.
-  rv = callback.GetResult(
-      trans.RestartWithAuth(AuthCredentials(), callback.callback()));
-  EXPECT_THAT(rv, IsOk());
-  EXPECT_TRUE(trans.IsReadyToRestartForAuth());
-  response = trans.GetResponseInfo();
-  ASSERT_TRUE(response);
-  EXPECT_FALSE(response->auth_challenge.has_value());
-
-  // Send the NTLM authenticate message. The tunnel is established and the
-  // handshake resets again. We should not retry again.
+  // Restart once more. The tunnel will be established and then the SSL
+  // handshake will reset.
   rv = callback.GetResult(
       trans.RestartWithAuth(AuthCredentials(), callback.callback()));
   EXPECT_THAT(rv, IsError(ERR_CONNECTION_RESET));
diff --git a/net/http/http_stream_factory_unittest.cc b/net/http/http_stream_factory_unittest.cc
index acad00de..d78cb6d 100644
--- a/net/http/http_stream_factory_unittest.cc
+++ b/net/http/http_stream_factory_unittest.cc
@@ -14,6 +14,7 @@
 
 #include "base/compiler_specific.h"
 #include "base/memory/ptr_util.h"
+#include "base/optional.h"
 #include "base/run_loop.h"
 #include "base/stl_util.h"
 #include "base/test/metrics/histogram_tester.h"
@@ -416,14 +417,14 @@
     last_num_streams_ = -1;
     // Group ID that shouldn't match much.
     last_group_id_ = ClientSocketPool::GroupId(
-        HostPortPair(),
-        ClientSocketPool::SocketType::kSslVersionInterferenceProbe,
+        HostPortPair(), ClientSocketPool::SocketType::kSsl,
         PrivacyMode::PRIVACY_MODE_ENABLED);
   }
 
   int RequestSocket(
       const ClientSocketPool::GroupId& group_id,
       scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
       RequestPriority priority,
       const SocketTag& socket_tag,
       ClientSocketPool::RespectLimits respect_limits,
@@ -438,6 +439,7 @@
   void RequestSockets(
       const ClientSocketPool::GroupId& group_id,
       scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
       int num_sockets,
       const NetLogWithSource& net_log) override {
     last_num_streams_ = num_sockets;
@@ -1999,16 +2001,15 @@
 
     scoped_refptr<ClientSocketPool::SocketParams> socket_params =
         base::MakeRefCounted<ClientSocketPool::SocketParams>(
-            MutableNetworkTrafficAnnotationTag(),
             std::make_unique<SSLConfig>() /* ssl_config_for_origin */,
             nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
     ClientSocketPool::GroupId group_id(host_port_pair,
                                        ClientSocketPool::SocketType::kSsl,
                                        PrivacyMode::PRIVACY_MODE_DISABLED);
     int rv = connection->Init(
-        group_id, socket_params, MEDIUM, SocketTag(),
-        ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-        ClientSocketPool::ProxyAuthCallback(),
+        group_id, socket_params, base::nullopt /* proxy_annotation_tag */,
+        MEDIUM, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+        callback.callback(), ClientSocketPool::ProxyAuthCallback(),
         session->GetSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL,
                                ProxyServer::Direct()),
         NetLogWithSource());
diff --git a/net/log/net_log_event_type_list.h b/net/log/net_log_event_type_list.h
index a8420c7..cae28ec 100644
--- a/net/log/net_log_event_type_list.h
+++ b/net/log/net_log_event_type_list.h
@@ -510,15 +510,6 @@
 EVENT_TYPE(SSL_READ_ERROR)
 EVENT_TYPE(SSL_WRITE_ERROR)
 
-// An SSL connection needs to be retried with a lower protocol version to detect
-// if the error was due to a middlebox interfering with the protocol version we
-// offered.
-// The following parameters are attached to the event:
-//   {
-//     "net_error": <Net integer error code which triggered the probe>,
-//   }
-EVENT_TYPE(SSL_VERSION_INTERFERENCE_PROBE)
-
 // We found that our prediction of the server's certificates was correct and
 // we merged the verification with the SSLHostInfo. (Note: now obsolete.)
 EVENT_TYPE(SSL_VERIFICATION_MERGED)
diff --git a/net/socket/client_socket_handle.cc b/net/socket/client_socket_handle.cc
index aa71aad..c20b95c4 100644
--- a/net/socket/client_socket_handle.cc
+++ b/net/socket/client_socket_handle.cc
@@ -34,6 +34,7 @@
 int ClientSocketHandle::Init(
     const ClientSocketPool::GroupId& group_id,
     scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     RequestPriority priority,
     const SocketTag& socket_tag,
     ClientSocketPool::RespectLimits respect_limits,
@@ -51,8 +52,9 @@
   CompletionOnceCallback io_complete_callback =
       base::BindOnce(&ClientSocketHandle::OnIOComplete, base::Unretained(this));
   int rv = pool_->RequestSocket(
-      group_id, std::move(socket_params), priority, socket_tag, respect_limits,
-      this, std::move(io_complete_callback), proxy_auth_callback, net_log);
+      group_id, std::move(socket_params), proxy_annotation_tag, priority,
+      socket_tag, respect_limits, this, std::move(io_complete_callback),
+      proxy_auth_callback, net_log);
   if (rv == ERR_IO_PENDING) {
     callback_ = std::move(callback);
   } else {
diff --git a/net/socket/client_socket_handle.h b/net/socket/client_socket_handle.h
index 8ec8c8b..3570ed9b 100644
--- a/net/socket/client_socket_handle.h
+++ b/net/socket/client_socket_handle.h
@@ -13,6 +13,7 @@
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/optional.h"
 #include "base/time/time.h"
 #include "net/base/ip_endpoint.h"
 #include "net/base/load_states.h"
@@ -30,6 +31,7 @@
 namespace net {
 
 class ConnectJob;
+struct NetworkTrafficAnnotationTag;
 class SocketTag;
 
 // A container for a StreamSocket.
@@ -79,15 +81,17 @@
   // Init may be called multiple times.
   //
   // Profiling information for the request is saved to |net_log| if non-NULL.
-  int Init(const ClientSocketPool::GroupId& group_id,
-           scoped_refptr<ClientSocketPool::SocketParams> socket_params,
-           RequestPriority priority,
-           const SocketTag& socket_tag,
-           ClientSocketPool::RespectLimits respect_limits,
-           CompletionOnceCallback callback,
-           const ClientSocketPool::ProxyAuthCallback& proxy_auth_callback,
-           ClientSocketPool* pool,
-           const NetLogWithSource& net_log);
+  int Init(
+      const ClientSocketPool::GroupId& group_id,
+      scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+      RequestPriority priority,
+      const SocketTag& socket_tag,
+      ClientSocketPool::RespectLimits respect_limits,
+      CompletionOnceCallback callback,
+      const ClientSocketPool::ProxyAuthCallback& proxy_auth_callback,
+      ClientSocketPool* pool,
+      const NetLogWithSource& net_log);
 
   // Changes the priority of the ClientSocketHandle to the passed value.
   // This function is a no-op if |priority| is the same as the current
diff --git a/net/socket/client_socket_pool.cc b/net/socket/client_socket_pool.cc
index ac9f1a9..153d3c76 100644
--- a/net/socket/client_socket_pool.cc
+++ b/net/socket/client_socket_pool.cc
@@ -27,12 +27,10 @@
 }  // namespace
 
 ClientSocketPool::SocketParams::SocketParams(
-    MutableNetworkTrafficAnnotationTag proxy_annotation_tag,
     std::unique_ptr<SSLConfig> ssl_config_for_origin,
     std::unique_ptr<SSLConfig> ssl_config_for_proxy,
     const OnHostResolutionCallback& resolution_callback)
-    : proxy_annotation_tag_(proxy_annotation_tag),
-      ssl_config_for_origin_(std::move(ssl_config_for_origin)),
+    : ssl_config_for_origin_(std::move(ssl_config_for_origin)),
       ssl_config_for_proxy_(std::move(ssl_config_for_proxy)),
       resolution_callback_(resolution_callback) {}
 
@@ -40,9 +38,9 @@
 
 scoped_refptr<ClientSocketPool::SocketParams>
 ClientSocketPool::SocketParams::CreateForHttpForTesting() {
-  return base::MakeRefCounted<SocketParams>(
-      MutableNetworkTrafficAnnotationTag(), nullptr /* ssl_config_for_origin */,
-      nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
+  return base::MakeRefCounted<SocketParams>(nullptr /* ssl_config_for_origin */,
+                                            nullptr /* ssl_config_for_proxy */,
+                                            OnHostResolutionCallback());
 }
 
 ClientSocketPool::GroupId::GroupId()
@@ -76,10 +74,6 @@
       result = "ssl/" + result;
       break;
 
-    case ClientSocketPool::SocketType::kSslVersionInterferenceProbe:
-      result = "version-interference-probe/ssl/" + result;
-      break;
-
     case ClientSocketPool::SocketType::kFtp:
       result = "ftp/" + result;
       break;
@@ -128,18 +122,15 @@
     GroupId group_id,
     scoped_refptr<SocketParams> socket_params,
     const ProxyServer& proxy_server,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     bool is_for_websockets,
     const CommonConnectJobParams* common_connect_job_params,
     RequestPriority request_priority,
     SocketTag socket_tag,
     ConnectJob::Delegate* delegate) {
-  bool using_ssl =
-      (group_id.socket_type() == ClientSocketPool::SocketType::kSsl ||
-       group_id.socket_type() ==
-           ClientSocketPool::SocketType::kSslVersionInterferenceProbe);
+  bool using_ssl = group_id.socket_type() == ClientSocketPool::SocketType::kSsl;
   return ConnectJob::CreateConnectJob(
-      using_ssl, group_id.destination(), proxy_server,
-      socket_params->proxy_annotation_tag(),
+      using_ssl, group_id.destination(), proxy_server, proxy_annotation_tag,
       socket_params->ssl_config_for_origin(),
       socket_params->ssl_config_for_proxy(), is_for_websockets,
       group_id.privacy_mode(), socket_params->resolution_callback(),
diff --git a/net/socket/client_socket_pool.h b/net/socket/client_socket_pool.h
index 5658c61..7cddea9a 100644
--- a/net/socket/client_socket_pool.h
+++ b/net/socket/client_socket_pool.h
@@ -10,6 +10,7 @@
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/optional.h"
 #include "base/time/time.h"
 #include "net/base/completion_once_callback.h"
 #include "net/base/load_states.h"
@@ -21,7 +22,6 @@
 #include "net/log/net_log_capture_mode.h"
 #include "net/socket/connect_job.h"
 #include "net/socket/socket_tag.h"
-#include "net/traffic_annotation/network_traffic_annotation.h"
 
 namespace base {
 class DictionaryValue;
@@ -38,6 +38,7 @@
 class HttpAuthController;
 class HttpResponseInfo;
 class NetLogWithSource;
+struct NetworkTrafficAnnotationTag;
 class ProxyServer;
 struct SSLConfig;
 class StreamSocket;
@@ -102,9 +103,6 @@
     // destination, though not necessarily to the proxy, if there is one.
     kSsl,
 
-    // This is a connection for probing for SSL-breaking interference.
-    kSslVersionInterferenceProbe,
-
     // This is a connection through an HTTP proxy being used for FTP requests.
     kFtp,
   };
@@ -180,8 +178,7 @@
    public:
     // For non-SSL requests / non-HTTPS proxies, the corresponding SSLConfig
     // argument may be nullptr.
-    SocketParams(MutableNetworkTrafficAnnotationTag proxy_annotation_tag,
-                 std::unique_ptr<SSLConfig> ssl_config_for_origin,
+    SocketParams(std::unique_ptr<SSLConfig> ssl_config_for_origin,
                  std::unique_ptr<SSLConfig> ssl_config_for_proxy,
                  const OnHostResolutionCallback& resolution_callback);
 
@@ -189,10 +186,6 @@
     // works for the HTTP case only.
     static scoped_refptr<SocketParams> CreateForHttpForTesting();
 
-    MutableNetworkTrafficAnnotationTag proxy_annotation_tag() const {
-      return proxy_annotation_tag_;
-    }
-
     const SSLConfig* ssl_config_for_origin() const {
       return ssl_config_for_origin_.get();
     }
@@ -209,7 +202,6 @@
     friend class base::RefCounted<SocketParams>;
     ~SocketParams();
 
-    MutableNetworkTrafficAnnotationTag proxy_annotation_tag_;
     std::unique_ptr<SSLConfig> ssl_config_for_origin_;
     std::unique_ptr<SSLConfig> ssl_config_for_proxy_;
     const OnHostResolutionCallback resolution_callback_;
@@ -251,18 +243,23 @@
   //
   // If |respect_limits| is DISABLED, priority must be HIGHEST.
   //
+  // |proxy_annotation_tag| is the annotation used for proxy-related reads and
+  // writes, and may be nullopt if (and only if) no proxy is in use.
+  //
   // |proxy_auth_callback| will be invoked each time an auth challenge is seen
   // while establishing a tunnel. It will be invoked asynchronously, once for
   // each auth challenge seen.
-  virtual int RequestSocket(const GroupId& group_id,
-                            scoped_refptr<SocketParams> params,
-                            RequestPriority priority,
-                            const SocketTag& socket_tag,
-                            RespectLimits respect_limits,
-                            ClientSocketHandle* handle,
-                            CompletionOnceCallback callback,
-                            const ProxyAuthCallback& proxy_auth_callback,
-                            const NetLogWithSource& net_log) = 0;
+  virtual int RequestSocket(
+      const GroupId& group_id,
+      scoped_refptr<SocketParams> params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+      RequestPriority priority,
+      const SocketTag& socket_tag,
+      RespectLimits respect_limits,
+      ClientSocketHandle* handle,
+      CompletionOnceCallback callback,
+      const ProxyAuthCallback& proxy_auth_callback,
+      const NetLogWithSource& net_log) = 0;
 
   // RequestSockets is used to request that |num_sockets| be connected in the
   // connection group for |group_id|.  If the connection group already has
@@ -274,10 +271,12 @@
   // This priority will probably be lower than all others, since this method
   // is intended to make sure ahead of time that |num_sockets| sockets are
   // available to talk to a host.
-  virtual void RequestSockets(const GroupId& group_id,
-                              scoped_refptr<SocketParams> params,
-                              int num_sockets,
-                              const NetLogWithSource& net_log) = 0;
+  virtual void RequestSockets(
+      const GroupId& group_id,
+      scoped_refptr<SocketParams> params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+      int num_sockets,
+      const NetLogWithSource& net_log) = 0;
 
   // Called to change the priority of a RequestSocket call that returned
   // ERR_IO_PENDING and has not yet asynchronously completed.  The same handle
@@ -365,6 +364,7 @@
       GroupId group_id,
       scoped_refptr<SocketParams> socket_params,
       const ProxyServer& proxy_server,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
       bool is_for_websockets,
       const CommonConnectJobParams* common_connect_job_params,
       RequestPriority request_priority,
diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc
index f0ebdb59..bf7d9e5 100644
--- a/net/socket/client_socket_pool_base_unittest.cc
+++ b/net/socket/client_socket_pool_base_unittest.cc
@@ -16,6 +16,7 @@
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "base/message_loop/message_loop.h"
+#include "base/optional.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "base/stl_util.h"
@@ -52,6 +53,7 @@
 #include "net/ssl/ssl_cert_request_info.h"
 #include "net/test/gtest_util.h"
 #include "net/test/test_with_scoped_task_environment.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -566,6 +568,7 @@
   std::unique_ptr<ConnectJob> NewConnectJob(
       ClientSocketPool::GroupId group_id,
       scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
       RequestPriority request_priority,
       SocketTag socket_tag,
       ConnectJob::Delegate* delegate) const override {
@@ -712,11 +715,11 @@
   BoundTestNetLog log;
   TestLoadTimingInfoNotConnected(handle);
 
-  EXPECT_EQ(
-      OK, handle.Init(
-              TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-              ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-              ClientSocketPool::ProxyAuthCallback(), pool_.get(), log.bound()));
+  EXPECT_EQ(OK, handle.Init(
+                    TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                    pool_.get(), log.bound()));
   EXPECT_TRUE(handle.is_initialized());
   EXPECT_TRUE(handle.socket());
   TestLoadTimingInfoConnectedNotReused(handle);
@@ -754,10 +757,10 @@
   handle.set_ssl_cert_request_info(base::MakeRefCounted<SSLCertRequestInfo>());
   EXPECT_EQ(
       ERR_CONNECTION_FAILED,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  log.bound()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), log.bound()));
   EXPECT_FALSE(handle.socket());
   EXPECT_FALSE(handle.is_ssl_error());
   EXPECT_FALSE(handle.ssl_cert_request_info());
@@ -790,7 +793,6 @@
   const ClientSocketPool::SocketType kSocketTypes[] = {
       ClientSocketPool::SocketType::kHttp,
       ClientSocketPool::SocketType::kSsl,
-      ClientSocketPool::SocketType::kSslVersionInterferenceProbe,
       ClientSocketPool::SocketType::kFtp,
   };
 
@@ -821,8 +823,8 @@
         // Since the group is empty, requesting a socket should not complete
         // synchronously.
         EXPECT_THAT(
-            handle.Init(group_id, params_, DEFAULT_PRIORITY, SocketTag(),
-                        ClientSocketPool::RespectLimits::ENABLED,
+            handle.Init(group_id, params_, base::nullopt, DEFAULT_PRIORITY,
+                        SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                         callback.callback(),
                         ClientSocketPool::ProxyAuthCallback(), pool_.get(),
                         NetLogWithSource()),
@@ -842,8 +844,8 @@
         // Requesting a socket again should return the same socket as before, so
         // should complete synchronously.
         EXPECT_THAT(
-            handle.Init(group_id, params_, DEFAULT_PRIORITY, SocketTag(),
-                        ClientSocketPool::RespectLimits::ENABLED,
+            handle.Init(group_id, params_, base::nullopt, DEFAULT_PRIORITY,
+                        SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                         callback.callback(),
                         ClientSocketPool::ProxyAuthCallback(), pool_.get(),
                         NetLogWithSource()),
@@ -1186,20 +1188,20 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
 
   ClientSocketHandle handles[4];
   for (size_t i = 0; i < base::size(handles); ++i) {
     TestCompletionCallback callback;
     EXPECT_EQ(ERR_IO_PENDING,
               handles[i].Init(
-                  TestGroupId("b"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+                  TestGroupId("b"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   }
 
   // One will be stalled, cancel all the handles now.
@@ -1217,12 +1219,13 @@
     ClientSocketHandle handles[kDefaultMaxSockets];
     TestCompletionCallback callbacks[kDefaultMaxSockets];
     for (int i = 0; i < kDefaultMaxSockets; ++i) {
-      EXPECT_EQ(OK, handles[i].Init(TestGroupId(base::NumberToString(i)),
-                                    params_, DEFAULT_PRIORITY, SocketTag(),
-                                    ClientSocketPool::RespectLimits::ENABLED,
-                                    callbacks[i].callback(),
-                                    ClientSocketPool::ProxyAuthCallback(),
-                                    pool_.get(), NetLogWithSource()));
+      EXPECT_EQ(OK,
+                handles[i].Init(TestGroupId(base::NumberToString(i)), params_,
+                                base::nullopt, DEFAULT_PRIORITY, SocketTag(),
+                                ClientSocketPool::RespectLimits::ENABLED,
+                                callbacks[i].callback(),
+                                ClientSocketPool::ProxyAuthCallback(),
+                                pool_.get(), NetLogWithSource()));
     }
 
     // Force a stalled group.
@@ -1230,10 +1233,10 @@
     TestCompletionCallback callback;
     EXPECT_EQ(ERR_IO_PENDING,
               stalled_handle.Init(
-                  TestGroupId("foo"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+                  TestGroupId("foo"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
 
     // Cancel the stalled request.
     stalled_handle.Reset();
@@ -1258,7 +1261,7 @@
       TestCompletionCallback callback;
       EXPECT_EQ(ERR_IO_PENDING,
                 handles[i].Init(TestGroupId(base::NumberToString(i)), params_,
-                                DEFAULT_PRIORITY, SocketTag(),
+                                base::nullopt, DEFAULT_PRIORITY, SocketTag(),
                                 ClientSocketPool::RespectLimits::ENABLED,
                                 callback.callback(),
                                 ClientSocketPool::ProxyAuthCallback(),
@@ -1271,10 +1274,10 @@
     TestCompletionCallback callback;
     EXPECT_EQ(ERR_IO_PENDING,
               stalled_handle.Init(
-                  TestGroupId("foo"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+                  TestGroupId("foo"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
 
     // Since it is stalled, it should have no connect jobs.
     EXPECT_EQ(0u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("foo")));
@@ -1323,12 +1326,12 @@
     for (int i = 0; i < kDefaultMaxSockets; ++i) {
       TestCompletionCallback callback;
       EXPECT_EQ(
-          OK, handles[i].Init(TestGroupId(base::StringPrintf("Take 2: %d", i)),
-                              params_, DEFAULT_PRIORITY, SocketTag(),
-                              ClientSocketPool::RespectLimits::ENABLED,
-                              callback.callback(),
-                              ClientSocketPool::ProxyAuthCallback(),
-                              pool_.get(), NetLogWithSource()));
+          OK, handles[i].Init(
+                  TestGroupId(base::StringPrintf("Take 2: %d", i)), params_,
+                  base::nullopt, DEFAULT_PRIORITY, SocketTag(),
+                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
+                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                  NetLogWithSource()));
     }
 
     EXPECT_EQ(kDefaultMaxSockets, client_socket_factory_.allocation_count());
@@ -1338,10 +1341,10 @@
     // Now we will hit the socket limit.
     EXPECT_EQ(ERR_IO_PENDING,
               stalled_handle.Init(
-                  TestGroupId("foo"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+                  TestGroupId("foo"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
     EXPECT_TRUE(pool_->IsStalled());
 
     // Dropping out of scope will close all handles and return them to idle.
@@ -1365,7 +1368,7 @@
     ClientSocketHandle handle;
     TestCompletionCallback callback;
     EXPECT_EQ(OK, handle.Init(TestGroupId(base::NumberToString(i)), params_,
-                              DEFAULT_PRIORITY, SocketTag(),
+                              base::nullopt, DEFAULT_PRIORITY, SocketTag(),
                               ClientSocketPool::RespectLimits::ENABLED,
                               callback.callback(),
                               ClientSocketPool::ProxyAuthCallback(),
@@ -1385,8 +1388,8 @@
   // which is the one which we would close an idle socket for.  We shouldn't
   // close an idle socket though, since we should reuse the idle socket.
   EXPECT_EQ(OK, handle.Init(
-                    TestGroupId("0"), params_, DEFAULT_PRIORITY, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+                    TestGroupId("0"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource()));
 
@@ -1458,10 +1461,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   handle.Reset();
 }
 
@@ -1474,18 +1477,18 @@
 
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
 
   handle.Reset();
 
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED,
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                   callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                   pool_.get(), NetLogWithSource()));
 
@@ -1554,8 +1557,8 @@
   TestCompletionCallback callback;
   int rv = handle->Init(
       TestGroupId("a"),
-      ClientSocketPool::SocketParams::CreateForHttpForTesting(), LOWEST,
-      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      ClientSocketPool::SocketParams::CreateForHttpForTesting(), base::nullopt,
+      LOWEST, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
       nested_callback->callback(), ClientSocketPool::ProxyAuthCallback(), pool,
       NetLogWithSource());
   if (rv != ERR_IO_PENDING) {
@@ -1576,7 +1579,7 @@
   ClientSocketHandle handle;
   TestCompletionCallback second_result_callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED,
       base::BindOnce(&RequestSocketOnComplete, &handle, pool_.get(),
                      connect_job_factory_, TestConnectJob::kMockPendingJob,
@@ -1597,7 +1600,7 @@
   ClientSocketHandle handle;
   TestCompletionCallback second_result_callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED,
       base::BindOnce(&RequestSocketOnComplete, &handle, pool_.get(),
                      connect_job_factory_, TestConnectJob::kMockPendingJob,
@@ -1698,7 +1701,7 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -1706,8 +1709,8 @@
   // Cancel the active request.
   handle.Reset();
 
-  rv = handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -1724,7 +1727,7 @@
   TestCompletionCallback callback;
   BoundTestNetLog log;
   int rv = handle.Init(
-      TestGroupId("a"), params_, LOWEST, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, LOWEST, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), log.bound());
   EXPECT_THAT(rv, IsOk());
@@ -1739,18 +1742,18 @@
   BoundTestNetLog log;
   ClientSocketHandle handle1;
   int rv = handle1.Init(
-      TestGroupId("a"), params_, LOWEST, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, LOWEST, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), log.bound());
   EXPECT_THAT(rv, IsOk());
   ClientSocketHandle handle2;
-  rv = handle2.Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle2.Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), log.bound());
   ClientSocketHandle handle3;
-  rv = handle3.Init(TestGroupId("b"), params_, LOWEST, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle3.Init(TestGroupId("b"), params_, base::nullopt, LOWEST,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), log.bound());
   EXPECT_THAT(rv, IsOk());
@@ -1768,7 +1771,7 @@
   TestCompletionCallback callback;
   BoundTestNetLog log;
   int rv = handle.Init(
-      TestGroupId("a"), params_, LOWEST, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, LOWEST, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), log.bound());
   EXPECT_THAT(rv, IsOk());
@@ -1779,8 +1782,8 @@
   // Disconnect socket now to make the socket unusable.
   socket->Disconnect();
   ClientSocketHandle handle2;
-  rv = handle2.Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle2.Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), log.bound());
   EXPECT_THAT(rv, IsOk());
@@ -1835,7 +1838,7 @@
   TestCompletionCallback callback;
   BoundTestNetLog log;
   int rv = handle.Init(
-      TestGroupId("a"), params_, LOWEST, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, LOWEST, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), log.bound());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -1881,10 +1884,10 @@
   handle.set_ssl_cert_request_info(base::MakeRefCounted<SSLCertRequestInfo>());
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  log.bound()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), log.bound()));
   EXPECT_EQ(LOAD_STATE_CONNECTING,
             pool_->GetLoadState(TestGroupId("a"), &handle));
   EXPECT_THAT(callback.WaitForResult(), IsError(ERR_CONNECTION_FAILED));
@@ -1936,15 +1939,15 @@
 
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   BoundTestNetLog log2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -2002,7 +2005,7 @@
   size_t completion_count;  // unused
   TestSocketRequest req1(&request_order, &completion_count);
   int rv = req1.handle()->Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, req1.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2014,13 +2017,13 @@
 
   TestSocketRequest req2(&request_order, &completion_count);
   rv = req2.handle()->Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, req2.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   TestSocketRequest req3(&request_order, &completion_count);
   rv = req3.handle()->Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, req3.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2057,14 +2060,14 @@
   size_t completion_count;  // unused
   TestSocketRequest req1(&request_order, &completion_count);
   int rv = req1.handle()->Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, req1.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
 
   TestSocketRequest req2(&request_order, &completion_count);
   rv = req2.handle()->Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, req2.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2074,7 +2077,7 @@
 
   TestSocketRequest req3(&request_order, &completion_count);
   rv = req3.handle()->Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, req3.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2097,7 +2100,7 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2118,7 +2121,7 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2126,8 +2129,8 @@
 
   ClientSocketHandle handle2;
   TestCompletionCallback callback2;
-  rv = handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2166,7 +2169,7 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, MEDIUM, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, MEDIUM, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2176,8 +2179,8 @@
   // The first request should now be stalled at the socket group limit.
   ClientSocketHandle handle2;
   TestCompletionCallback callback2;
-  rv = handle2.Init(TestGroupId("a"), params_, HIGHEST, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle2.Init(TestGroupId("a"), params_, base::nullopt, HIGHEST,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2210,7 +2213,7 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2218,8 +2221,8 @@
   // Request for socket from another pool.
   ClientSocketHandle handle2;
   TestCompletionCallback callback2;
-  rv = handle2.Init(TestGroupId("b"), params_, DEFAULT_PRIORITY, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle2.Init(TestGroupId("b"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2228,8 +2231,8 @@
   // socket pool limit.
   ClientSocketHandle handle3;
   TestCompletionCallback callback3;
-  rv = handle3.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle3.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2263,10 +2266,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_CERT_COMMON_NAME_INVALID,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   EXPECT_TRUE(handle.is_initialized());
   EXPECT_TRUE(handle.socket());
 }
@@ -2279,10 +2282,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   EXPECT_EQ(LOAD_STATE_CONNECTING,
             pool_->GetLoadState(TestGroupId("a"), &handle));
   EXPECT_THAT(callback.WaitForResult(), IsError(ERR_CERT_COMMON_NAME_INVALID));
@@ -2299,10 +2302,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_CONNECTION_FAILED,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
   EXPECT_TRUE(handle.is_ssl_error());
@@ -2318,10 +2321,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   EXPECT_EQ(LOAD_STATE_CONNECTING,
             pool_->GetLoadState(TestGroupId("a"), &handle));
   EXPECT_THAT(callback.WaitForResult(), IsError(ERR_CONNECTION_FAILED));
@@ -2343,7 +2346,7 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, LOWEST, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, LOWEST, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   ASSERT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2364,7 +2367,7 @@
   // synchronously.
   BoundTestNetLog log;
   rv = handle.Init(
-      TestGroupId("a"), params_, LOWEST, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, LOWEST, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), log.bound());
   ASSERT_THAT(rv, IsOk());
@@ -2399,7 +2402,7 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, LOWEST, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, LOWEST, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   ASSERT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2408,8 +2411,8 @@
 
   ClientSocketHandle handle2;
   TestCompletionCallback callback2;
-  rv = handle2.Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle2.Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource());
   ASSERT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2441,8 +2444,8 @@
   // A new socket will be created rather than reusing the idle one.
   BoundTestNetLog log;
   TestCompletionCallback callback3;
-  rv = handle.Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle.Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback3.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), log.bound());
   ASSERT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2475,31 +2478,31 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   int rv = handle.Init(
-      TestGroupId("a"), params_, LOWEST, SocketTag(),
+      TestGroupId("a"), params_, base::nullopt, LOWEST, SocketTag(),
       ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
 
   ClientSocketHandle handle2;
   TestCompletionCallback callback2;
-  rv = handle2.Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle2.Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
 
   ClientSocketHandle handle3;
   TestCompletionCallback callback3;
-  rv = handle3.Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle3.Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback3.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
 
   ClientSocketHandle handle4;
   TestCompletionCallback callback4;
-  rv = handle4.Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle4.Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback4.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -2536,35 +2539,37 @@
   TestCompletionCallback callback_b[4];
 
   for (int i = 0; i < 2; ++i) {
-    EXPECT_EQ(
-        OK, handle_a[i].Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                             ClientSocketPool::RespectLimits::ENABLED,
-                             callback_a[i].callback(),
-                             ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                             NetLogWithSource()));
-    EXPECT_EQ(
-        OK, handle_b[i].Init(TestGroupId("b"), params_, LOWEST, SocketTag(),
-                             ClientSocketPool::RespectLimits::ENABLED,
-                             callback_b[i].callback(),
-                             ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                             NetLogWithSource()));
+    EXPECT_EQ(OK, handle_a[i].Init(TestGroupId("a"), params_, base::nullopt,
+                                   LOWEST, SocketTag(),
+                                   ClientSocketPool::RespectLimits::ENABLED,
+                                   callback_a[i].callback(),
+                                   ClientSocketPool::ProxyAuthCallback(),
+                                   pool_.get(), NetLogWithSource()));
+    EXPECT_EQ(OK, handle_b[i].Init(TestGroupId("b"), params_, base::nullopt,
+                                   LOWEST, SocketTag(),
+                                   ClientSocketPool::RespectLimits::ENABLED,
+                                   callback_b[i].callback(),
+                                   ClientSocketPool::ProxyAuthCallback(),
+                                   pool_.get(), NetLogWithSource()));
   }
 
   // Make 4 pending requests, 2 per group.
 
   for (int i = 2; i < 4; ++i) {
-    EXPECT_EQ(ERR_IO_PENDING,
-              handle_a[i].Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                               ClientSocketPool::RespectLimits::ENABLED,
-                               callback_a[i].callback(),
-                               ClientSocketPool::ProxyAuthCallback(),
-                               pool_.get(), NetLogWithSource()));
-    EXPECT_EQ(ERR_IO_PENDING,
-              handle_b[i].Init(TestGroupId("b"), params_, LOWEST, SocketTag(),
-                               ClientSocketPool::RespectLimits::ENABLED,
-                               callback_b[i].callback(),
-                               ClientSocketPool::ProxyAuthCallback(),
-                               pool_.get(), NetLogWithSource()));
+    EXPECT_EQ(
+        ERR_IO_PENDING,
+        handle_a[i].Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                         SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                         callback_a[i].callback(),
+                         ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                         NetLogWithSource()));
+    EXPECT_EQ(
+        ERR_IO_PENDING,
+        handle_b[i].Init(TestGroupId("b"), params_, base::nullopt, LOWEST,
+                         SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                         callback_b[i].callback(),
+                         ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                         NetLogWithSource()));
   }
 
   // Release b's socket first.  The order is important, because in
@@ -2656,7 +2661,7 @@
         handle2_.Init(
             TestGroupId("a"),
             ClientSocketPool::SocketParams::CreateForHttpForTesting(),
-            DEFAULT_PRIORITY, SocketTag(),
+            base::nullopt, DEFAULT_PRIORITY, SocketTag(),
             ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
             ClientSocketPool::ProxyAuthCallback(), pool_, NetLogWithSource()));
   }
@@ -2682,12 +2687,12 @@
   connect_job_factory_->set_job_type(
       TestConnectJob::kMockPendingAdditionalErrorStateJob);
   TestReleasingSocketRequest req(pool_.get(), OK, false);
-  EXPECT_EQ(
-      ERR_IO_PENDING,
-      req.handle()->Init(TestGroupId("a"), params_, DEFAULT_PRIORITY,
-                         SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
-                         req.callback(), ClientSocketPool::ProxyAuthCallback(),
-                         pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(ERR_IO_PENDING,
+            req.handle()->Init(
+                TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                req.callback(), ClientSocketPool::ProxyAuthCallback(),
+                pool_.get(), NetLogWithSource()));
   // The next job should complete synchronously
   connect_job_factory_->set_job_type(TestConnectJob::kMockJob);
 
@@ -2714,10 +2719,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
 
   pool_->FlushWithError(ERR_NETWORK_CHANGED);
 
@@ -2733,10 +2738,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback.WaitForResult(), IsOk());
   EXPECT_EQ(ClientSocketHandle::UNUSED, handle.reuse_type());
 
@@ -2747,10 +2752,10 @@
 
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback.WaitForResult(), IsOk());
   EXPECT_EQ(ClientSocketHandle::UNUSED, handle.reuse_type());
 }
@@ -2777,12 +2782,13 @@
  private:
   void OnComplete(int result) {
     SetResult(result);
-    EXPECT_EQ(ERR_IO_PENDING,
-              handle_.Init(group_id_, params_, DEFAULT_PRIORITY, SocketTag(),
-                           ClientSocketPool::RespectLimits::ENABLED,
-                           nested_callback_.callback(),
-                           ClientSocketPool::ProxyAuthCallback(), pool_,
-                           NetLogWithSource()));
+    EXPECT_EQ(
+        ERR_IO_PENDING,
+        handle_.Init(group_id_, params_, base::nullopt, DEFAULT_PRIORITY,
+                     SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                     nested_callback_.callback(),
+                     ClientSocketPool::ProxyAuthCallback(), pool_,
+                     NetLogWithSource()));
   }
 
   const ClientSocketPool::GroupId group_id_;
@@ -2804,10 +2810,10 @@
   ConnectWithinCallback callback(TestGroupId("a"), params_, pool_.get());
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
 
   // Second job will be started during the first callback, and will
   // asynchronously complete with OK.
@@ -2826,10 +2832,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("bar"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("bar"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   // The backup timer fires but doesn't start a new ConnectJob while resolving
   // the hostname.
   client_socket_factory_.SetJobLoadState(0, LOAD_STATE_RESOLVING_HOST);
@@ -2856,10 +2862,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("bar"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("bar"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   // The backup timer fires but doesn't start a new ConnectJob while resolving
   // the hostname.
   client_socket_factory_.SetJobLoadState(0, LOAD_STATE_RESOLVING_HOST);
@@ -2888,18 +2894,18 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("bar"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("bar"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
 
   // Start (MaxSockets - 1) connected sockets to reach max sockets.
   connect_job_factory_->set_job_type(TestConnectJob::kMockJob);
   ClientSocketHandle handles[kDefaultMaxSockets];
   for (int i = 1; i < kDefaultMaxSockets; ++i) {
     TestCompletionCallback callback;
-    EXPECT_EQ(OK, handles[i].Init(TestGroupId("bar"), params_, DEFAULT_PRIORITY,
-                                  SocketTag(),
+    EXPECT_EQ(OK, handles[i].Init(TestGroupId("bar"), params_, base::nullopt,
+                                  DEFAULT_PRIORITY, SocketTag(),
                                   ClientSocketPool::RespectLimits::ENABLED,
                                   callback.callback(),
                                   ClientSocketPool::ProxyAuthCallback(),
@@ -2929,10 +2935,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("bar"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("bar"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("bar")));
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("bar")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -2961,17 +2967,17 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("bar"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("bar"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob);
   ClientSocketHandle handle2;
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("bar"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("bar"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("bar")));
@@ -2998,8 +3004,8 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback.WaitForResult(), IsOk());
@@ -3013,8 +3019,8 @@
   ClientSocketHandle handle2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   // No idle sockets, and one connecting job.
@@ -3054,8 +3060,8 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback.WaitForResult(), IsOk());
@@ -3069,8 +3075,8 @@
   ClientSocketHandle handle2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   // No idle sockets, and one connecting job.
@@ -3112,8 +3118,8 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback.WaitForResult(), IsOk());
@@ -3127,8 +3133,8 @@
   ClientSocketHandle handle2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   // No idle sockets, and one connecting job.
@@ -3173,8 +3179,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
@@ -3188,8 +3194,8 @@
   // when created.
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3209,8 +3215,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3218,16 +3224,16 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   ClientSocketHandle handle3;
   TestCompletionCallback callback3;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle3.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle3.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback3.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3246,18 +3252,18 @@
   handle3.Reset();
 
   EXPECT_EQ(OK, handle1.Init(
-                    TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+                    TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource()));
   EXPECT_EQ(OK, handle2.Init(
-                    TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+                    TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource()));
   EXPECT_EQ(OK, handle3.Init(
-                    TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+                    TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback3.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource()));
 
@@ -3270,7 +3276,8 @@
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob);
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(2u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
@@ -3284,8 +3291,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3293,8 +3300,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3326,8 +3333,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3339,7 +3346,8 @@
             pool_->NumUnassignedConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->IdleSocketCountInGroup(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
 
   EXPECT_EQ(2u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -3352,8 +3360,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3386,8 +3394,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3395,8 +3403,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3404,8 +3412,8 @@
   TestCompletionCallback callback3;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle3.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle3.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback3.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3417,7 +3425,8 @@
             pool_->NumUnassignedConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->IdleSocketCountInGroup(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
 
   EXPECT_EQ(3u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -3447,8 +3456,8 @@
 
   ASSERT_FALSE(pool_->HasGroupForTesting(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, kDefaultMaxSockets,
-                        NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt,
+                        kDefaultMaxSockets, NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(kDefaultMaxSockets,
@@ -3464,8 +3473,8 @@
 
   ASSERT_FALSE(pool_->HasGroupForTesting(TestGroupId("b")));
 
-  pool_->RequestSockets(TestGroupId("b"), params_, kDefaultMaxSockets,
-                        NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("b"), params_, base::nullopt,
+                        kDefaultMaxSockets, NetLogWithSource());
 
   ASSERT_FALSE(pool_->HasGroupForTesting(TestGroupId("b")));
 }
@@ -3476,8 +3485,8 @@
 
   ASSERT_FALSE(pool_->HasGroupForTesting(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, kDefaultMaxSockets - 1,
-                        NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt,
+                        kDefaultMaxSockets - 1, NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(kDefaultMaxSockets - 1,
@@ -3494,8 +3503,8 @@
 
   ASSERT_FALSE(pool_->HasGroupForTesting(TestGroupId("b")));
 
-  pool_->RequestSockets(TestGroupId("b"), params_, kDefaultMaxSockets,
-                        NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("b"), params_, base::nullopt,
+                        kDefaultMaxSockets, NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("b")));
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("b")));
@@ -3510,8 +3519,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   ASSERT_THAT(callback1.WaitForResult(), IsOk());
@@ -3525,7 +3534,8 @@
             pool_->NumUnassignedConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->IdleSocketCountInGroup(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
 
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -3543,8 +3553,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   ASSERT_THAT(callback1.WaitForResult(), IsOk());
@@ -3558,7 +3568,8 @@
   EXPECT_EQ(0u, pool_->IdleSocketCountInGroup(TestGroupId("a")));
   EXPECT_EQ(1, pool_->NumActiveSocketsInGroupForTesting(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
 
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -3573,8 +3584,8 @@
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   connect_job_factory_->set_job_type(TestConnectJob::kMockJob);
 
-  pool_->RequestSockets(TestGroupId("a"), params_, kDefaultMaxSocketsPerGroup,
-                        NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt,
+                        kDefaultMaxSocketsPerGroup, NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
@@ -3585,8 +3596,8 @@
   EXPECT_EQ(kDefaultMaxSocketsPerGroup,
             static_cast<int>(pool_->IdleSocketCountInGroup(TestGroupId("a"))));
 
-  pool_->RequestSockets(TestGroupId("b"), params_, kDefaultMaxSocketsPerGroup,
-                        NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("b"), params_, base::nullopt,
+                        kDefaultMaxSocketsPerGroup, NetLogWithSource());
 
   EXPECT_EQ(0u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("b")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -3601,15 +3612,15 @@
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   connect_job_factory_->set_job_type(TestConnectJob::kMockFailingJob);
 
-  pool_->RequestSockets(TestGroupId("a"), params_, kDefaultMaxSocketsPerGroup,
-                        NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt,
+                        kDefaultMaxSocketsPerGroup, NetLogWithSource());
 
   ASSERT_FALSE(pool_->HasGroupForTesting(TestGroupId("a")));
 
   connect_job_factory_->set_job_type(
       TestConnectJob::kMockAdditionalErrorStateJob);
-  pool_->RequestSockets(TestGroupId("a"), params_, kDefaultMaxSocketsPerGroup,
-                        NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt,
+                        kDefaultMaxSocketsPerGroup, NetLogWithSource());
 
   ASSERT_FALSE(pool_->HasGroupForTesting(TestGroupId("a")));
 }
@@ -3618,7 +3629,8 @@
   CreatePool(4, 4);
   connect_job_factory_->set_job_type(TestConnectJob::kMockWaitingJob);
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(2u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
@@ -3629,7 +3641,8 @@
   EXPECT_EQ(0, pool_->NumActiveSocketsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->IdleSocketCountInGroup(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
   EXPECT_EQ(2u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(2u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
                     TestGroupId("a")));
@@ -3642,8 +3655,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3662,8 +3675,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   client_socket_factory_.SignalJob(0);
@@ -3688,7 +3701,8 @@
   EXPECT_EQ(0, pool_->NumActiveSocketsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(2u, pool_->IdleSocketCountInGroup(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
   EXPECT_EQ(0u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
                     TestGroupId("a")));
@@ -3702,7 +3716,8 @@
   CreatePool(4, 4);
   connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob);
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 1, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 1,
+                        NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
@@ -3712,7 +3727,8 @@
             pool_->NumUnassignedConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->IdleSocketCountInGroup(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
   EXPECT_EQ(2u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(2u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
                     TestGroupId("a")));
@@ -3720,7 +3736,8 @@
             pool_->NumUnassignedConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->IdleSocketCountInGroup(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 3, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 3,
+                        NetLogWithSource());
   EXPECT_EQ(3u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(3u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
                     TestGroupId("a")));
@@ -3728,7 +3745,8 @@
             pool_->NumUnassignedConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->IdleSocketCountInGroup(TestGroupId("a")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 1, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 1,
+                        NetLogWithSource());
   EXPECT_EQ(3u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(3u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
                     TestGroupId("a")));
@@ -3741,7 +3759,8 @@
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   connect_job_factory_->set_job_type(TestConnectJob::kMockWaitingJob);
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 1, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 1,
+                        NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
@@ -3755,8 +3774,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3791,7 +3810,8 @@
 TEST_F(ClientSocketPoolBaseTest, ConnectedPreconnectJobsHaveNoConnectTimes) {
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   connect_job_factory_->set_job_type(TestConnectJob::kMockJob);
-  pool_->RequestSockets(TestGroupId("a"), params_, 1, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 1,
+                        NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
@@ -3804,8 +3824,8 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   EXPECT_EQ(OK, handle.Init(
-                    TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+                    TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource()));
 
@@ -3832,8 +3852,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
@@ -3861,14 +3881,14 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("b"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("b"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("b"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("b"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -3895,7 +3915,8 @@
   // Requesting 2 preconnected sockets for "a" should fail to allocate any more
   // sockets for "a", and "b" should still have 2 active sockets.
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
   EXPECT_EQ(0u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
                     TestGroupId("a")));
@@ -3919,7 +3940,8 @@
   EXPECT_EQ(2u, pool_->IdleSocketCountInGroup(TestGroupId("b")));
   EXPECT_EQ(0, pool_->NumActiveSocketsInGroupForTesting(TestGroupId("b")));
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 2, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 2,
+                        NetLogWithSource());
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
                     TestGroupId("a")));
@@ -3944,7 +3966,8 @@
   connect_job_factory_->set_job_type(TestConnectJob::kMockWaitingJob);
   connect_job_factory_->set_timeout_duration(
       base::TimeDelta::FromMilliseconds(500));
-  pool_->RequestSockets(TestGroupId("a"), params_, 1, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 1,
+                        NetLogWithSource());
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
                     TestGroupId("a")));
@@ -3969,7 +3992,8 @@
 
   // Make the ConnectJob hang forever.
   connect_job_factory_->set_job_type(TestConnectJob::kMockWaitingJob);
-  pool_->RequestSockets(TestGroupId("a"), params_, 1, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 1,
+                        NetLogWithSource());
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
                     TestGroupId("a")));
@@ -3984,10 +4008,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   // Timer has started, but the backup connect job shouldn't be created yet.
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -4015,7 +4039,8 @@
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   connect_job_factory_->set_job_type(TestConnectJob::kMockUnreadDataJob);
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 1, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 1,
+                        NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
@@ -4031,8 +4056,8 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   EXPECT_EQ(OK, handle.Init(
-                    TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+                    TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource()));
 
@@ -4063,8 +4088,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4087,8 +4112,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4103,8 +4128,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4140,7 +4165,8 @@
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   connect_job_factory_->set_job_type(TestConnectJob::kMockWaitingJob);
 
-  pool_->RequestSockets(TestGroupId("a"), params_, 1, NetLogWithSource());
+  pool_->RequestSockets(TestGroupId("a"), params_, base::nullopt, 1,
+                        NetLogWithSource());
 
   ASSERT_TRUE(pool_->HasGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
@@ -4154,8 +4180,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4178,8 +4204,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4198,8 +4224,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, HIGHEST, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, HIGHEST,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4224,12 +4250,13 @@
 
   ClientSocketHandle handle_lowest;
   TestCompletionCallback callback_lowest;
-  EXPECT_EQ(ERR_IO_PENDING,
-            handle_lowest.Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                               ClientSocketPool::RespectLimits::ENABLED,
-                               callback_lowest.callback(),
-                               ClientSocketPool::ProxyAuthCallback(),
-                               pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(
+      ERR_IO_PENDING,
+      handle_lowest.Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                         SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                         callback_lowest.callback(),
+                         ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                         NetLogWithSource()));
 
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -4240,12 +4267,13 @@
 
   ClientSocketHandle handle_highest;
   TestCompletionCallback callback_highest;
-  EXPECT_EQ(ERR_IO_PENDING,
-            handle_highest.Init(TestGroupId("a"), params_, HIGHEST, SocketTag(),
-                                ClientSocketPool::RespectLimits::ENABLED,
-                                callback_highest.callback(),
-                                ClientSocketPool::ProxyAuthCallback(),
-                                pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(
+      ERR_IO_PENDING,
+      handle_highest.Init(TestGroupId("a"), params_, base::nullopt, HIGHEST,
+                          SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                          callback_highest.callback(),
+                          ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                          NetLogWithSource()));
 
   EXPECT_EQ(2u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -4257,11 +4285,11 @@
   ClientSocketHandle handle_low;
   TestCompletionCallback callback_low;
   EXPECT_EQ(ERR_IO_PENDING,
-            handle_low.Init(TestGroupId("a"), params_, LOW, SocketTag(),
-                            ClientSocketPool::RespectLimits::ENABLED,
-                            callback_low.callback(),
-                            ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                            NetLogWithSource()));
+            handle_low.Init(
+                TestGroupId("a"), params_, base::nullopt, LOW, SocketTag(),
+                ClientSocketPool::RespectLimits::ENABLED,
+                callback_low.callback(), ClientSocketPool::ProxyAuthCallback(),
+                pool_.get(), NetLogWithSource()));
 
   EXPECT_EQ(3u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -4272,12 +4300,13 @@
 
   ClientSocketHandle handle_lowest2;
   TestCompletionCallback callback_lowest2;
-  EXPECT_EQ(ERR_IO_PENDING,
-            handle_lowest2.Init(TestGroupId("a"), params_, LOWEST, SocketTag(),
-                                ClientSocketPool::RespectLimits::ENABLED,
-                                callback_lowest2.callback(),
-                                ClientSocketPool::ProxyAuthCallback(),
-                                pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(
+      ERR_IO_PENDING,
+      handle_lowest2.Init(TestGroupId("a"), params_, base::nullopt, LOWEST,
+                          SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                          callback_lowest2.callback(),
+                          ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                          NetLogWithSource()));
 
   EXPECT_EQ(3u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -4300,12 +4329,13 @@
   // lowest priority request with a job.
   ClientSocketHandle handle_medium;
   TestCompletionCallback callback_medium;
-  EXPECT_EQ(ERR_IO_PENDING,
-            handle_medium.Init(TestGroupId("a"), params_, MEDIUM, SocketTag(),
-                               ClientSocketPool::RespectLimits::ENABLED,
-                               callback_medium.callback(),
-                               ClientSocketPool::ProxyAuthCallback(),
-                               pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(
+      ERR_IO_PENDING,
+      handle_medium.Init(TestGroupId("a"), params_, base::nullopt, MEDIUM,
+                         SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                         callback_medium.callback(),
+                         ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                         NetLogWithSource()));
 
   EXPECT_EQ(3u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
   EXPECT_EQ(0u, pool_->NumNeverAssignedConnectJobsInGroupForTesting(
@@ -4333,8 +4363,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4349,8 +4379,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4384,8 +4414,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4403,8 +4433,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4442,8 +4472,8 @@
   TestCompletionCallback callback1;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle1.Init(TestGroupId("a"), params_, HIGHEST, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle1.Init(TestGroupId("a"), params_, base::nullopt, HIGHEST,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4458,8 +4488,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle2.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4505,15 +4535,15 @@
   int RequestSocket(TransportClientSocketPool* pool) {
     return handle_.Init(
         group_id_, ClientSocketPool::SocketParams::CreateForHttpForTesting(),
-        DEFAULT_PRIORITY, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
-        callback_.callback(), ClientSocketPool::ProxyAuthCallback(), pool,
-        NetLogWithSource());
+        base::nullopt, DEFAULT_PRIORITY, SocketTag(),
+        ClientSocketPool::RespectLimits::ENABLED, callback_.callback(),
+        ClientSocketPool::ProxyAuthCallback(), pool, NetLogWithSource());
   }
 
   int RequestSocketWithoutLimits(TransportClientSocketPool* pool) {
     return handle_.Init(
         group_id_, ClientSocketPool::SocketParams::CreateForHttpForTesting(),
-        MAXIMUM_PRIORITY, SocketTag(),
+        base::nullopt, MAXIMUM_PRIORITY, SocketTag(),
         ClientSocketPool::RespectLimits::DISABLED, callback_.callback(),
         ClientSocketPool::ProxyAuthCallback(), pool, NetLogWithSource());
   }
@@ -4556,10 +4586,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback.WaitForResult(), IsOk());
 }
 
@@ -4580,10 +4610,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   base::RunLoop().RunUntilIdle();
   EXPECT_FALSE(callback.have_result());
 }
@@ -4602,11 +4632,12 @@
   // has the maximum number of connections already, it's not stalled).
   ClientSocketHandle handle1;
   TestCompletionCallback callback1;
-  EXPECT_EQ(OK, handle1.Init(
-                    TestGroupId("group1"), params_, DEFAULT_PRIORITY,
-                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
-                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
-                    pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(OK, handle1.Init(TestGroupId("group1"), params_, base::nullopt,
+                             DEFAULT_PRIORITY, SocketTag(),
+                             ClientSocketPool::RespectLimits::ENABLED,
+                             callback1.callback(),
+                             ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                             NetLogWithSource()));
 
   MockLayeredPool mock_layered_pool(pool_.get(), TestGroupId("group2"));
   EXPECT_THAT(mock_layered_pool.RequestSocket(pool_.get()), IsOk());
@@ -4615,12 +4646,12 @@
                        &MockLayeredPool::ReleaseOneConnection));
   ClientSocketHandle handle;
   TestCompletionCallback callback2;
-  EXPECT_EQ(
-      ERR_IO_PENDING,
-      handle.Init(TestGroupId("group2"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED,
-                  callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
-                  pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(ERR_IO_PENDING,
+            handle.Init(
+                TestGroupId("group2"), params_, base::nullopt, DEFAULT_PRIORITY,
+                SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
+                pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback2.WaitForResult(), IsOk());
 }
 
@@ -4638,11 +4669,12 @@
 
   ClientSocketHandle handle1;
   TestCompletionCallback callback1;
-  EXPECT_EQ(OK, handle1.Init(
-                    TestGroupId("group1"), params_, DEFAULT_PRIORITY,
-                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
-                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
-                    pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(OK, handle1.Init(TestGroupId("group1"), params_, base::nullopt,
+                             DEFAULT_PRIORITY, SocketTag(),
+                             ClientSocketPool::RespectLimits::ENABLED,
+                             callback1.callback(),
+                             ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                             NetLogWithSource()));
 
   MockLayeredPool mock_layered_pool(pool_.get(), TestGroupId("group2"));
   EXPECT_THAT(mock_layered_pool.RequestSocket(pool_.get()), IsOk());
@@ -4654,12 +4686,12 @@
   // The third request is made when the socket pool is in a stalled state.
   ClientSocketHandle handle3;
   TestCompletionCallback callback3;
-  EXPECT_EQ(
-      ERR_IO_PENDING,
-      handle3.Init(TestGroupId("group3"), params_, DEFAULT_PRIORITY,
-                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
-                   callback3.callback(), ClientSocketPool::ProxyAuthCallback(),
-                   pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(ERR_IO_PENDING,
+            handle3.Init(
+                TestGroupId("group3"), params_, base::nullopt, DEFAULT_PRIORITY,
+                SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                callback3.callback(), ClientSocketPool::ProxyAuthCallback(),
+                pool_.get(), NetLogWithSource()));
 
   base::RunLoop().RunUntilIdle();
   EXPECT_FALSE(callback3.have_result());
@@ -4670,12 +4702,12 @@
   mock_layered_pool.set_can_release_connection(true);
   ClientSocketHandle handle4;
   TestCompletionCallback callback4;
-  EXPECT_EQ(
-      ERR_IO_PENDING,
-      handle4.Init(TestGroupId("group3"), params_, DEFAULT_PRIORITY,
-                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
-                   callback4.callback(), ClientSocketPool::ProxyAuthCallback(),
-                   pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(ERR_IO_PENDING,
+            handle4.Init(
+                TestGroupId("group3"), params_, base::nullopt, DEFAULT_PRIORITY,
+                SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                callback4.callback(), ClientSocketPool::ProxyAuthCallback(),
+                pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback3.WaitForResult(), IsOk());
   EXPECT_FALSE(callback4.have_result());
 
@@ -4702,11 +4734,12 @@
 
   ClientSocketHandle handle1;
   TestCompletionCallback callback1;
-  EXPECT_EQ(OK, handle1.Init(
-                    TestGroupId("group1"), params_, DEFAULT_PRIORITY,
-                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
-                    callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
-                    pool_.get(), NetLogWithSource()));
+  EXPECT_EQ(OK, handle1.Init(TestGroupId("group1"), params_, base::nullopt,
+                             DEFAULT_PRIORITY, SocketTag(),
+                             ClientSocketPool::RespectLimits::ENABLED,
+                             callback1.callback(),
+                             ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+                             NetLogWithSource()));
 
   MockLayeredPool mock_layered_pool(pool_.get(), TestGroupId("group2"));
   EXPECT_THAT(mock_layered_pool.RequestSocket(pool_.get()), IsOk());
@@ -4720,8 +4753,8 @@
   TestCompletionCallback callback3;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle3.Init(TestGroupId("group3"), params_, MEDIUM, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle3.Init(TestGroupId("group3"), params_, base::nullopt, MEDIUM,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback3.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
 
@@ -4735,8 +4768,8 @@
   TestCompletionCallback callback4;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle4.Init(TestGroupId("group3"), params_, HIGHEST, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+      handle4.Init(TestGroupId("group3"), params_, base::nullopt, HIGHEST,
+                   SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback4.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback4.WaitForResult(), IsOk());
@@ -4767,10 +4800,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
   EXPECT_THAT(callback.WaitForResult(), IsOk());
 }
 
@@ -4849,10 +4882,10 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(TestGroupId("a"), params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()));
+      handle.Init(TestGroupId("a"), params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()));
 
   EXPECT_EQ(1u, pool_->NumConnectJobsInGroupForTesting(TestGroupId("a")));
 
@@ -4877,8 +4910,8 @@
           ClientSocketPool::RespectLimits::ENABLED,
       const ClientSocketPool::GroupId& group_id_in = TestGroupId("a")) {
     EXPECT_EQ(ERR_IO_PENDING,
-              handle_.Init(group_id_in, params, priority, SocketTag(),
-                           respect_limits, callback_.callback(),
+              handle_.Init(group_id_in, params, base::nullopt, priority,
+                           SocketTag(), respect_limits, callback_.callback(),
                            base::BindRepeating(&TestAuthHelper::AuthCallback,
                                                base::Unretained(this)),
                            pool, NetLogWithSource()));
@@ -5346,10 +5379,10 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   EXPECT_THAT(
-      handle.Init(kGroupId, params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()),
+      handle.Init(kGroupId, params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()),
       IsError(ERR_IO_PENDING));
 
   // Switch connect job types, so creating a new ConnectJob will result in
@@ -5370,7 +5403,8 @@
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   const ClientSocketPool::GroupId kGroupId = TestGroupId("a");
 
-  pool_->RequestSockets(kGroupId, params_, 2, NetLogWithSource());
+  pool_->RequestSockets(kGroupId, params_, base::nullopt, 2,
+                        NetLogWithSource());
   ASSERT_TRUE(pool_->HasGroupForTesting(kGroupId));
   EXPECT_EQ(2, pool_->IdleSocketCount());
   EXPECT_EQ(2u, pool_->IdleSocketCountInGroup(kGroupId));
@@ -5386,7 +5420,8 @@
   const ClientSocketPool::GroupId kGroupId = TestGroupId("a");
   const ClientSocketPool::GroupId kOtherGroupId = TestGroupId("b");
 
-  pool_->RequestSockets(kOtherGroupId, params_, 2, NetLogWithSource());
+  pool_->RequestSockets(kOtherGroupId, params_, base::nullopt, 2,
+                        NetLogWithSource());
   ASSERT_TRUE(pool_->HasGroupForTesting(kOtherGroupId));
   EXPECT_EQ(2, pool_->IdleSocketCount());
   EXPECT_EQ(2u, pool_->IdleSocketCountInGroup(kOtherGroupId));
@@ -5404,10 +5439,10 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   EXPECT_THAT(
-      handle.Init(kGroupId, params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()),
+      handle.Init(kGroupId, params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()),
       IsOk());
   ASSERT_TRUE(pool_->HasGroupForTesting(kGroupId));
   EXPECT_EQ(1, pool_->NumActiveSocketsInGroupForTesting(kGroupId));
@@ -5428,10 +5463,10 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
   EXPECT_THAT(
-      handle.Init(kOtherGroupId, params_, DEFAULT_PRIORITY, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), pool_.get(),
-                  NetLogWithSource()),
+      handle.Init(kOtherGroupId, params_, base::nullopt, DEFAULT_PRIORITY,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource()),
       IsOk());
   ASSERT_TRUE(pool_->HasGroupForTesting(kOtherGroupId));
   EXPECT_EQ(1, pool_->NumActiveSocketsInGroupForTesting(kOtherGroupId));
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
index aad5cdc..aaae25b 100644
--- a/net/socket/client_socket_pool_manager.cc
+++ b/net/socket/client_socket_pool_manager.cc
@@ -8,6 +8,7 @@
 
 #include "base/logging.h"
 #include "base/metrics/field_trial_params.h"
+#include "base/optional.h"
 #include "base/stl_util.h"
 #include "base/strings/stringprintf.h"
 #include "net/base/features.h"
@@ -66,7 +67,6 @@
     ClientSocketPoolManager::SocketGroupType group_type,
     const HostPortPair& endpoint,
     const ProxyInfo& proxy_info,
-    const SSLConfig& ssl_config_for_origin,
     PrivacyMode privacy_mode) {
   // Build the string used to uniquely identify connections of this type.
   // Determine the host and port to connect to.
@@ -77,11 +77,7 @@
   if (group_type == ClientSocketPoolManager::FTP_GROUP) {
     socket_type = ClientSocketPool::SocketType::kFtp;
   } else if (group_type == ClientSocketPoolManager::SSL_GROUP) {
-    if (!ssl_config_for_origin.version_interference_probe) {
-      socket_type = ClientSocketPool::SocketType::kSsl;
-    } else {
-      socket_type = ClientSocketPool::SocketType::kSslVersionInterferenceProbe;
-    }
+    socket_type = ClientSocketPool::SocketType::kSsl;
   }
 
   return ClientSocketPool::GroupId(endpoint, socket_type, privacy_mode);
@@ -93,17 +89,12 @@
 scoped_refptr<ClientSocketPool::SocketParams> CreateSocketParams(
     const ClientSocketPool::GroupId& group_id,
     const ProxyServer& proxy_server,
-    MutableNetworkTrafficAnnotationTag proxy_annotation_tag,
     const SSLConfig& ssl_config_for_origin,
     const SSLConfig& ssl_config_for_proxy,
     const OnHostResolutionCallback& resolution_callback) {
-  bool using_ssl =
-      (group_id.socket_type() == ClientSocketPool::SocketType::kSsl ||
-       group_id.socket_type() ==
-           ClientSocketPool::SocketType::kSslVersionInterferenceProbe);
+  bool using_ssl = group_id.socket_type() == ClientSocketPool::SocketType::kSsl;
   bool using_proxy_ssl = proxy_server.is_http_like() && !proxy_server.is_http();
   return base::MakeRefCounted<ClientSocketPool::SocketParams>(
-      proxy_annotation_tag,
       using_ssl ? std::make_unique<SSLConfig>(ssl_config_for_origin) : nullptr,
       using_proxy_ssl ? std::make_unique<SSLConfig>(ssl_config_for_proxy)
                       : nullptr,
@@ -139,12 +130,11 @@
   }
 
   ClientSocketPool::GroupId connection_group =
-      CreateGroupId(group_type, origin_host_port, proxy_info,
-                    ssl_config_for_origin, privacy_mode);
+      CreateGroupId(group_type, origin_host_port, proxy_info, privacy_mode);
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       CreateSocketParams(connection_group, proxy_info.proxy_server(),
-                         proxy_info.traffic_annotation(), ssl_config_for_origin,
-                         ssl_config_for_proxy, resolution_callback);
+                         ssl_config_for_origin, ssl_config_for_proxy,
+                         resolution_callback);
 
   ClientSocketPool* pool =
       session->GetSocketPool(socket_pool_type, proxy_info.proxy_server());
@@ -153,15 +143,20 @@
   if ((request_load_flags & LOAD_IGNORE_LIMITS) != 0)
     respect_limits = ClientSocketPool::RespectLimits::DISABLED;
 
+  base::Optional<NetworkTrafficAnnotationTag> proxy_annotation =
+      proxy_info.is_direct() ? base::nullopt
+                             : base::Optional<NetworkTrafficAnnotationTag>(
+                                   proxy_info.traffic_annotation());
   if (num_preconnect_streams) {
     pool->RequestSockets(connection_group, std::move(socket_params),
-                         num_preconnect_streams, net_log);
+                         proxy_annotation, num_preconnect_streams, net_log);
     return OK;
   }
 
-  return socket_handle->Init(
-      connection_group, std::move(socket_params), request_priority, socket_tag,
-      respect_limits, std::move(callback), proxy_auth_callback, pool, net_log);
+  return socket_handle->Init(connection_group, std::move(socket_params),
+                             proxy_annotation, request_priority, socket_tag,
+                             respect_limits, std::move(callback),
+                             proxy_auth_callback, pool, net_log);
 }
 
 }  // namespace
diff --git a/net/socket/client_socket_pool_unittest.cc b/net/socket/client_socket_pool_unittest.cc
index 515c97c6e..363e93d 100644
--- a/net/socket/client_socket_pool_unittest.cc
+++ b/net/socket/client_socket_pool_unittest.cc
@@ -27,7 +27,6 @@
   const ClientSocketPool::SocketType kSocketTypes[] = {
       ClientSocketPool::SocketType::kHttp,
       ClientSocketPool::SocketType::kSsl,
-      ClientSocketPool::SocketType::kSslVersionInterferenceProbe,
       ClientSocketPool::SocketType::kFtp,
   };
 
@@ -100,19 +99,6 @@
                                       PrivacyMode::PRIVACY_MODE_ENABLED)
                 .ToString());
 
-  EXPECT_EQ("version-interference-probe/ssl/foo:443",
-            ClientSocketPool::GroupId(
-                HostPortPair("foo", 443),
-                ClientSocketPool::SocketType::kSslVersionInterferenceProbe,
-                PrivacyMode::PRIVACY_MODE_DISABLED)
-                .ToString());
-  EXPECT_EQ("pm/version-interference-probe/ssl/bar:444",
-            ClientSocketPool::GroupId(
-                HostPortPair("bar", 444),
-                ClientSocketPool::SocketType::kSslVersionInterferenceProbe,
-                PrivacyMode::PRIVACY_MODE_ENABLED)
-                .ToString());
-
   EXPECT_EQ("ftp/foo:80",
             ClientSocketPool::GroupId(HostPortPair("foo", 80),
                                       ClientSocketPool::SocketType::kFtp,
diff --git a/net/socket/connect_job.cc b/net/socket/connect_job.cc
index 3a0fd94..7419124 100644
--- a/net/socket/connect_job.cc
+++ b/net/socket/connect_job.cc
@@ -20,6 +20,7 @@
 #include "net/socket/stream_socket.h"
 #include "net/socket/transport_connect_job.h"
 #include "net/ssl/ssl_config.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
 
 namespace net {
 
@@ -101,7 +102,7 @@
     bool using_ssl,
     const HostPortPair& endpoint,
     const ProxyServer& proxy_server,
-    MutableNetworkTrafficAnnotationTag proxy_annotation_tag,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     const SSLConfig* ssl_config_for_origin,
     const SSLConfig* ssl_config_for_proxy,
     bool force_tunnel,
@@ -134,14 +135,13 @@
       http_proxy_params = base::MakeRefCounted<HttpProxySocketParams>(
           std::move(proxy_tcp_params), std::move(ssl_params),
           proxy_server.is_quic(), endpoint, proxy_server.is_trusted_proxy(),
-          force_tunnel || using_ssl,
-          NetworkTrafficAnnotationTag(proxy_annotation_tag));
+          force_tunnel || using_ssl, *proxy_annotation_tag);
     } else {
       DCHECK(proxy_server.is_socks());
       socks_params = base::MakeRefCounted<SOCKSSocketParams>(
           std::move(proxy_tcp_params),
           proxy_server.scheme() == ProxyServer::SCHEME_SOCKS5, endpoint,
-          NetworkTrafficAnnotationTag(proxy_annotation_tag));
+          *proxy_annotation_tag);
     }
   }
 
diff --git a/net/socket/connect_job.h b/net/socket/connect_job.h
index 219ebc95..70083a8ff 100644
--- a/net/socket/connect_job.h
+++ b/net/socket/connect_job.h
@@ -11,6 +11,7 @@
 #include "base/callback_forward.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/optional.h"
 #include "base/time/time.h"
 #include "base/timer/timer.h"
 #include "net/base/address_list.h"
@@ -24,7 +25,6 @@
 #include "net/socket/socket_tag.h"
 #include "net/socket/ssl_client_socket.h"
 #include "net/third_party/quiche/src/quic/core/quic_versions.h"
-#include "net/traffic_annotation/network_traffic_annotation.h"
 
 namespace net {
 
@@ -39,6 +39,7 @@
 class NetLog;
 class NetLogWithSource;
 class NetworkQualityEstimator;
+struct NetworkTrafficAnnotationTag;
 class ProxyDelegate;
 class ProxyServer;
 class SocketPerformanceWatcherFactory;
@@ -161,7 +162,7 @@
       bool using_ssl,
       const HostPortPair& endpoint,
       const ProxyServer& proxy_server,
-      MutableNetworkTrafficAnnotationTag proxy_annotation_tag,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
       const SSLConfig* ssl_config_for_origin,
       const SSLConfig* ssl_config_for_proxy,
       bool force_tunnel,
diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc
index e9dc162..d930cbda 100644
--- a/net/socket/socket_test_util.cc
+++ b/net/socket/socket_test_util.cc
@@ -45,6 +45,7 @@
 #include "net/ssl/ssl_cert_request_info.h"
 #include "net/ssl/ssl_connection_status_flags.h"
 #include "net/ssl/ssl_info.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -2110,6 +2111,7 @@
 int MockTransportClientSocketPool::RequestSocket(
     const ClientSocketPool::GroupId& group_id,
     scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     RequestPriority priority,
     const SocketTag& socket_tag,
     RespectLimits respect_limits,
diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h
index 7ea23087..da7a02b 100644
--- a/net/socket/socket_test_util.h
+++ b/net/socket/socket_test_util.h
@@ -45,7 +45,6 @@
 #include "net/socket/transport_client_socket_pool.h"
 #include "net/ssl/ssl_config_service.h"
 #include "net/ssl/ssl_info.h"
-#include "net/traffic_annotation/network_traffic_annotation.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace base {
@@ -56,6 +55,7 @@
 
 struct CommonConnectJobParams;
 class NetLog;
+struct NetworkTrafficAnnotationTag;
 
 const NetworkChangeNotifier::NetworkHandle kDefaultNetworkForTests = 1;
 const NetworkChangeNotifier::NetworkHandle kNewNetworkForTests = 2;
@@ -1136,9 +1136,9 @@
         new TestSocketRequest(&request_order_, &completion_count_));
     requests_.push_back(base::WrapUnique(request));
     int rv = request->handle()->Init(
-        group_id, socket_params, priority, SocketTag(), respect_limits,
-        request->callback(), ClientSocketPool::ProxyAuthCallback(), socket_pool,
-        NetLogWithSource());
+        group_id, socket_params, base::nullopt /* proxy_annotation_tag */,
+        priority, SocketTag(), respect_limits, request->callback(),
+        ClientSocketPool::ProxyAuthCallback(), socket_pool, NetLogWithSource());
     if (rv != ERR_IO_PENDING)
       request_order_.push_back(request);
     return rv;
@@ -1234,15 +1234,17 @@
   int cancel_count() const { return cancel_count_; }
 
   // TransportClientSocketPool implementation.
-  int RequestSocket(const GroupId& group_id,
-                    scoped_refptr<ClientSocketPool::SocketParams> socket_params,
-                    RequestPriority priority,
-                    const SocketTag& socket_tag,
-                    RespectLimits respect_limits,
-                    ClientSocketHandle* handle,
-                    CompletionOnceCallback callback,
-                    const ProxyAuthCallback& on_auth_callback,
-                    const NetLogWithSource& net_log) override;
+  int RequestSocket(
+      const GroupId& group_id,
+      scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+      RequestPriority priority,
+      const SocketTag& socket_tag,
+      RespectLimits respect_limits,
+      ClientSocketHandle* handle,
+      CompletionOnceCallback callback,
+      const ProxyAuthCallback& on_auth_callback,
+      const NetLogWithSource& net_log) override;
   void SetPriority(const GroupId& group_id,
                    ClientSocketHandle* handle,
                    RequestPriority priority) override;
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
index 5aa5e59..49a3523 100644
--- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc
@@ -964,11 +964,6 @@
     return OK;
   }
 
-  if (ssl_config_.version_interference_probe) {
-    DCHECK_LT(ssl_config_.version_max, TLS1_3_VERSION);
-    return ERR_SSL_VERSION_INTERFERENCE;
-  }
-
   if (IsCachingEnabled()) {
     ssl_client_session_cache_->ResetLookupCount(GetSessionCacheKey());
   }
@@ -1625,11 +1620,7 @@
 }
 
 std::string SSLClientSocketImpl::GetSessionCacheKey() const {
-  std::string result = host_and_port_.ToString();
-
-  result.push_back('/');
-  result.push_back(ssl_config_.version_interference_probe ? '1' : '0');
-  return result;
+  return host_and_port_.ToString();
 }
 
 bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
diff --git a/net/socket/ssl_client_socket_unittest.cc b/net/socket/ssl_client_socket_unittest.cc
index d58d8ef..465c3bf 100644
--- a/net/socket/ssl_client_socket_unittest.cc
+++ b/net/socket/ssl_client_socket_unittest.cc
@@ -3087,37 +3087,6 @@
   EXPECT_THAT(rv, IsError(ERR_SSL_VERSION_OR_CIPHER_MISMATCH));
 }
 
-// Tests that the version_interference_probe option rejects successful
-// connections and passes errors through.
-TEST_F(SSLClientSocketTest, VersionInterferenceProbe) {
-  ASSERT_TRUE(StartTestServer(SpawnedTestServer::SSLOptions()));
-
-  SSLConfig ssl_config;
-  ssl_config.version_max = SSL_PROTOCOL_VERSION_TLS1_2;
-  ssl_config.version_interference_probe = true;
-
-  // Successful connections map to a dedicated error.
-  int rv;
-  ASSERT_TRUE(CreateAndConnectSSLClientSocket(ssl_config, &rv));
-  EXPECT_THAT(rv, IsError(ERR_SSL_VERSION_INTERFERENCE));
-
-  // Failed connections pass through.
-  TestCompletionCallback callback;
-  std::unique_ptr<StreamSocket> real_transport(
-      new TCPClientSocket(addr(), nullptr, nullptr, NetLogSource()));
-  std::unique_ptr<SynchronousErrorStreamSocket> transport(
-      new SynchronousErrorStreamSocket(std::move(real_transport)));
-  rv = callback.GetResult(transport->Connect(callback.callback()));
-  EXPECT_THAT(rv, IsOk());
-  SynchronousErrorStreamSocket* raw_transport = transport.get();
-  std::unique_ptr<SSLClientSocket> sock(CreateSSLClientSocket(
-      std::move(transport), spawned_test_server()->host_port_pair(),
-      ssl_config));
-  raw_transport->SetNextWriteError(ERR_CONNECTION_RESET);
-  rv = callback.GetResult(sock->Connect(callback.callback()));
-  EXPECT_THAT(rv, IsError(ERR_CONNECTION_RESET));
-}
-
 TEST_F(SSLClientSocketTest, RequireECDHE) {
   // Run test server without ECDHE.
   SpawnedTestServer::SSLOptions ssl_options;
diff --git a/net/socket/ssl_connect_job.cc b/net/socket/ssl_connect_job.cc
index 86f75191..d426b41 100644
--- a/net/socket/ssl_connect_job.cc
+++ b/net/socket/ssl_connect_job.cc
@@ -419,14 +419,10 @@
     }
   }
 
-  // Don't double-count the version interference probes.
-  if (!params_->ssl_config().version_interference_probe) {
-    base::UmaHistogramSparse("Net.SSL_Connection_Error", std::abs(result));
-
-    if (tls13_supported) {
-      base::UmaHistogramSparse("Net.SSL_Connection_Error_TLS13Experiment",
-                               std::abs(result));
-    }
+  base::UmaHistogramSparse("Net.SSL_Connection_Error", std::abs(result));
+  if (tls13_supported) {
+    base::UmaHistogramSparse("Net.SSL_Connection_Error_TLS13Experiment",
+                             std::abs(result));
   }
 
   if (result == OK || IsCertificateError(result)) {
diff --git a/net/socket/transport_client_socket_pool.cc b/net/socket/transport_client_socket_pool.cc
index d357ab0..6bd6cc0 100644
--- a/net/socket/transport_client_socket_pool.cc
+++ b/net/socket/transport_client_socket_pool.cc
@@ -26,6 +26,7 @@
 #include "net/log/net_log.h"
 #include "net/log/net_log_event_type.h"
 #include "net/log/net_log_source.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
 
 using base::TimeDelta;
 
@@ -72,12 +73,14 @@
   std::unique_ptr<ConnectJob> NewConnectJob(
       ClientSocketPool::GroupId group_id,
       scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
       RequestPriority request_priority,
       SocketTag socket_tag,
       ConnectJob::Delegate* delegate) const override {
     return CreateConnectJob(group_id, socket_params, proxy_server_,
-                            is_for_websockets_, common_connect_job_params_,
-                            request_priority, socket_tag, delegate);
+                            proxy_annotation_tag, is_for_websockets_,
+                            common_connect_job_params_, request_priority,
+                            socket_tag, delegate);
   }
 
  private:
@@ -97,6 +100,7 @@
     RespectLimits respect_limits,
     Flags flags,
     scoped_refptr<SocketParams> socket_params,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     const NetLogWithSource& net_log)
     : handle_(handle),
       callback_(std::move(callback)),
@@ -105,6 +109,7 @@
       respect_limits_(respect_limits),
       flags_(flags),
       socket_params_(std::move(socket_params)),
+      proxy_annotation_tag_(proxy_annotation_tag),
       net_log_(net_log),
       socket_tag_(socket_tag),
       job_(nullptr) {
@@ -240,6 +245,7 @@
 int TransportClientSocketPool::RequestSocket(
     const GroupId& group_id,
     scoped_refptr<SocketParams> params,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     RequestPriority priority,
     const SocketTag& socket_tag,
     RespectLimits respect_limits,
@@ -254,7 +260,7 @@
 
   std::unique_ptr<Request> request = std::make_unique<Request>(
       handle, std::move(callback), proxy_auth_callback, priority, socket_tag,
-      respect_limits, NORMAL, std::move(params), net_log);
+      respect_limits, NORMAL, std::move(params), proxy_annotation_tag, net_log);
 
   // Cleanup any timed-out idle sockets.
   CleanupIdleSockets(false);
@@ -291,6 +297,7 @@
 void TransportClientSocketPool::RequestSockets(
     const GroupId& group_id,
     scoped_refptr<SocketParams> params,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     int num_sockets,
     const NetLogWithSource& net_log) {
   if (net_log.IsCapturing()) {
@@ -303,7 +310,7 @@
   Request request(nullptr /* no handle */, CompletionOnceCallback(),
                   ProxyAuthCallback(), IDLE, SocketTag(),
                   RespectLimits::ENABLED, NO_IDLE_SOCKETS, std::move(params),
-                  net_log);
+                  proxy_annotation_tag, net_log);
 
   // Cleanup any timed-out idle sockets.
   CleanupIdleSockets(false);
@@ -412,9 +419,9 @@
   group = GetOrCreateGroup(group_id);
   connecting_socket_count_++;
   std::unique_ptr<ConnectJob> owned_connect_job(
-      connect_job_factory_->NewConnectJob(group_id, request.socket_params(),
-                                          request.priority(),
-                                          request.socket_tag(), group));
+      connect_job_factory_->NewConnectJob(
+          group_id, request.socket_params(), request.proxy_annotation_tag(),
+          request.priority(), request.socket_tag(), group));
   owned_connect_job->net_log().AddEvent(
       NetLogEventType::SOCKET_POOL_CONNECT_JOB_CREATED,
       base::BindRepeating(&NetLogCreateConnectJobCallback,
@@ -1527,8 +1534,8 @@
   Request* request = unbound_requests_.FirstMax().value().get();
   std::unique_ptr<ConnectJob> owned_backup_job =
       client_socket_pool_base_helper_->connect_job_factory_->NewConnectJob(
-          group_id, request->socket_params(), request->priority(),
-          request->socket_tag(), this);
+          group_id, request->socket_params(), request->proxy_annotation_tag(),
+          request->priority(), request->socket_tag(), this);
   owned_backup_job->net_log().AddEvent(
       NetLogEventType::SOCKET_POOL_CONNECT_JOB_CREATED,
       base::BindRepeating(&NetLogCreateConnectJobCallback,
diff --git a/net/socket/transport_client_socket_pool.h b/net/socket/transport_client_socket_pool.h
index 30d9359..01baec2 100644
--- a/net/socket/transport_client_socket_pool.h
+++ b/net/socket/transport_client_socket_pool.h
@@ -20,6 +20,7 @@
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
+#include "base/optional.h"
 #include "base/time/time.h"
 #include "base/timer/timer.h"
 #include "net/base/address_list.h"
@@ -53,6 +54,7 @@
 struct CommonConnectJobParams;
 struct NetLogSource;
 class ProxyServer;
+struct NetworkTrafficAnnotationTag;
 
 // TransportClientSocketPool establishes network connections through using
 // ConnectJobs, and maintains a list of idle persistent sockets available for
@@ -84,15 +86,17 @@
    public:
     // If |proxy_auth_callback| is null, proxy auth challenges will
     // result in an error.
-    Request(ClientSocketHandle* handle,
-            CompletionOnceCallback callback,
-            const ProxyAuthCallback& proxy_auth_callback,
-            RequestPriority priority,
-            const SocketTag& socket_tag,
-            RespectLimits respect_limits,
-            Flags flags,
-            scoped_refptr<SocketParams> socket_params,
-            const NetLogWithSource& net_log);
+    Request(
+        ClientSocketHandle* handle,
+        CompletionOnceCallback callback,
+        const ProxyAuthCallback& proxy_auth_callback,
+        RequestPriority priority,
+        const SocketTag& socket_tag,
+        RespectLimits respect_limits,
+        Flags flags,
+        scoped_refptr<SocketParams> socket_params,
+        const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+        const NetLogWithSource& net_log);
 
     virtual ~Request();
 
@@ -106,6 +110,10 @@
     RespectLimits respect_limits() const { return respect_limits_; }
     Flags flags() const { return flags_; }
     SocketParams* socket_params() const { return socket_params_.get(); }
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag()
+        const {
+      return proxy_annotation_tag_;
+    }
     const NetLogWithSource& net_log() const { return net_log_; }
     const SocketTag& socket_tag() const { return socket_tag_; }
     ConnectJob* job() const { return job_; }
@@ -135,6 +143,7 @@
     const RespectLimits respect_limits_;
     const Flags flags_;
     const scoped_refptr<SocketParams> socket_params_;
+    const base::Optional<NetworkTrafficAnnotationTag> proxy_annotation_tag_;
     const NetLogWithSource net_log_;
     const SocketTag socket_tag_;
     ConnectJob* job_;
@@ -153,6 +162,7 @@
     virtual std::unique_ptr<ConnectJob> NewConnectJob(
         ClientSocketPool::GroupId group_id,
         scoped_refptr<ClientSocketPool::SocketParams> socket_params,
+        const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
         RequestPriority request_priority,
         SocketTag socket_tag,
         ConnectJob::Delegate* delegate) const = 0;
@@ -195,19 +205,23 @@
   void RemoveHigherLayeredPool(HigherLayeredPool* higher_pool) override;
 
   // ClientSocketPool implementation:
-  int RequestSocket(const GroupId& group_id,
-                    scoped_refptr<SocketParams> params,
-                    RequestPriority priority,
-                    const SocketTag& socket_tag,
-                    RespectLimits respect_limits,
-                    ClientSocketHandle* handle,
-                    CompletionOnceCallback callback,
-                    const ProxyAuthCallback& proxy_auth_callback,
-                    const NetLogWithSource& net_log) override;
-  void RequestSockets(const GroupId& group_id,
-                      scoped_refptr<SocketParams> params,
-                      int num_sockets,
-                      const NetLogWithSource& net_log) override;
+  int RequestSocket(
+      const GroupId& group_id,
+      scoped_refptr<SocketParams> params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+      RequestPriority priority,
+      const SocketTag& socket_tag,
+      RespectLimits respect_limits,
+      ClientSocketHandle* handle,
+      CompletionOnceCallback callback,
+      const ProxyAuthCallback& proxy_auth_callback,
+      const NetLogWithSource& net_log) override;
+  void RequestSockets(
+      const GroupId& group_id,
+      scoped_refptr<SocketParams> params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+      int num_sockets,
+      const NetLogWithSource& net_log) override;
   void SetPriority(const GroupId& group_id,
                    ClientSocketHandle* handle,
                    RequestPriority priority) override;
diff --git a/net/socket/transport_client_socket_pool_unittest.cc b/net/socket/transport_client_socket_pool_unittest.cc
index 4688bd1..6387a03 100644
--- a/net/socket/transport_client_socket_pool_unittest.cc
+++ b/net/socket/transport_client_socket_pool_unittest.cc
@@ -10,6 +10,7 @@
 #include "base/bind_helpers.h"
 #include "base/callback.h"
 #include "base/memory/ref_counted.h"
+#include "base/optional.h"
 #include "base/run_loop.h"
 #include "base/stl_util.h"
 #include "base/test/bind_test_util.h"
@@ -230,10 +231,11 @@
 TEST_F(TransportClientSocketPoolTest, Basic) {
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -254,8 +256,9 @@
     ClientSocketHandle handle;
     EXPECT_EQ(
         ERR_IO_PENDING,
-        handle.Init(group_id_, params_, priority, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+        handle.Init(group_id_, params_,
+                    base::nullopt /* proxy_annotation_tag */, priority,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource()));
     EXPECT_EQ(priority, session_deps_.host_resolver->last_request_priority());
@@ -267,50 +270,56 @@
 
   TestCompletionCallback callback1;
   ClientSocketHandle handle1;
-  int rv1 = handle1.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback1.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+  int rv1 =
+      handle1.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                   LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                   callback1.callback(), ClientSocketPool::ProxyAuthCallback(),
+                   pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv1, IsError(ERR_IO_PENDING));
 
   TestCompletionCallback callback2;
   ClientSocketHandle handle2;
   int rv2 = handle2.Init(
-      group_id_, params_, HIGHEST, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback2.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+      group_id_, params_, base::nullopt /* proxy_annotation_tag */, HIGHEST,
+      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback2.callback(), ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+      NetLogWithSource());
   EXPECT_THAT(rv2, IsError(ERR_IO_PENDING));
 
   TestCompletionCallback callback3;
   ClientSocketHandle handle3;
   int rv3 = handle3.Init(
-      group_id_, params_, LOWEST, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback3.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+      group_id_, params_, base::nullopt /* proxy_annotation_tag */, LOWEST,
+      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback3.callback(), ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+      NetLogWithSource());
   EXPECT_THAT(rv3, IsError(ERR_IO_PENDING));
 
   TestCompletionCallback callback4;
   ClientSocketHandle handle4;
   int rv4 = handle4.Init(
-      group_id_, params_, MEDIUM, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback4.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+      group_id_, params_, base::nullopt /* proxy_annotation_tag */, MEDIUM,
+      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback4.callback(), ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+      NetLogWithSource());
   EXPECT_THAT(rv4, IsError(ERR_IO_PENDING));
 
   TestCompletionCallback callback5;
   ClientSocketHandle handle5;
   int rv5 = handle5.Init(
-      group_id_, params_, HIGHEST, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback5.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+      group_id_, params_, base::nullopt /* proxy_annotation_tag */, HIGHEST,
+      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback5.callback(), ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+      NetLogWithSource());
   EXPECT_THAT(rv5, IsError(ERR_IO_PENDING));
 
   TestCompletionCallback callback6;
   ClientSocketHandle handle6;
-  int rv6 = handle6.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback6.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+  int rv6 =
+      handle6.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                   LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                   callback6.callback(), ClientSocketPool::ProxyAuthCallback(),
+                   pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv6, IsError(ERR_IO_PENDING));
 
   // New jobs are created for each of the first 6 requests with the
@@ -337,9 +346,10 @@
   TestCompletionCallback callback7;
   ClientSocketHandle handle7;
   int rv7 = handle7.Init(
-      group_id_, params_, HIGHEST, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback7.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+      group_id_, params_, base::nullopt /* proxy_annotation_tag */, HIGHEST,
+      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback7.callback(), ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+      NetLogWithSource());
   EXPECT_THAT(rv7, IsError(ERR_IO_PENDING));
   // Request  Job  Priority
   // =======  ===  ========
@@ -361,9 +371,10 @@
   TestCompletionCallback callback8;
   ClientSocketHandle handle8;
   int rv8 = handle8.Init(
-      group_id_, params_, HIGHEST, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback8.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+      group_id_, params_, base::nullopt /* proxy_annotation_tag */, HIGHEST,
+      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback8.callback(), ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+      NetLogWithSource());
   EXPECT_THAT(rv8, IsError(ERR_IO_PENDING));
   // Request  Job  Priority
   // =======  ===  ========
@@ -512,19 +523,21 @@
   TestCompletionCallback callback1;
   ClientSocketHandle handle1;
   int rv1 = handle1.Init(
-      group_id_, params_, MAXIMUM_PRIORITY, SocketTag(),
-      ClientSocketPool::RespectLimits::DISABLED, callback1.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool, NetLogWithSource());
+      group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+      MAXIMUM_PRIORITY, SocketTag(), ClientSocketPool::RespectLimits::DISABLED,
+      callback1.callback(), ClientSocketPool::ProxyAuthCallback(), &pool,
+      NetLogWithSource());
   EXPECT_THAT(rv1, IsError(ERR_IO_PENDING));
 
   EXPECT_EQ(MAXIMUM_PRIORITY, session_deps_.host_resolver->request_priority(1));
 
   TestCompletionCallback callback2;
   ClientSocketHandle handle2;
-  int rv2 = handle2.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback2.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool, NetLogWithSource());
+  int rv2 =
+      handle2.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                   LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                   callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
+                   &pool, NetLogWithSource());
   EXPECT_THAT(rv2, IsError(ERR_IO_PENDING));
 
   // |handle2| gets assigned the job, which is reprioritized.
@@ -539,7 +552,8 @@
   ClientSocketHandle handle;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), pool_.get(),
                   NetLogWithSource()));
@@ -557,7 +571,8 @@
   ClientSocketHandle handle;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), pool_.get(),
                   NetLogWithSource()));
@@ -572,7 +587,8 @@
   session_deps_.host_resolver->set_synchronous_mode(true);
   EXPECT_EQ(
       ERR_CONNECTION_FAILED,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), pool_.get(),
                   NetLogWithSource()));
@@ -687,7 +703,8 @@
   ClientSocketHandle handle;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), pool_.get(),
                   NetLogWithSource()));
@@ -702,13 +719,15 @@
 
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), pool_.get(),
                   NetLogWithSource()));
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle2.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                   kDefaultPriority, SocketTag(),
                    ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource()));
@@ -726,7 +745,8 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), pool_.get(),
                   NetLogWithSource()));
@@ -736,7 +756,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED,
                   callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                   pool_.get(), NetLogWithSource()));
@@ -848,10 +869,11 @@
       handle_->Reset();
       base::RunLoop(base::RunLoop::Type::kNestableTasksAllowed).RunUntilIdle();
       within_callback_ = true;
-      int rv = handle_->Init(group_id_, socket_params_, LOWEST, SocketTag(),
-                             ClientSocketPool::RespectLimits::ENABLED,
-                             callback(), ClientSocketPool::ProxyAuthCallback(),
-                             pool_, NetLogWithSource());
+      int rv = handle_->Init(
+          group_id_, socket_params_, base::nullopt /* proxy_annotation_tag */,
+          LOWEST, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+          callback(), ClientSocketPool::ProxyAuthCallback(), pool_,
+          NetLogWithSource());
       EXPECT_THAT(rv, IsOk());
     }
   }
@@ -868,10 +890,11 @@
 TEST_F(TransportClientSocketPoolTest, RequestTwice) {
   ClientSocketHandle handle;
   RequestSocketCallback callback(group_id_, params_, &handle, pool_.get());
-  int rv = handle.Init(
-      group_id_, params_, LOWEST, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOWEST, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource());
   ASSERT_THAT(rv, IsError(ERR_IO_PENDING));
 
   // The callback is going to request "www.google.com". We want it to complete
@@ -934,10 +957,11 @@
 TEST_F(TransportClientSocketPoolTest, IdleSocketLoadTiming) {
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -954,8 +978,8 @@
   // Now we should have 1 idle socket.
   EXPECT_EQ(1, pool_->IdleSocketCount());
 
-  rv = handle.Init(group_id_, params_, LOW, SocketTag(),
-                   ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                   LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -966,10 +990,11 @@
 TEST_F(TransportClientSocketPoolTest, CloseIdleSocketsOnIPAddressChange) {
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -1003,7 +1028,6 @@
 
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(),
           GetSSLConfig() /* ssl_config_for_origin */,
           nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
 
@@ -1013,10 +1037,10 @@
       handle.Init(ClientSocketPool::GroupId(kHostPortPair,
                                             ClientSocketPool::SocketType::kSsl,
                                             PrivacyMode::PRIVACY_MODE_DISABLED),
-                  socket_params, MEDIUM, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), tagging_pool_.get(),
-                  NetLogWithSource());
+                  socket_params, base::nullopt /* proxy_annotation_tag */,
+                  MEDIUM, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  tagging_pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -1029,10 +1053,11 @@
 TEST_F(TransportClientSocketPoolTest, CloseIdleSocketsOnSSLConfigChange) {
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -1088,9 +1113,10 @@
     TestCompletionCallback callback;
     ClientSocketHandle handle;
     int rv = handle.Init(
-        group_id_, params_, LOW, SocketTag(),
-        ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-        ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+        group_id_, params_, base::nullopt /* proxy_annotation_tag */, LOW,
+        SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+        callback.callback(), ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+        NetLogWithSource());
     EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
     EXPECT_FALSE(handle.is_initialized());
     EXPECT_FALSE(handle.socket());
@@ -1132,9 +1158,10 @@
     TestCompletionCallback callback;
     ClientSocketHandle handle;
     int rv = handle.Init(
-        group_id_, params_, LOW, SocketTag(),
-        ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-        ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+        group_id_, params_, base::nullopt /* proxy_annotation_tag */, LOW,
+        SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+        callback.callback(), ClientSocketPool::ProxyAuthCallback(), pool_.get(),
+        NetLogWithSource());
     EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
     EXPECT_FALSE(handle.is_initialized());
     EXPECT_FALSE(handle.socket());
@@ -1179,10 +1206,11 @@
 
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -1229,10 +1257,11 @@
 
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), pool_.get(), NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -1274,7 +1303,6 @@
   for (IoMode socket_io_mode : {SYNCHRONOUS, ASYNC}) {
     scoped_refptr<ClientSocketPool::SocketParams> socket_params =
         base::MakeRefCounted<ClientSocketPool::SocketParams>(
-            MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
             nullptr /* ssl_config_for_origin */,
             nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
 
@@ -1287,7 +1315,7 @@
         ClientSocketPool::GroupId(kDestination,
                                   ClientSocketPool::SocketType::kHttp,
                                   PrivacyMode::PRIVACY_MODE_DISABLED),
-        socket_params, LOW, SocketTag(),
+        socket_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW, SocketTag(),
         ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
         ClientSocketPool::ProxyAuthCallback(), &proxy_pool, NetLogWithSource());
     EXPECT_THAT(callback.GetResult(rv), IsOk());
@@ -1348,7 +1376,6 @@
 
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
           GetSSLConfig() /* ssl_config_for_origin */,
           GetSSLConfig() /* ssl_config_for_proxy */,
           OnHostResolutionCallback());
@@ -1361,18 +1388,20 @@
   TestCompletionCallback callback1;
   ClientSocketHandle handle1;
   int rv1 = handle1.Init(
-      group_id, socket_params, HIGHEST, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback1.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool, NetLogWithSource());
+      group_id, socket_params, TRAFFIC_ANNOTATION_FOR_TESTS, HIGHEST,
+      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback1.callback(), ClientSocketPool::ProxyAuthCallback(), &pool,
+      NetLogWithSource());
   ASSERT_THAT(rv1, IsError(ERR_IO_PENDING));
 
   // Create a second request with a lower priority.
   TestCompletionCallback callback2;
   ClientSocketHandle handle2;
   int rv2 = handle2.Init(
-      group_id, socket_params, LOWEST, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback2.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool, NetLogWithSource());
+      group_id, socket_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOWEST,
+      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback2.callback(), ClientSocketPool::ProxyAuthCallback(), &pool,
+      NetLogWithSource());
   ASSERT_THAT(rv2, IsError(ERR_IO_PENDING));
 
   // First connection fails after creating a SpdySession and a SpdyStream on
@@ -1452,7 +1481,6 @@
 
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
           GetSSLConfig() /* ssl_config_for_origin */,
           GetSSLConfig() /* ssl_config_for_proxy */,
           OnHostResolutionCallback());
@@ -1465,7 +1493,8 @@
   TestCompletionCallback callback1;
   ClientSocketHandle handle1;
   base::RunLoop run_loop;
-  int rv1 = handle1.Init(group_id, socket_params, HIGHEST, SocketTag(),
+  int rv1 = handle1.Init(group_id, socket_params, TRAFFIC_ANNOTATION_FOR_TESTS,
+                         HIGHEST, SocketTag(),
                          ClientSocketPool::RespectLimits::ENABLED,
                          callback1.callback(),
                          base::BindLambdaForTesting(
@@ -1481,9 +1510,10 @@
   TestCompletionCallback callback2;
   ClientSocketHandle handle2;
   int rv2 = handle2.Init(
-      group_id, socket_params, LOWEST, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback2.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool, NetLogWithSource());
+      group_id, socket_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOWEST,
+      SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback2.callback(), ClientSocketPool::ProxyAuthCallback(), &pool,
+      NetLogWithSource());
   ASSERT_THAT(rv2, IsError(ERR_IO_PENDING));
 
   // The ConnectJob connection sees the auth challenge and HTTP2 error, which
@@ -1549,19 +1579,18 @@
 
       scoped_refptr<ClientSocketPool::SocketParams> socket_params =
           base::MakeRefCounted<ClientSocketPool::SocketParams>(
-              MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
               GetSSLConfig() /* ssl_config_for_origin */,
               GetSSLConfig() /* ssl_config_for_proxy */,
               OnHostResolutionCallback());
 
-      int rv = handle.Init(ClientSocketPool::GroupId(
-                               kEndpoint, ClientSocketPool::SocketType::kSsl,
-                               PrivacyMode::PRIVACY_MODE_DISABLED),
-                           socket_params, LOW, SocketTag(),
-                           ClientSocketPool::RespectLimits::ENABLED,
-                           callback.callback(),
-                           ClientSocketPool::ProxyAuthCallback(), &proxy_pool,
-                           NetLogWithSource());
+      int rv = handle.Init(
+          ClientSocketPool::GroupId(kEndpoint,
+                                    ClientSocketPool::SocketType::kSsl,
+                                    PrivacyMode::PRIVACY_MODE_DISABLED),
+          socket_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW, SocketTag(),
+          ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
+          ClientSocketPool::ProxyAuthCallback(), &proxy_pool,
+          NetLogWithSource());
       rv = callback.GetResult(rv);
 
       // We don't trust 302 responses to CONNECT.
@@ -1599,10 +1628,11 @@
   scoped_refptr<ClientSocketPool::SocketParams> params =
       ClientSocketPool::SocketParams::CreateForHttpForTesting();
   TestCompletionCallback callback;
-  int rv = handle.Init(
-      kGroupId, params, LOW, tag1, ClientSocketPool::RespectLimits::ENABLED,
-      callback.callback(), ClientSocketPool::ProxyAuthCallback(),
-      pool_for_real_sockets_.get(), NetLogWithSource());
+  int rv =
+      handle.Init(kGroupId, params, base::nullopt /* proxy_annotation_tag */,
+                  LOW, tag1, ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  pool_for_real_sockets_.get(), NetLogWithSource());
   EXPECT_THAT(callback.GetResult(rv), IsOk());
   EXPECT_TRUE(handle.socket());
   EXPECT_TRUE(handle.socket()->IsConnected());
@@ -1612,8 +1642,8 @@
   StreamSocket* socket = handle.socket();
   handle.Reset();
   old_traffic = GetTaggedBytes(tag_val2);
-  rv = handle.Init(kGroupId, params, LOW, tag2,
-                   ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle.Init(kGroupId, params, base::nullopt /* proxy_annotation_tag */,
+                   LOW, tag2, ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_for_real_sockets_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -1635,15 +1665,15 @@
   // Test connect jobs that are orphaned and then adopted, appropriately apply
   // new tag. Request socket with |tag1|.
   TestCompletionCallback callback2;
-  rv = handle.Init(kGroupId, params, LOW, tag1,
-                   ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle.Init(kGroupId, params, base::nullopt /* proxy_annotation_tag */,
+                   LOW, tag1, ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_for_real_sockets_.get(), NetLogWithSource());
   EXPECT_TRUE(rv == OK || rv == ERR_IO_PENDING) << "Result: " << rv;
   // Abort and request socket with |tag2|.
   handle.Reset();
-  rv = handle.Init(kGroupId, params, LOW, tag2,
-                   ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle.Init(kGroupId, params, base::nullopt /* proxy_annotation_tag */,
+                   LOW, tag2, ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_for_real_sockets_.get(), NetLogWithSource());
   EXPECT_THAT(callback.GetResult(rv), IsOk());
@@ -1661,8 +1691,8 @@
   handle.Reset();
   // Eat the left over connect job from the second request.
   // TODO(pauljensen): remove when crbug.com/800731 fixed.
-  rv = handle.Init(kGroupId, params, LOW, tag1,
-                   ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle.Init(kGroupId, params, base::nullopt /* proxy_annotation_tag */,
+                   LOW, tag1, ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_for_real_sockets_.get(), NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -1674,15 +1704,16 @@
   // first but expect its socket to get vended to the higher priority request.
   ClientSocketHandle handle_high_pri;
   TestCompletionCallback callback_high_pri;
-  rv = handle.Init(kGroupId, params, LOW, tag1,
-                   ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle.Init(kGroupId, params, base::nullopt /* proxy_annotation_tag */,
+                   LOW, tag1, ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_for_real_sockets_.get(), NetLogWithSource());
   EXPECT_TRUE(rv == OK || rv == ERR_IO_PENDING) << "Result: " << rv;
   int rv_high_pri = handle_high_pri.Init(
-      kGroupId, params, HIGHEST, tag2, ClientSocketPool::RespectLimits::ENABLED,
-      callback_high_pri.callback(), ClientSocketPool::ProxyAuthCallback(),
-      pool_for_real_sockets_.get(), NetLogWithSource());
+      kGroupId, params, base::nullopt /* proxy_annotation_tag */, HIGHEST, tag2,
+      ClientSocketPool::RespectLimits::ENABLED, callback_high_pri.callback(),
+      ClientSocketPool::ProxyAuthCallback(), pool_for_real_sockets_.get(),
+      NetLogWithSource());
   EXPECT_THAT(callback_high_pri.GetResult(rv_high_pri), IsOk());
   EXPECT_TRUE(handle_high_pri.socket());
   EXPECT_TRUE(handle_high_pri.socket()->IsConnected());
@@ -1723,7 +1754,6 @@
                                            PrivacyMode::PRIVACY_MODE_DISABLED);
   scoped_refptr<ClientSocketPool::SocketParams> socks_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
           nullptr /* ssl_config_for_origin */,
           nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
 
@@ -1734,7 +1764,7 @@
       data_sync.data_provider());
   ClientSocketHandle handle;
   int rv = handle.Init(
-      kGroupId, socks_params, LOW, tag1,
+      kGroupId, socks_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW, tag1,
       ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
       ClientSocketPool::ProxyAuthCallback(), &proxy_pool, NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -1749,7 +1779,7 @@
   StreamSocket* socket = handle.socket();
   handle.Reset();
   rv = handle.Init(
-      kGroupId, socks_params, LOW, tag2,
+      kGroupId, socks_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW, tag2,
       ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
       ClientSocketPool::ProxyAuthCallback(), &proxy_pool, NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -1766,8 +1796,8 @@
   tagging_client_socket_factory_.AddSocketDataProvider(
       data_async.data_provider());
   TestCompletionCallback callback;
-  rv = handle.Init(kGroupId, socks_params, LOW, tag1,
-                   ClientSocketPool::RespectLimits::ENABLED,
+  rv = handle.Init(kGroupId, socks_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW,
+                   tag1, ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    &proxy_pool, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
@@ -1783,7 +1813,7 @@
   socket = handle.socket();
   handle.Reset();
   rv = handle.Init(
-      kGroupId, socks_params, LOW, tag2,
+      kGroupId, socks_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW, tag2,
       ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
       ClientSocketPool::ProxyAuthCallback(), &proxy_pool, NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -1824,17 +1854,16 @@
 
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(),
           std::move(ssl_config) /* ssl_config_for_origin */,
           nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
 
   // Test socket is tagged before connected.
   uint64_t old_traffic = GetTaggedBytes(tag_val1);
-  int rv =
-      handle.Init(kGroupId, socket_params, LOW, tag1,
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(),
-                  pool_for_real_sockets_.get(), NetLogWithSource());
+  int rv = handle.Init(
+      kGroupId, socket_params, base::nullopt /* proxy_annotation_tag */, LOW,
+      tag1, ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
+      ClientSocketPool::ProxyAuthCallback(), pool_for_real_sockets_.get(),
+      NetLogWithSource());
   EXPECT_THAT(callback.GetResult(rv), IsOk());
   EXPECT_TRUE(handle.socket());
   EXPECT_TRUE(handle.socket()->IsConnected());
@@ -1845,7 +1874,8 @@
   handle.Reset();
   old_traffic = GetTaggedBytes(tag_val2);
   TestCompletionCallback callback2;
-  rv = handle.Init(kGroupId, socket_params, LOW, tag2,
+  rv = handle.Init(kGroupId, socket_params,
+                   base::nullopt /* proxy_annotation_tag */, LOW, tag2,
                    ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_for_real_sockets_.get(), NetLogWithSource());
@@ -1893,23 +1923,23 @@
                                            PrivacyMode::PRIVACY_MODE_DISABLED);
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(),
           GetSSLConfig() /* ssl_config_for_origin */,
           nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
 
   // Test connect jobs that are orphaned and then adopted, appropriately apply
   // new tag. Request socket with |tag1|.
   TestCompletionCallback callback;
-  int rv =
-      handle.Init(kGroupId, socket_params, LOW, tag1,
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(),
-                  pool_for_real_sockets_.get(), NetLogWithSource());
+  int rv = handle.Init(
+      kGroupId, socket_params, base::nullopt /* proxy_annotation_tag */, LOW,
+      tag1, ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
+      ClientSocketPool::ProxyAuthCallback(), pool_for_real_sockets_.get(),
+      NetLogWithSource());
   EXPECT_TRUE(rv == OK || rv == ERR_IO_PENDING) << "Result: " << rv;
   // Abort and request socket with |tag2|.
   handle.Reset();
   TestCompletionCallback callback2;
-  rv = handle.Init(kGroupId, socket_params, LOW, tag2,
+  rv = handle.Init(kGroupId, socket_params,
+                   base::nullopt /* proxy_annotation_tag */, LOW, tag2,
                    ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_for_real_sockets_.get(), NetLogWithSource());
@@ -1956,7 +1986,6 @@
                                            PrivacyMode::PRIVACY_MODE_DISABLED);
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(),
           GetSSLConfig() /* ssl_config_for_origin */,
           nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
 
@@ -1966,11 +1995,11 @@
   ClientSocketHandle tcp_handles[kMaxSocketsPerGroup];
   int rv;
   for (auto& tcp_handle : tcp_handles) {
-    rv = tcp_handle.Init(kGroupId, socket_params, LOW, tag1,
-                         ClientSocketPool::RespectLimits::ENABLED,
-                         callback.callback(),
-                         ClientSocketPool::ProxyAuthCallback(),
-                         pool_for_real_sockets_.get(), NetLogWithSource());
+    rv = tcp_handle.Init(
+        kGroupId, socket_params, base::nullopt /* proxy_annotation_tag */, LOW,
+        tag1, ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
+        ClientSocketPool::ProxyAuthCallback(), pool_for_real_sockets_.get(),
+        NetLogWithSource());
     EXPECT_THAT(callback.GetResult(rv), IsOk());
     EXPECT_TRUE(tcp_handle.socket());
     EXPECT_TRUE(tcp_handle.socket()->IsConnected());
@@ -1978,12 +2007,13 @@
   // Request two SSL sockets.
   ClientSocketHandle handle_to_be_canceled;
   rv = handle_to_be_canceled.Init(
-      kGroupId, socket_params, LOW, tag1,
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
+      kGroupId, socket_params, base::nullopt /* proxy_annotation_tag */, LOW,
+      tag1, ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
       ClientSocketPool::ProxyAuthCallback(), pool_for_real_sockets_.get(),
       NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
-  rv = handle.Init(kGroupId, socket_params, LOW, tag2,
+  rv = handle.Init(kGroupId, socket_params,
+                   base::nullopt /* proxy_annotation_tag */, LOW, tag2,
                    ClientSocketPool::RespectLimits::ENABLED,
                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                    pool_for_real_sockets_.get(), NetLogWithSource());
@@ -2036,14 +2066,13 @@
                                            PrivacyMode::PRIVACY_MODE_DISABLED);
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
           nullptr /* ssl_config_for_origin */,
           nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
 
   // Verify requested socket is tagged properly.
   ClientSocketHandle handle;
   int rv = handle.Init(
-      kGroupId, socket_params, LOW, tag1,
+      kGroupId, socket_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW, tag1,
       ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
       ClientSocketPool::ProxyAuthCallback(), &proxy_pool, NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -2059,7 +2088,7 @@
   StreamSocket* socket = handle.socket();
   handle.Reset();
   rv = handle.Init(
-      kGroupId, socket_params, LOW, tag2,
+      kGroupId, socket_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW, tag2,
       ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
       ClientSocketPool::ProxyAuthCallback(), &proxy_pool, NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -2111,14 +2140,13 @@
 
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
           GetSSLConfig() /* ssl_config_for_origin */,
           nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
 
   // Verify requested socket is tagged properly.
   ClientSocketHandle handle;
   int rv = handle.Init(
-      kGroupId, socket_params, LOW, tag1,
+      kGroupId, socket_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW, tag1,
       ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
       ClientSocketPool::ProxyAuthCallback(), &proxy_pool, NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -2134,7 +2162,7 @@
   StreamSocket* socket = handle.socket();
   handle.Reset();
   rv = handle.Init(
-      kGroupId, socket_params, LOW, tag2,
+      kGroupId, socket_params, TRAFFIC_ANNOTATION_FOR_TESTS, LOW, tag2,
       ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
       ClientSocketPool::ProxyAuthCallback(), &proxy_pool, NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
@@ -2225,7 +2253,6 @@
       // Create 1 socket.
       scoped_refptr<ClientSocketPool::SocketParams> socket_params =
           base::MakeRefCounted<ClientSocketPool::SocketParams>(
-              MutableNetworkTrafficAnnotationTag(),
               nullptr /* ssl_config_for_origin */,
               nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
       session_deps.socket_factory->AddSocketDataProvider(&provider_socket_1);
@@ -2235,9 +2262,10 @@
           ClientSocketPool::GroupId(kHostPortPair1,
                                     ClientSocketPool::SocketType::kHttp,
                                     PrivacyMode::PRIVACY_MODE_DISABLED),
-          ClientSocketPool::SocketParams::CreateForHttpForTesting(), MEDIUM,
-          SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
-          callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+          ClientSocketPool::SocketParams::CreateForHttpForTesting(),
+          base::nullopt /* proxy_annotation_tag */, MEDIUM, SocketTag(),
+          ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
+          ClientSocketPool::ProxyAuthCallback(),
           session->GetSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL,
                                  ProxyServer::Direct()),
           NetLogWithSource());
@@ -2270,7 +2298,6 @@
       // Request a new socket to trigger cleanup of idle timedout sockets.
       scoped_refptr<ClientSocketPool::SocketParams> socket_params =
           base::MakeRefCounted<ClientSocketPool::SocketParams>(
-              MutableNetworkTrafficAnnotationTag(),
               nullptr /* ssl_config_for_origin */,
               nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
       SequencedSocketData provider_socket_2(MockConnect(ASYNC, OK),
@@ -2283,9 +2310,9 @@
           ClientSocketPool::GroupId(kHostPortPair2,
                                     ClientSocketPool::SocketType::kHttp,
                                     PrivacyMode::PRIVACY_MODE_DISABLED),
-          socket_params, MEDIUM, SocketTag(),
-          ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-          ClientSocketPool::ProxyAuthCallback(),
+          socket_params, base::nullopt /* proxy_annotation_tag */, MEDIUM,
+          SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+          callback.callback(), ClientSocketPool::ProxyAuthCallback(),
           session->GetSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL,
                                  ProxyServer::Direct()),
           NetLogWithSource());
diff --git a/net/socket/websocket_transport_client_socket_pool.cc b/net/socket/websocket_transport_client_socket_pool.cc
index f457638..35568cd 100644
--- a/net/socket/websocket_transport_client_socket_pool.cc
+++ b/net/socket/websocket_transport_client_socket_pool.cc
@@ -23,6 +23,7 @@
 #include "net/socket/connect_job.h"
 #include "net/socket/websocket_endpoint_lock_manager.h"
 #include "net/socket/websocket_transport_connect_job.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
 
 namespace net {
 
@@ -63,6 +64,7 @@
 int WebSocketTransportClientSocketPool::RequestSocket(
     const GroupId& group_id,
     scoped_refptr<SocketParams> params,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     RequestPriority priority,
     const SocketTag& socket_tag,
     RespectLimits respect_limits,
@@ -81,8 +83,8 @@
   if (ReachedMaxSocketsLimit() &&
       respect_limits == ClientSocketPool::RespectLimits::ENABLED) {
     request_net_log.AddEvent(NetLogEventType::SOCKET_POOL_STALLED_MAX_SOCKETS);
-    stalled_request_queue_.emplace_back(group_id, params, priority, handle,
-                                        std::move(callback),
+    stalled_request_queue_.emplace_back(group_id, params, proxy_annotation_tag,
+                                        priority, handle, std::move(callback),
                                         proxy_auth_callback, request_net_log);
     auto iterator = stalled_request_queue_.end();
     --iterator;
@@ -102,7 +104,7 @@
                                            request_net_log);
 
   std::unique_ptr<ConnectJob> connect_job =
-      CreateConnectJob(group_id, params, proxy_server_,
+      CreateConnectJob(group_id, params, proxy_server_, proxy_annotation_tag,
                        true /* is_for_websockets */, common_connect_job_params_,
                        priority, SocketTag(), connect_job_delegate.get());
 
@@ -129,6 +131,7 @@
 void WebSocketTransportClientSocketPool::RequestSockets(
     const GroupId& group_id,
     scoped_refptr<SocketParams> params,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     int num_sockets,
     const NetLogWithSource& net_log) {
   NOTIMPLEMENTED();
@@ -421,7 +424,8 @@
         base::AdaptCallbackForRepeating(std::move(request.callback));
 
     int rv = RequestSocket(
-        request.group_id, request.params, request.priority, SocketTag(),
+        request.group_id, request.params, request.proxy_annotation_tag,
+        request.priority, SocketTag(),
         // Stalled requests can't have |respect_limits|
         // DISABLED.
         RespectLimits::ENABLED, request.handle, copyable_callback,
@@ -488,6 +492,7 @@
 WebSocketTransportClientSocketPool::StalledRequest::StalledRequest(
     const GroupId& group_id,
     const scoped_refptr<SocketParams>& params,
+    const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
     RequestPriority priority,
     ClientSocketHandle* handle,
     CompletionOnceCallback callback,
@@ -495,6 +500,7 @@
     const NetLogWithSource& net_log)
     : group_id(group_id),
       params(params),
+      proxy_annotation_tag(proxy_annotation_tag),
       priority(priority),
       handle(handle),
       callback(std::move(callback)),
diff --git a/net/socket/websocket_transport_client_socket_pool.h b/net/socket/websocket_transport_client_socket_pool.h
index 051bb98..21812d4 100644
--- a/net/socket/websocket_transport_client_socket_pool.h
+++ b/net/socket/websocket_transport_client_socket_pool.h
@@ -15,6 +15,7 @@
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
+#include "base/optional.h"
 #include "base/time/time.h"
 #include "base/timer/timer.h"
 #include "net/base/net_export.h"
@@ -34,6 +35,7 @@
 namespace net {
 
 struct CommonConnectJobParams;
+struct NetworkTrafficAnnotationTag;
 class WebSocketTransportConnectJob;
 
 class NET_EXPORT_PRIVATE WebSocketTransportClientSocketPool
@@ -57,19 +59,23 @@
       WebSocketEndpointLockManager* websocket_endpoint_lock_manager);
 
   // ClientSocketPool implementation.
-  int RequestSocket(const GroupId& group_id,
-                    scoped_refptr<SocketParams> params,
-                    RequestPriority priority,
-                    const SocketTag& socket_tag,
-                    RespectLimits respect_limits,
-                    ClientSocketHandle* handle,
-                    CompletionOnceCallback callback,
-                    const ProxyAuthCallback& proxy_auth_callback,
-                    const NetLogWithSource& net_log) override;
-  void RequestSockets(const GroupId& group_id,
-                      scoped_refptr<SocketParams> params,
-                      int num_sockets,
-                      const NetLogWithSource& net_log) override;
+  int RequestSocket(
+      const GroupId& group_id,
+      scoped_refptr<SocketParams> params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+      RequestPriority priority,
+      const SocketTag& socket_tag,
+      RespectLimits respect_limits,
+      ClientSocketHandle* handle,
+      CompletionOnceCallback callback,
+      const ProxyAuthCallback& proxy_auth_callback,
+      const NetLogWithSource& net_log) override;
+  void RequestSockets(
+      const GroupId& group_id,
+      scoped_refptr<SocketParams> params,
+      const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+      int num_sockets,
+      const NetLogWithSource& net_log) override;
   void SetPriority(const GroupId& group_id,
                    ClientSocketHandle* handle,
                    RequestPriority priority) override;
@@ -138,18 +144,21 @@
   // Store the arguments from a call to RequestSocket() that has stalled so we
   // can replay it when there are available socket slots.
   struct StalledRequest {
-    StalledRequest(const GroupId& group_id,
-                   const scoped_refptr<SocketParams>& params,
-                   RequestPriority priority,
-                   ClientSocketHandle* handle,
-                   CompletionOnceCallback callback,
-                   const ProxyAuthCallback& proxy_auth_callback,
-                   const NetLogWithSource& net_log);
+    StalledRequest(
+        const GroupId& group_id,
+        const scoped_refptr<SocketParams>& params,
+        const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
+        RequestPriority priority,
+        ClientSocketHandle* handle,
+        CompletionOnceCallback callback,
+        const ProxyAuthCallback& proxy_auth_callback,
+        const NetLogWithSource& net_log);
     StalledRequest(StalledRequest&& other);
     ~StalledRequest();
 
     const GroupId group_id;
     const scoped_refptr<SocketParams> params;
+    const base::Optional<NetworkTrafficAnnotationTag> proxy_annotation_tag;
     const RequestPriority priority;
     ClientSocketHandle* const handle;
     CompletionOnceCallback callback;
diff --git a/net/socket/websocket_transport_client_socket_pool_unittest.cc b/net/socket/websocket_transport_client_socket_pool_unittest.cc
index ecc554a2..d12f141 100644
--- a/net/socket/websocket_transport_client_socket_pool_unittest.cc
+++ b/net/socket/websocket_transport_client_socket_pool_unittest.cc
@@ -10,6 +10,7 @@
 #include "base/bind_helpers.h"
 #include "base/callback.h"
 #include "base/location.h"
+#include "base/optional.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "base/stl_util.h"
@@ -146,10 +147,11 @@
 TEST_F(WebSocketTransportClientSocketPoolTest, Basic) {
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -169,8 +171,9 @@
     ClientSocketHandle handle;
     EXPECT_EQ(
         ERR_IO_PENDING,
-        handle.Init(group_id_, params_, priority, SocketTag(),
-                    ClientSocketPool::RespectLimits::ENABLED,
+        handle.Init(group_id_, params_,
+                    base::nullopt /* proxy_annotation_tag */, priority,
+                    SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                     &pool_, NetLogWithSource()));
     EXPECT_EQ(priority, host_resolver_->last_request_priority());
@@ -188,10 +191,10 @@
                                             ClientSocketPool::SocketType::kHttp,
                                             PRIVACY_MODE_DISABLED),
                   ClientSocketPool::SocketParams::CreateForHttpForTesting(),
-                  kDefaultPriority, SocketTag(),
-                  ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-                  ClientSocketPool::ProxyAuthCallback(), &pool_,
-                  NetLogWithSource()));
+                  base::nullopt /* proxy_annotation_tag */, kDefaultPriority,
+                  SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource()));
   EXPECT_THAT(callback.WaitForResult(), IsError(ERR_NAME_NOT_RESOLVED));
 }
 
@@ -202,7 +205,8 @@
   ClientSocketHandle handle;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), &pool_,
                   NetLogWithSource()));
@@ -212,7 +216,8 @@
   host_resolver_->set_synchronous_mode(true);
   EXPECT_EQ(
       ERR_CONNECTION_FAILED,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), &pool_,
                   NetLogWithSource()));
@@ -291,7 +296,8 @@
   ClientSocketHandle handle;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), &pool_,
                   NetLogWithSource()));
@@ -306,13 +312,15 @@
 
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), &pool_,
                   NetLogWithSource()));
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle2.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle2.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                   kDefaultPriority, SocketTag(),
                    ClientSocketPool::RespectLimits::ENABLED,
                    callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                    &pool_, NetLogWithSource()));
@@ -330,7 +338,8 @@
   TestCompletionCallback callback;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), &pool_,
                   NetLogWithSource()));
@@ -340,7 +349,8 @@
   TestCompletionCallback callback2;
   EXPECT_EQ(
       ERR_IO_PENDING,
-      handle.Init(group_id_, params_, kDefaultPriority, SocketTag(),
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  kDefaultPriority, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED,
                   callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
                   &pool_, NetLogWithSource()));
@@ -415,9 +425,9 @@
 
   int rv = handle->Init(
       group_id, ClientSocketPool::SocketParams::CreateForHttpForTesting(),
-      LOWEST, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
-      nested_callback->callback(), ClientSocketPool::ProxyAuthCallback(), pool,
-      NetLogWithSource());
+      base::nullopt /* proxy_annotation_tag */, LOWEST, SocketTag(),
+      ClientSocketPool::RespectLimits::ENABLED, nested_callback->callback(),
+      ClientSocketPool::ProxyAuthCallback(), pool, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   if (ERR_IO_PENDING != rv)
     nested_callback->callback().Run(rv);
@@ -431,7 +441,8 @@
   TestCompletionCallback second_result_callback;
   int rv = handle.Init(
       group_id_, ClientSocketPool::SocketParams::CreateForHttpForTesting(),
-      LOWEST, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+      base::nullopt /* proxy_annotation_tag */, LOWEST, SocketTag(),
+      ClientSocketPool::RespectLimits::ENABLED,
       base::BindOnce(&RequestSocketOnComplete, group_id_, &handle, &pool_,
                      &second_result_callback),
       ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
@@ -505,10 +516,11 @@
 TEST_F(WebSocketTransportClientSocketPoolTest, LockReleasedOnHandleDelete) {
   TestCompletionCallback callback;
   std::unique_ptr<ClientSocketHandle> handle(new ClientSocketHandle);
-  int rv = handle->Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle->Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                   LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                   callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                   &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
 
   EXPECT_THAT(StartRequest(kDefaultPriority), IsError(ERR_IO_PENDING));
@@ -569,10 +581,11 @@
 
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -607,10 +620,11 @@
 
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -635,10 +649,11 @@
 
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -661,10 +676,11 @@
 
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.is_initialized());
   EXPECT_FALSE(handle.socket());
@@ -698,10 +714,11 @@
   host_resolver_->set_synchronous_mode(true);
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsOk());
   ASSERT_TRUE(handle.socket());
 
@@ -730,10 +747,11 @@
 
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   EXPECT_FALSE(handle.socket());
 
@@ -762,10 +780,11 @@
 
   TestCompletionCallback callback;
   ClientSocketHandle handle;
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
   ASSERT_FALSE(handle.socket());
 
@@ -810,10 +829,11 @@
   TestCompletionCallback callback;
   ClientSocketHandle handle;
   base::TimeTicks start(base::TimeTicks::Now());
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
 
   EXPECT_THAT(callback.WaitForResult(), IsError(ERR_CONNECTION_FAILED));
@@ -845,10 +865,11 @@
   TestCompletionCallback callback;
   ClientSocketHandle handle;
 
-  int rv = handle.Init(
-      group_id_, params_, LOW, SocketTag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+  int rv =
+      handle.Init(group_id_, params_, base::nullopt /* proxy_annotation_tag */,
+                  LOW, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                  callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                  &pool_, NetLogWithSource());
   EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
 
   EXPECT_THAT(callback.WaitForResult(), IsError(ERR_TIMED_OUT));
diff --git a/net/spdy/spdy_session_unittest.cc b/net/spdy/spdy_session_unittest.cc
index 799fc421..52f03b5 100644
--- a/net/spdy/spdy_session_unittest.cc
+++ b/net/spdy/spdy_session_unittest.cc
@@ -11,6 +11,7 @@
 #include "base/base64.h"
 #include "base/bind.h"
 #include "base/callback.h"
+#include "base/optional.h"
 #include "base/run_loop.h"
 #include "base/stl_util.h"
 #include "base/test/metrics/histogram_tester.h"
@@ -3533,16 +3534,16 @@
   TestCompletionCallback callback2;
   HostPortPair host_port2("2.com", 80);
   auto connection2 = std::make_unique<ClientSocketHandle>();
-  EXPECT_EQ(
-      ERR_IO_PENDING,
-      connection2->Init(
-          ClientSocketPool::GroupId(host_port2,
-                                    ClientSocketPool::SocketType::kHttp,
-                                    PrivacyMode::PRIVACY_MODE_DISABLED),
-          ClientSocketPool::SocketParams::CreateForHttpForTesting(),
-          DEFAULT_PRIORITY, SocketTag(),
-          ClientSocketPool::RespectLimits::ENABLED, callback2.callback(),
-          ClientSocketPool::ProxyAuthCallback(), pool, NetLogWithSource()));
+  EXPECT_EQ(ERR_IO_PENDING,
+            connection2->Init(
+                ClientSocketPool::GroupId(host_port2,
+                                          ClientSocketPool::SocketType::kHttp,
+                                          PrivacyMode::PRIVACY_MODE_DISABLED),
+                ClientSocketPool::SocketParams::CreateForHttpForTesting(),
+                base::nullopt /* proxy_annotation_tag */, DEFAULT_PRIORITY,
+                SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
+                pool, NetLogWithSource()));
   EXPECT_TRUE(pool->IsStalled());
 
   // The socket pool should close the connection asynchronously and establish a
@@ -3615,16 +3616,16 @@
   TestCompletionCallback callback3;
   HostPortPair host_port3("3.com", 80);
   auto connection3 = std::make_unique<ClientSocketHandle>();
-  EXPECT_EQ(
-      ERR_IO_PENDING,
-      connection3->Init(
-          ClientSocketPool::GroupId(host_port3,
-                                    ClientSocketPool::SocketType::kHttp,
-                                    PrivacyMode::PRIVACY_MODE_DISABLED),
-          ClientSocketPool::SocketParams::CreateForHttpForTesting(),
-          DEFAULT_PRIORITY, SocketTag(),
-          ClientSocketPool::RespectLimits::ENABLED, callback3.callback(),
-          ClientSocketPool::ProxyAuthCallback(), pool, NetLogWithSource()));
+  EXPECT_EQ(ERR_IO_PENDING,
+            connection3->Init(
+                ClientSocketPool::GroupId(host_port3,
+                                          ClientSocketPool::SocketType::kHttp,
+                                          PrivacyMode::PRIVACY_MODE_DISABLED),
+                ClientSocketPool::SocketParams::CreateForHttpForTesting(),
+                base::nullopt /* proxy_annotation_tag */, DEFAULT_PRIORITY,
+                SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                callback3.callback(), ClientSocketPool::ProxyAuthCallback(),
+                pool, NetLogWithSource()));
   EXPECT_TRUE(pool->IsStalled());
 
   // The socket pool should close the connection asynchronously and establish a
@@ -3695,16 +3696,16 @@
   TestCompletionCallback callback2;
   HostPortPair host_port2("2.com", 80);
   auto connection2 = std::make_unique<ClientSocketHandle>();
-  EXPECT_EQ(
-      ERR_IO_PENDING,
-      connection2->Init(
-          ClientSocketPool::GroupId(host_port2,
-                                    ClientSocketPool::SocketType::kHttp,
-                                    PrivacyMode::PRIVACY_MODE_DISABLED),
-          ClientSocketPool::SocketParams::CreateForHttpForTesting(),
-          DEFAULT_PRIORITY, SocketTag(),
-          ClientSocketPool::RespectLimits::ENABLED, callback2.callback(),
-          ClientSocketPool::ProxyAuthCallback(), pool, NetLogWithSource()));
+  EXPECT_EQ(ERR_IO_PENDING,
+            connection2->Init(
+                ClientSocketPool::GroupId(host_port2,
+                                          ClientSocketPool::SocketType::kHttp,
+                                          PrivacyMode::PRIVACY_MODE_DISABLED),
+                ClientSocketPool::SocketParams::CreateForHttpForTesting(),
+                base::nullopt /* proxy_annotation_tag */, DEFAULT_PRIORITY,
+                SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+                callback2.callback(), ClientSocketPool::ProxyAuthCallback(),
+                pool, NetLogWithSource()));
   EXPECT_TRUE(pool->IsStalled());
 
   // Running the message loop should cause the socket pool to ask the SPDY
diff --git a/net/spdy/spdy_test_util_common.cc b/net/spdy/spdy_test_util_common.cc
index 078173b..085e89d 100644
--- a/net/spdy/spdy_test_util_common.cc
+++ b/net/spdy/spdy_test_util_common.cc
@@ -11,6 +11,7 @@
 #include "base/bind.h"
 #include "base/compiler_specific.h"
 #include "base/logging.h"
+#include "base/optional.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_split.h"
 #include "net/base/host_port_pair.h"
@@ -493,16 +494,15 @@
 
   scoped_refptr<ClientSocketPool::SocketParams> socket_params =
       base::MakeRefCounted<ClientSocketPool::SocketParams>(
-          MutableNetworkTrafficAnnotationTag(),
           std::make_unique<SSLConfig>() /* ssl_config_for_origin */,
           nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
   int rv = connection->Init(
       ClientSocketPool::GroupId(key.host_port_pair(),
                                 ClientSocketPool::SocketType::kSsl,
                                 key.privacy_mode()),
-      socket_params, MEDIUM, key.socket_tag(),
-      ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-      ClientSocketPool::ProxyAuthCallback(),
+      socket_params, base::nullopt /* proxy_annotation_tag */, MEDIUM,
+      key.socket_tag(), ClientSocketPool::RespectLimits::ENABLED,
+      callback.callback(), ClientSocketPool::ProxyAuthCallback(),
       http_session->GetSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL,
                                   ProxyServer::Direct()),
       net_log);
diff --git a/net/ssl/ssl_config.cc b/net/ssl/ssl_config.cc
index ce61dfb7..bdcc43d3 100644
--- a/net/ssl/ssl_config.cc
+++ b/net/ssl/ssl_config.cc
@@ -25,7 +25,6 @@
     : version_min(kDefaultSSLVersionMin),
       version_max(kDefaultSSLVersionMax),
       early_data_enabled(false),
-      version_interference_probe(false),
       false_start_enabled(true),
       require_ecdhe(false),
       ignore_certificate_errors(false),
diff --git a/net/ssl/ssl_config.h b/net/ssl/ssl_config.h
index a1257dfb..7a23fc45 100644
--- a/net/ssl/ssl_config.h
+++ b/net/ssl/ssl_config.h
@@ -83,12 +83,6 @@
   // disable TLS_ECDH_ECDSA_WITH_RC4_128_SHA, specify 0xC002.
   std::vector<uint16_t> disabled_cipher_suites;
 
-  // Enables the version interference probing mode. While TLS 1.3 has avoided
-  // most endpoint intolerance, middlebox interference with TLS 1.3 is
-  // rampant. This causes the connection to be discarded on success with
-  // ERR_SSL_VERSION_INTERFERENCE.
-  bool version_interference_probe;
-
   bool false_start_enabled;  // True if we'll use TLS False Start.
 
   // If true, causes only ECDHE cipher suites to be enabled.
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index 70cd67b2..fa1bb22a 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -10768,28 +10768,15 @@
   ExpectFailure(ERR_SSL_VERSION_OR_CIPHER_MISMATCH);
 }
 
-// Tests that TLS 1.3 interference results in a dedicated error code.
-TEST_F(HTTPSFallbackTest, TLSv1_3Interference) {
+// Tests the TLS 1.2 fallback doesn't happen.
+TEST_F(HTTPSFallbackTest, TLSv1_2NoFallback) {
   SpawnedTestServer::SSLOptions ssl_options(
       SpawnedTestServer::SSLOptions::CERT_OK);
   ssl_options.tls_intolerant =
       SpawnedTestServer::SSLOptions::TLS_INTOLERANT_TLS1_3;
-  ssl_config_service()->set_max_version(SSL_PROTOCOL_VERSION_TLS1_3);
 
   ASSERT_NO_FATAL_FAILURE(DoFallbackTest(ssl_options));
-  ExpectFailure(ERR_SSL_VERSION_INTERFERENCE);
-}
-
-// Tests that disabling TLS 1.3 leaves TLS 1.3 interference unnoticed.
-TEST_F(HTTPSFallbackTest, TLSv1_3InterferenceDisableVersion) {
-  SpawnedTestServer::SSLOptions ssl_options(
-      SpawnedTestServer::SSLOptions::CERT_OK);
-  ssl_options.tls_intolerant =
-      SpawnedTestServer::SSLOptions::TLS_INTOLERANT_TLS1_3;
-  ssl_config_service()->set_max_version(SSL_PROTOCOL_VERSION_TLS1_2);
-
-  ASSERT_NO_FATAL_FAILURE(DoFallbackTest(ssl_options));
-  ExpectConnection(SSL_CONNECTION_VERSION_TLS1_2);
+  ExpectFailure(ERR_SSL_VERSION_OR_CIPHER_MISMATCH);
 }
 
 class HTTPSSessionTest : public TestWithScopedTaskEnvironment {
diff --git a/net/websockets/websocket_basic_stream_adapters_test.cc b/net/websockets/websocket_basic_stream_adapters_test.cc
index 456cb10e..02403680 100644
--- a/net/websockets/websocket_basic_stream_adapters_test.cc
+++ b/net/websockets/websocket_basic_stream_adapters_test.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/memory/scoped_refptr.h"
 #include "base/memory/weak_ptr.h"
+#include "base/optional.h"
 #include "base/run_loop.h"
 #include "base/strings/string_piece.h"
 #include "net/base/host_port_pair.h"
@@ -96,7 +97,6 @@
   bool InitClientSocketHandle(ClientSocketHandle* connection) {
     scoped_refptr<ClientSocketPool::SocketParams> socks_params =
         base::MakeRefCounted<ClientSocketPool::SocketParams>(
-            MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
             std::make_unique<SSLConfig>() /* ssl_config_for_origin */,
             nullptr /* ssl_config_for_proxy */, OnHostResolutionCallback());
     TestCompletionCallback callback;
@@ -104,9 +104,9 @@
         ClientSocketPool::GroupId(host_port_pair_,
                                   ClientSocketPool::SocketType::kSsl,
                                   PrivacyMode::PRIVACY_MODE_DISABLED),
-        socks_params, MEDIUM, SocketTag(),
-        ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
-        ClientSocketPool::ProxyAuthCallback(),
+        socks_params, TRAFFIC_ANNOTATION_FOR_TESTS /* proxy_annotation_tag */,
+        MEDIUM, SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+        callback.callback(), ClientSocketPool::ProxyAuthCallback(),
         socket_pool_manager_->GetSocketPool(ProxyServer::Direct()), net_log_);
     rv = callback.GetResult(rv);
     return rv == OK;
diff --git a/net/websockets/websocket_basic_stream_test.cc b/net/websockets/websocket_basic_stream_test.cc
index a9949f70..77d07df3 100644
--- a/net/websockets/websocket_basic_stream_test.cc
+++ b/net/websockets/websocket_basic_stream_test.cc
@@ -15,6 +15,7 @@
 
 #include "base/big_endian.h"
 #include "base/containers/span.h"
+#include "base/optional.h"
 #include "base/stl_util.h"
 #include "net/base/privacy_mode.h"
 #include "net/base/test_completion_callback.h"
@@ -146,9 +147,10 @@
                                        ClientSocketPool::SocketType::kHttp,
                                        PrivacyMode::PRIVACY_MODE_DISABLED);
     transport_socket->Init(
-        group_id, null_params, MEDIUM, SocketTag(),
-        ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
-        ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
+        group_id, null_params, base::nullopt /* proxy_annotation_tag */, MEDIUM,
+        SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
+        CompletionOnceCallback(), ClientSocketPool::ProxyAuthCallback(), &pool_,
+        NetLogWithSource());
     return transport_socket;
   }
 
diff --git a/net/websockets/websocket_handshake_stream_create_helper_test.cc b/net/websockets/websocket_handshake_stream_create_helper_test.cc
index 303ba34..84a2393d 100644
--- a/net/websockets/websocket_handshake_stream_create_helper_test.cc
+++ b/net/websockets/websocket_handshake_stream_create_helper_test.cc
@@ -10,6 +10,7 @@
 
 #include "base/macros.h"
 #include "base/memory/scoped_refptr.h"
+#include "base/optional.h"
 #include "net/base/completion_once_callback.h"
 #include "net/base/host_port_pair.h"
 #include "net/base/ip_endpoint.h"
@@ -92,7 +93,8 @@
         ClientSocketPool::GroupId(HostPortPair("a", 80),
                                   ClientSocketPool::SocketType::kHttp,
                                   PrivacyMode::PRIVACY_MODE_DISABLED),
-        scoped_refptr<ClientSocketPool::SocketParams>(), MEDIUM, SocketTag(),
+        scoped_refptr<ClientSocketPool::SocketParams>(),
+        base::nullopt /* proxy_annotation_tag */, MEDIUM, SocketTag(),
         ClientSocketPool::RespectLimits::ENABLED, CompletionOnceCallback(),
         ClientSocketPool::ProxyAuthCallback(), &pool_, NetLogWithSource());
     return socket_handle;
diff --git a/remoting/resources/remoting_strings_mr.xtb b/remoting/resources/remoting_strings_mr.xtb
index c4a3a15..dc22822 100644
--- a/remoting/resources/remoting_strings_mr.xtb
+++ b/remoting/resources/remoting_strings_mr.xtb
@@ -94,7 +94,7 @@
 <translation id="2894654864775534701">हा कॉंप्युटर सध्या एका वेगळ्या खात्या अंतर्गत शेअर केला आहे.</translation>
 <translation id="2919669478609886916">तुम्ही दुसर्‍या वापरकर्त्याबरोबर सध्‍या या मशीनचे सामयिकरण करीत आहात. तुम्ही सामायिकरण सुरु ठेऊ इच्छिता?</translation>
 <translation id="2921543551052660690">तुम्ही यापूर्वी <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) म्हणून साइन इन केले होते.  त्या खात्यामध्ये आपल्या संगणकांवर प्रवेश करण्यासाठी, त्या खात्यासह <ph name="LINK_BEGIN" />Chromium वर साइन इन करा<ph name="LINK_END" /> आणि Chromoting पुन्हा इंस्टॉल करा.</translation>
-<translation id="2926340305933667314">या कॉंप्युटरावरील रिमोट अॅक्सेस अक्षम करण्‍यात अयशस्वी. कृपया नंतर पुन्हा प्रयत्न करा.</translation>
+<translation id="2926340305933667314">या कॉंप्युटरावरील रिमोट ॲक्सेस अक्षम करण्‍यात अयशस्वी. कृपया नंतर पुन्हा प्रयत्न करा.</translation>
 <translation id="2930135165929238380">काही आवश्यक घटक गहाळ आहेत. कृपया Chrome://pluginz येथे जा आणि मूळ क्लायंट सक्षम केलेला असल्याची खात्री करा.</translation>
 <translation id="2939145106548231838">होस्ट वर प्रमाणित करा</translation>
 <translation id="3020807351229499221">पिन अपडेट करण्‍यात अयशस्वी. कृपया नंतर पुन्हा प्रयत्न करा.</translation>
@@ -152,7 +152,7 @@
 <translation id="4227991223508142681">होस्ट तरतूद उपयुक्तता</translation>
 <translation id="4240294130679914010">Chromoting होस्ट विस्थापनकर्ता</translation>
 <translation id="4277463233460010382">हा कॉंप्युटर पिन एंटर न करता एक किंवा अधिक क्लायंटना कनेक्ट करण्याची अनुमती देण्यासाठी कॉन्फिगर केला आहे.</translation>
-<translation id="4277736576214464567">अॅक्सेस कोड चुकीचे आहे. कृपया पुन्हा प्रयत्न करा.</translation>
+<translation id="4277736576214464567">ॲक्सेस कोड चुकीचे आहे. कृपया पुन्हा प्रयत्न करा.</translation>
 <translation id="4281844954008187215">सेवा अटी</translation>
 <translation id="4361728918881830843">एका वेगळ्या संगणकावर दूरस्थ कनेक्शन सक्षम करण्यासाठी, Chrome रिमोट डेस्कटॉप तेथे इंस्टॉल करा आणि “<ph name="BUTTON_NAME" />” क्लिक करा.</translation>
 <translation id="4394049700291259645">अक्षम करा</translation>
@@ -290,7 +290,7 @@
 <translation id="7312846573060934304">होस्ट ऑफलाइन आहे.</translation>
 <translation id="7319983568955948908">सामायिकरण थांबवा</translation>
 <translation id="7401733114166276557">Chrome रिमोट डेस्कटॉप</translation>
-<translation id="7434397035092923453">क्लायंटसाठी अॅक्सेस नाकारला: <ph name="CLIENT_USERNAME" /></translation>
+<translation id="7434397035092923453">क्लायंटसाठी ॲक्सेस नाकारला: <ph name="CLIENT_USERNAME" /></translation>
 <translation id="7444276978508498879">कनेक्ट केलेला क्लायंट: <ph name="CLIENT_USERNAME" />.</translation>
 <translation id="7526139040829362392">खाते बदला</translation>
 <translation id="7606912958770842224">दूरस्थ कनेक्‍शन सक्षम करा</translation>
diff --git a/services/network/proxy_resolving_client_socket.cc b/services/network/proxy_resolving_client_socket.cc
index 2305e2f9..79d1a065 100644
--- a/services/network/proxy_resolving_client_socket.cc
+++ b/services/network/proxy_resolving_client_socket.cc
@@ -12,6 +12,7 @@
 #include "base/bind_helpers.h"
 #include "base/compiler_specific.h"
 #include "base/logging.h"
+#include "base/optional.h"
 #include "net/base/io_buffer.h"
 #include "net/base/ip_address.h"
 #include "net/base/load_flags.h"
@@ -275,13 +276,19 @@
 
   next_state_ = STATE_INIT_CONNECTION_COMPLETE;
 
+  base::Optional<net::NetworkTrafficAnnotationTag> proxy_annotation_tag =
+      proxy_info_.is_direct()
+          ? base::nullopt
+          : base::Optional<net::NetworkTrafficAnnotationTag>(
+                proxy_info_.traffic_annotation());
+
   // Now that the proxy is resolved, create and start a ConnectJob.
   connect_job_ = net::ConnectJob::CreateConnectJob(
       use_tls_, net::HostPortPair::FromURL(url_), proxy_info_.proxy_server(),
-      proxy_info_.traffic_annotation(), &ssl_config_, &ssl_config_,
-      true /* force_tunnel */, net::PRIVACY_MODE_DISABLED,
-      net::OnHostResolutionCallback(), net::MAXIMUM_PRIORITY, net::SocketTag(),
-      common_connect_job_params_, this);
+      proxy_annotation_tag, &ssl_config_, &ssl_config_, true /* force_tunnel */,
+      net::PRIVACY_MODE_DISABLED, net::OnHostResolutionCallback(),
+      net::MAXIMUM_PRIORITY, net::SocketTag(), common_connect_job_params_,
+      this);
   return connect_job_->Connect();
 }
 
diff --git a/services/network/resource_scheduler_params_manager.cc b/services/network/resource_scheduler_params_manager.cc
index c6614b70..7594464 100644
--- a/services/network/resource_scheduler_params_manager.cc
+++ b/services/network/resource_scheduler_params_manager.cc
@@ -63,12 +63,11 @@
       ResourceSchedulerParamsManager::ParamsForNetworkQuality(
           8, 3.0, true /* delay_requests_on_multiplexed_connections */,
           base::nullopt)));
-  result.emplace(
-      std::make_pair(net::EFFECTIVE_CONNECTION_TYPE_3G,
-                     ResourceSchedulerParamsManager::ParamsForNetworkQuality(
-                         kDefaultMaxNumDelayableRequestsPerClient, 0.0,
-                         true /* delay_requests_on_multiplexed_connections */,
-                         base::nullopt)));
+  result.emplace(std::make_pair(
+      net::EFFECTIVE_CONNECTION_TYPE_3G,
+      ResourceSchedulerParamsManager::ParamsForNetworkQuality(
+          8, 3.0, true /* delay_requests_on_multiplexed_connections */,
+          base::nullopt)));
 
   for (int config_param_index = 1; config_param_index <= 20;
        ++config_param_index) {
diff --git a/services/network/resource_scheduler_params_manager_unittest.cc b/services/network/resource_scheduler_params_manager_unittest.cc
index edc6d78..a5f43e91 100644
--- a/services/network/resource_scheduler_params_manager_unittest.cc
+++ b/services/network/resource_scheduler_params_manager_unittest.cc
@@ -116,11 +116,11 @@
         return;
 
       case net::EFFECTIVE_CONNECTION_TYPE_3G:
-        EXPECT_EQ(10u, resource_scheduler_params_manager
-                           .GetParamsForEffectiveConnectionType(
-                               effective_connection_type)
-                           .max_delayable_requests);
-        EXPECT_EQ(0.0, resource_scheduler_params_manager
+        EXPECT_EQ(8u, resource_scheduler_params_manager
+                          .GetParamsForEffectiveConnectionType(
+                              effective_connection_type)
+                          .max_delayable_requests);
+        EXPECT_EQ(3.0, resource_scheduler_params_manager
                            .GetParamsForEffectiveConnectionType(
                                effective_connection_type)
                            .non_delayable_weight);
@@ -190,7 +190,8 @@
     net::EffectiveConnectionType ect =
         static_cast<net::EffectiveConnectionType>(effective_connection_type);
     if (effective_connection_type == net::EFFECTIVE_CONNECTION_TYPE_SLOW_2G ||
-        effective_connection_type == net::EFFECTIVE_CONNECTION_TYPE_2G) {
+        effective_connection_type == net::EFFECTIVE_CONNECTION_TYPE_2G ||
+        effective_connection_type == net::EFFECTIVE_CONNECTION_TYPE_3G) {
       EXPECT_EQ(8u, resource_scheduler_params_manager
                         .GetParamsForEffectiveConnectionType(ect)
                         .max_delayable_requests);
@@ -204,20 +205,6 @@
                       .GetParamsForEffectiveConnectionType(ect)
                       .max_queuing_time.has_value());
 
-    } else if (effective_connection_type == net::EFFECTIVE_CONNECTION_TYPE_3G) {
-      EXPECT_EQ(10u, resource_scheduler_params_manager
-                         .GetParamsForEffectiveConnectionType(ect)
-                         .max_delayable_requests);
-      EXPECT_EQ(0.0, resource_scheduler_params_manager
-                         .GetParamsForEffectiveConnectionType(ect)
-                         .non_delayable_weight);
-      EXPECT_TRUE(resource_scheduler_params_manager
-                      .GetParamsForEffectiveConnectionType(ect)
-                      .delay_requests_on_multiplexed_connections);
-      EXPECT_TRUE(resource_scheduler_params_manager
-                      .GetParamsForEffectiveConnectionType(ect)
-                      .max_queuing_time.has_value());
-
     } else {
       VerifyDefaultParams(
           resource_scheduler_params_manager,
@@ -262,10 +249,10 @@
                     .max_queuing_time);
 
     } else if (effective_connection_type == net::EFFECTIVE_CONNECTION_TYPE_3G) {
-      EXPECT_EQ(10u, resource_scheduler_params_manager
-                         .GetParamsForEffectiveConnectionType(ect)
-                         .max_delayable_requests);
-      EXPECT_EQ(0.0, resource_scheduler_params_manager
+      EXPECT_EQ(8u, resource_scheduler_params_manager
+                        .GetParamsForEffectiveConnectionType(ect)
+                        .max_delayable_requests);
+      EXPECT_EQ(3.0, resource_scheduler_params_manager
                          .GetParamsForEffectiveConnectionType(ect)
                          .non_delayable_weight);
       EXPECT_TRUE(resource_scheduler_params_manager
diff --git a/testing/buildbot/chromium.chrome.json b/testing/buildbot/chromium.chrome.json
index b61e6b5..7d2c753 100644
--- a/testing/buildbot/chromium.chrome.json
+++ b/testing/buildbot/chromium.chrome.json
@@ -25,6 +25,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -37,6 +38,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -49,6 +51,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -61,6 +64,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -73,6 +77,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -89,6 +94,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -101,6 +107,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -113,6 +120,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -125,6 +133,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -137,6 +146,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -149,6 +159,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -161,6 +172,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -174,6 +186,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -186,6 +199,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -198,6 +212,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -210,6 +225,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ],
@@ -230,6 +246,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ],
@@ -248,6 +265,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ],
@@ -265,6 +283,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ],
@@ -283,6 +302,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -295,6 +315,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -310,6 +331,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -322,6 +344,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -334,6 +357,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -346,6 +370,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -358,6 +383,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -370,6 +396,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -382,6 +409,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -394,6 +422,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -406,6 +435,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -418,6 +448,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -430,6 +461,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ],
@@ -448,6 +480,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ],
@@ -466,6 +499,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -482,6 +516,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ],
@@ -495,6 +530,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -511,6 +547,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -527,6 +564,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -539,6 +577,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -551,6 +590,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -563,6 +603,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -575,6 +616,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -587,6 +629,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -599,6 +642,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -615,6 +659,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -627,6 +672,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -639,6 +685,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -651,6 +698,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -663,6 +711,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -675,6 +724,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -687,6 +737,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -699,6 +750,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -711,6 +763,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -723,6 +776,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -735,6 +789,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ],
@@ -752,6 +807,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ],
@@ -765,6 +821,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -777,6 +834,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -789,6 +847,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -801,6 +860,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -813,6 +873,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -825,6 +886,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -837,6 +899,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -849,6 +912,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -861,6 +925,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -873,6 +938,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -885,6 +951,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -897,6 +964,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -909,6 +977,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -921,6 +990,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -933,6 +1003,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -945,6 +1016,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -957,6 +1029,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -972,6 +1045,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -984,6 +1058,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -996,6 +1071,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1008,6 +1084,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1020,6 +1097,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1032,6 +1110,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1044,6 +1123,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1056,6 +1136,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1068,6 +1149,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1080,6 +1162,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1092,6 +1175,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1104,6 +1188,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1116,6 +1201,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1128,6 +1214,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1140,6 +1227,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1152,6 +1240,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1164,6 +1253,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1176,6 +1266,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1188,6 +1279,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1200,6 +1292,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1212,6 +1305,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1224,6 +1318,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1240,6 +1335,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1252,6 +1348,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1264,6 +1361,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1276,6 +1374,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1288,6 +1387,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1300,6 +1400,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1312,6 +1413,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
@@ -1324,6 +1426,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
+              "os": "Ubuntu-14.04",
               "pool": "chrome.tests"
             }
           ]
diff --git a/testing/buildbot/chromium.chromiumos.json b/testing/buildbot/chromium.chromiumos.json
index 68eefeab..734f2994 100644
--- a/testing/buildbot/chromium.chromiumos.json
+++ b/testing/buildbot/chromium.chromiumos.json
@@ -486,31 +486,56 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_list_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
@@ -520,68 +545,123 @@
         ],
         "name": "non_single_process_mash_ash_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 21
         },
         "test": "browser_tests"
@@ -596,6 +676,11 @@
         "name": "mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "hard_timeout": 1800
         },
         "test": "browser_tests"
@@ -607,6 +692,11 @@
         "name": "non_network_service_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 21
         },
         "test": "browser_tests"
@@ -619,6 +709,11 @@
         "name": "non_single_process_mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 20
         },
         "test": "browser_tests"
@@ -630,6 +725,11 @@
         "name": "viz_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 20
         },
         "test": "browser_tests"
@@ -641,13 +741,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -656,49 +766,89 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
@@ -708,25 +858,45 @@
         ],
         "name": "non_network_service_components_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -737,7 +907,12 @@
         ],
         "name": "non_network_service_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -749,6 +924,11 @@
         "name": "non_single_process_mash_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 5
         },
         "test": "content_browsertests"
@@ -760,7 +940,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -771,13 +956,23 @@
         "name": "viz_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -787,7 +982,12 @@
         ],
         "name": "non_single_process_mash_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -797,43 +997,78 @@
         ],
         "name": "viz_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
@@ -843,13 +1078,23 @@
         ],
         "name": "non_single_process_mash_exo_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
@@ -859,61 +1104,111 @@
         ],
         "name": "non_network_service_extensions_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gl_unittests_ozone"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -925,6 +1220,11 @@
         "name": "non_network_service_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -936,109 +1236,199 @@
         "name": "non_single_process_mash_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "keyboard_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 2
         },
         "test": "net_unittests"
@@ -1048,103 +1438,188 @@
           "--ozone-platform=headless"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_gl_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_x11_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
@@ -1154,37 +1629,67 @@
         ],
         "name": "non_network_service_sync_integration_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_chromeos_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
@@ -1194,44 +1699,79 @@
         ],
         "name": "non_single_process_mash_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "experiment_percentage": 100,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "usage_time_limit_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -1244,31 +1784,56 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_list_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
@@ -1278,68 +1843,123 @@
         ],
         "name": "non_single_process_mash_ash_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -1354,6 +1974,11 @@
         "name": "mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "hard_timeout": 1800
         },
         "test": "browser_tests"
@@ -1366,6 +1991,11 @@
         "name": "non_single_process_mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -1377,6 +2007,11 @@
         "name": "viz_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -1388,13 +2023,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -1403,67 +2048,122 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -1476,6 +2176,11 @@
         "name": "non_single_process_mash_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 5
         },
         "test": "content_browsertests"
@@ -1487,7 +2192,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -1498,13 +2208,23 @@
         "name": "viz_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -1514,7 +2234,12 @@
         ],
         "name": "non_single_process_mash_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -1524,43 +2249,78 @@
         ],
         "name": "viz_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
@@ -1570,67 +2330,122 @@
         ],
         "name": "non_single_process_mash_exo_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gl_unittests_ozone"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -1642,109 +2457,199 @@
         "name": "non_single_process_mash_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "keyboard_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
@@ -1753,133 +2658,243 @@
           "--ozone-platform=headless"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_gl_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_x11_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_chromeos_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
@@ -1889,50 +2904,90 @@
         ],
         "name": "non_single_process_mash_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "experiment_percentage": 100,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "usage_time_limit_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wayland_client_perftests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
diff --git a/testing/buildbot/chromium.clang.json b/testing/buildbot/chromium.clang.json
index 4dd4f7e1..4098ac15 100644
--- a/testing/buildbot/chromium.clang.json
+++ b/testing/buildbot/chromium.clang.json
@@ -5,80 +5,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -90,13 +155,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -105,55 +180,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -165,91 +285,166 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
@@ -273,278 +468,508 @@
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -8100,80 +8525,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -8185,13 +8675,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -8200,55 +8700,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -8260,7 +8805,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -8271,375 +8821,685 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -8660,7 +9520,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
@@ -8669,7 +9534,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
@@ -8678,7 +9548,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
@@ -8687,7 +9562,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
@@ -8696,7 +9576,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
@@ -8705,7 +9590,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
@@ -8714,7 +9604,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
@@ -8723,7 +9618,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
@@ -8732,7 +9632,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -8742,7 +9647,12 @@
         ],
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
@@ -8751,7 +9661,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
@@ -8760,7 +9675,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -8770,6 +9690,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -8782,7 +9707,12 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
@@ -8791,7 +9721,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -8801,7 +9736,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
@@ -8810,7 +9750,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
@@ -8819,7 +9764,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
@@ -8828,7 +9778,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
@@ -8837,7 +9792,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
@@ -8846,7 +9806,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
@@ -8855,7 +9820,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
@@ -8864,7 +9834,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
@@ -8874,6 +9849,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -8886,7 +9866,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -8898,7 +9883,12 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -8907,7 +9897,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -8916,7 +9911,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
@@ -8925,7 +9925,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
@@ -8934,7 +9939,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
@@ -8943,7 +9953,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
@@ -8952,7 +9967,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
@@ -8961,7 +9981,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
@@ -8970,7 +9995,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
@@ -8979,7 +10009,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
@@ -8988,7 +10023,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
@@ -8997,7 +10037,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
@@ -9006,7 +10051,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
@@ -9015,7 +10065,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
@@ -9024,7 +10079,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
@@ -9033,7 +10093,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
@@ -9042,7 +10107,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
@@ -9051,7 +10121,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
@@ -9061,6 +10136,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -9070,7 +10150,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
@@ -9079,7 +10164,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
@@ -9088,7 +10178,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
@@ -9097,7 +10192,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
@@ -9106,7 +10206,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
@@ -9115,7 +10220,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
@@ -9124,7 +10234,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
@@ -9133,7 +10248,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
@@ -9142,7 +10262,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
@@ -9151,7 +10276,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
@@ -9160,7 +10290,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
@@ -9169,7 +10304,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
@@ -9178,7 +10318,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
@@ -9187,7 +10332,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
@@ -9196,7 +10346,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
@@ -9206,6 +10361,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 16
         },
         "test": "net_unittests"
@@ -9215,7 +10375,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
@@ -9224,7 +10389,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
@@ -9233,7 +10403,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
@@ -9242,7 +10417,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
@@ -9251,7 +10431,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
@@ -9260,7 +10445,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
@@ -9269,7 +10459,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
@@ -9278,7 +10473,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
@@ -9287,7 +10487,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
@@ -9296,7 +10501,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
@@ -9305,7 +10515,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
@@ -9314,7 +10529,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
@@ -9323,7 +10543,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
@@ -9332,7 +10557,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
@@ -9341,7 +10571,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
@@ -9350,7 +10585,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
@@ -9359,7 +10599,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
@@ -9369,6 +10614,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 2
         },
         "test": "unit_tests"
@@ -9378,7 +10628,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
@@ -9387,7 +10642,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
@@ -9396,7 +10656,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
@@ -9405,7 +10670,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
@@ -9414,7 +10684,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
@@ -9423,7 +10698,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
@@ -9432,7 +10712,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
@@ -9442,7 +10727,12 @@
         ],
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -9455,80 +10745,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -9540,13 +10895,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -9555,55 +10920,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -9615,7 +11025,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -9626,369 +11041,674 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -9998,80 +11718,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -10083,13 +11868,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -10098,55 +11893,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -10158,7 +11998,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -10169,375 +12014,685 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -10550,74 +12705,134 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -10628,13 +12843,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -10643,55 +12868,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -10703,7 +12973,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -10714,377 +12989,687 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 4
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -11094,80 +13679,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -11179,13 +13829,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -11194,55 +13854,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -11254,7 +13959,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -11265,375 +13975,685 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -11646,80 +14666,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -11731,13 +14816,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -11746,55 +14841,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -11806,7 +14946,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -11817,375 +14962,685 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -22544,80 +25999,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -22629,13 +26149,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -22644,55 +26174,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -22704,7 +26279,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -22715,375 +26295,685 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index c389174d..292941b 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -667,13 +667,23 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       }
@@ -691,6 +701,11 @@
         "name": "skia_renderer_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -702,6 +717,11 @@
         "name": "skia_renderer_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 2
         },
         "test": "content_browsertests"
@@ -715,13 +735,23 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       }
@@ -734,13 +764,23 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       }
@@ -1491,6 +1531,11 @@
         "name": "network_service_in_process_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 15
         },
         "test": "browser_tests"
@@ -1502,6 +1547,11 @@
         "name": "network_service_web_request_proxy_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 15
         },
         "test": "browser_tests"
@@ -1513,6 +1563,11 @@
         "name": "network_service_in_process_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 2
         },
         "test": "content_browsertests"
@@ -1667,7 +1722,12 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       }
@@ -4289,7 +4349,8 @@
     "scripts": [
       {
         "name": "test_traffic_annotation_auditor",
-        "script": "test_traffic_annotation_auditor.py"
+        "script": "test_traffic_annotation_auditor.py",
+        "swarming": {}
       }
     ]
   },
@@ -4300,56 +4361,101 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -4358,31 +4464,56 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -4394,169 +4525,309 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -4578,6 +4849,11 @@
         "results_handler": "layout tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 12
         }
       }
@@ -4590,7 +4866,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
@@ -4599,7 +4880,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
@@ -4608,7 +4894,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
@@ -4617,7 +4908,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
@@ -4626,7 +4922,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -4636,7 +4937,12 @@
         ],
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
@@ -4645,7 +4951,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
@@ -4654,7 +4965,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -4663,7 +4979,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -4673,7 +4994,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
@@ -4682,7 +5008,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
@@ -4691,7 +5022,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
@@ -4700,7 +5036,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
@@ -4710,6 +5051,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -4722,7 +5068,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -4731,7 +5082,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -4740,7 +5096,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
@@ -4749,7 +5110,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
@@ -4758,7 +5124,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
@@ -4767,7 +5138,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
@@ -4776,7 +5152,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
@@ -4785,7 +5166,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
@@ -4794,7 +5180,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
@@ -4803,7 +5194,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
@@ -4812,7 +5208,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
@@ -4821,7 +5222,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
@@ -4830,7 +5236,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
@@ -4839,7 +5250,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
@@ -4848,7 +5264,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
@@ -4857,7 +5278,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
@@ -4866,7 +5292,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
@@ -4875,7 +5306,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
@@ -4884,7 +5320,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
@@ -4893,7 +5334,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
@@ -4902,7 +5348,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
@@ -4911,7 +5362,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
@@ -4920,7 +5376,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
@@ -4929,7 +5390,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
@@ -4938,7 +5404,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
@@ -4947,7 +5418,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
@@ -4956,7 +5432,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
@@ -4965,7 +5446,12 @@
           "--enable-blink-features=HeapConcurrentMarking"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -4988,6 +5474,11 @@
         "results_handler": "layout tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 12
         }
       }
@@ -5000,7 +5491,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
@@ -5009,7 +5505,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
@@ -5018,7 +5519,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
@@ -5027,7 +5533,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
@@ -5036,7 +5547,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -5046,7 +5562,12 @@
         ],
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
@@ -5055,7 +5576,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
@@ -5064,7 +5590,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -5073,7 +5604,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -5083,7 +5619,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
@@ -5092,7 +5633,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
@@ -5101,7 +5647,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
@@ -5110,7 +5661,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
@@ -5120,6 +5676,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -5132,7 +5693,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -5141,7 +5707,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -5150,7 +5721,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
@@ -5159,7 +5735,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
@@ -5168,7 +5749,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
@@ -5177,7 +5763,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
@@ -5186,7 +5777,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
@@ -5195,7 +5791,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
@@ -5204,7 +5805,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
@@ -5213,7 +5819,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
@@ -5222,7 +5833,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
@@ -5231,7 +5847,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
@@ -5240,7 +5861,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
@@ -5249,7 +5875,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
@@ -5258,7 +5889,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
@@ -5267,7 +5903,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
@@ -5276,7 +5917,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
@@ -5285,7 +5931,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
@@ -5294,7 +5945,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
@@ -5303,7 +5959,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
@@ -5312,7 +5973,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
@@ -5321,7 +5987,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
@@ -5330,7 +6001,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
@@ -5339,7 +6015,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
@@ -5348,7 +6029,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
@@ -5357,7 +6043,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
@@ -5366,7 +6057,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
@@ -5375,7 +6071,12 @@
           "--enable-blink-features=HeapUnifiedGarbageCollection"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -5398,6 +6099,11 @@
         "results_handler": "layout tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 12
         }
       }
@@ -5407,56 +6113,101 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -5465,31 +6216,56 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -5501,169 +6277,309 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -5684,6 +6600,11 @@
         "results_handler": "layout tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 12
         }
       }
@@ -5724,35 +6645,60 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_list_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
@@ -5763,49 +6709,84 @@
         "isolate_coverage_data": true,
         "name": "non_single_process_mash_ash_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -5813,21 +6794,36 @@
         "isolate_coverage_data": true,
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -5835,6 +6831,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 21
         },
         "test": "browser_tests"
@@ -5850,6 +6851,11 @@
         "name": "mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "hard_timeout": 1800
         },
         "test": "browser_tests"
@@ -5863,6 +6869,11 @@
         "name": "non_single_process_mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 20
         },
         "test": "browser_tests"
@@ -5875,6 +6886,11 @@
         "name": "viz_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 20
         },
         "test": "browser_tests"
@@ -5887,14 +6903,24 @@
         "isolate_coverage_data": true,
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -5904,70 +6930,120 @@
         ],
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_components_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
@@ -5975,6 +7051,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -5988,6 +7069,11 @@
         "name": "non_single_process_mash_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 5
         },
         "test": "content_browsertests"
@@ -6000,7 +7086,12 @@
         "isolate_coverage_data": true,
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -6012,6 +7103,11 @@
         "name": "viz_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "content_browsertests"
@@ -6019,7 +7115,12 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -6030,7 +7131,12 @@
         "isolate_coverage_data": true,
         "name": "non_single_process_mash_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -6041,49 +7147,84 @@
         "isolate_coverage_data": true,
         "name": "viz_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
@@ -6094,70 +7235,120 @@
         "isolate_coverage_data": true,
         "name": "non_single_process_mash_exo_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gl_unittests_ozone"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
@@ -6165,6 +7356,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -6177,6 +7373,11 @@
         "name": "non_single_process_mash_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -6184,119 +7385,204 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "keyboard_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
@@ -6306,154 +7592,264 @@
         ],
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_gl_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_x11_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_chromeos_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
@@ -6464,14 +7860,24 @@
         "isolate_coverage_data": true,
         "name": "non_single_process_mash_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
@@ -6479,42 +7885,72 @@
         "experiment_percentage": 100,
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "usage_time_limit_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wayland_client_perftests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -6528,35 +7964,60 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_list_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
@@ -6567,49 +8028,84 @@
         "isolate_coverage_data": true,
         "name": "non_single_process_mash_ash_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -6617,21 +8113,36 @@
         "isolate_coverage_data": true,
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -6639,6 +8150,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 21
         },
         "test": "browser_tests"
@@ -6654,6 +8170,11 @@
         "name": "mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "hard_timeout": 1800
         },
         "test": "browser_tests"
@@ -6667,6 +8188,11 @@
         "name": "non_single_process_mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 20
         },
         "test": "browser_tests"
@@ -6679,6 +8205,11 @@
         "name": "viz_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 20
         },
         "test": "browser_tests"
@@ -6691,14 +8222,24 @@
         "isolate_coverage_data": true,
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -6708,70 +8249,120 @@
         ],
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_components_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
@@ -6779,6 +8370,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -6792,6 +8388,11 @@
         "name": "non_single_process_mash_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 5
         },
         "test": "content_browsertests"
@@ -6804,7 +8405,12 @@
         "isolate_coverage_data": true,
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -6816,6 +8422,11 @@
         "name": "viz_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "content_browsertests"
@@ -6823,7 +8434,12 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -6834,7 +8450,12 @@
         "isolate_coverage_data": true,
         "name": "non_single_process_mash_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -6845,49 +8466,84 @@
         "isolate_coverage_data": true,
         "name": "viz_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
@@ -6898,70 +8554,120 @@
         "isolate_coverage_data": true,
         "name": "non_single_process_mash_exo_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gl_unittests_ozone"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
@@ -6969,6 +8675,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -6981,6 +8692,11 @@
         "name": "non_single_process_mash_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -6988,119 +8704,204 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "keyboard_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
@@ -7110,154 +8911,264 @@
         ],
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_gl_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_x11_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_chromeos_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
@@ -7268,14 +9179,24 @@
         "isolate_coverage_data": true,
         "name": "non_single_process_mash_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
@@ -7283,42 +9204,72 @@
         "experiment_percentage": 100,
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "usage_time_limit_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wayland_client_perftests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -7331,7 +9282,8 @@
     "scripts": [
       {
         "name": "check_network_annotations",
-        "script": "check_network_annotations.py"
+        "script": "check_network_annotations.py",
+        "swarming": {}
       }
     ]
   },
@@ -7339,80 +9291,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -7424,13 +9441,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -7439,55 +9466,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -7499,7 +9571,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -7510,375 +9587,685 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -7888,7 +10275,12 @@
         "isolate_name": "blink_python_tests",
         "name": "blink_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -7898,49 +10290,84 @@
         "isolate_name": "chromedriver_py_tests",
         "name": "chromedriver_py_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "chromedriver_replay_unittests",
         "name": "chromedriver_replay_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "content_shell_crash_test",
         "name": "content_shell_crash_test",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_closure_compile",
         "name": "devtools_closure_compile",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_eslint",
         "name": "devtools_eslint",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "flatbuffers_unittests",
         "name": "flatbuffers_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "metrics_python_tests",
         "name": "metrics_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -7975,6 +10402,11 @@
         "name": "telemetry_gpu_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false
         }
       },
@@ -7987,6 +10419,11 @@
         "name": "telemetry_perf_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 12
         }
@@ -8000,6 +10437,11 @@
         "name": "telemetry_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 4
         }
@@ -8017,7 +10459,12 @@
         },
         "name": "views_perftests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -8025,7 +10472,12 @@
         "name": "webdriver_tests_suite",
         "results_handler": "layout tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -8043,6 +10495,11 @@
         "results_handler": "layout tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 12
         }
       }
@@ -8053,63 +10510,108 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -8117,21 +10619,36 @@
         "isolate_coverage_data": true,
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -8139,6 +10656,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -8151,14 +10673,24 @@
         "isolate_coverage_data": true,
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -8168,56 +10700,96 @@
         ],
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
@@ -8225,6 +10797,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -8237,133 +10814,228 @@
         "isolate_coverage_data": true,
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
@@ -8371,6 +11043,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -8378,287 +11055,492 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -11282,6 +14164,11 @@
         "results_handler": "layout tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 12
         }
       },
@@ -11395,80 +14282,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -11480,13 +14432,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -11495,55 +14457,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -11555,7 +14562,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -11566,375 +14578,685 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -11944,7 +15266,12 @@
         "isolate_name": "blink_python_tests",
         "name": "blink_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -11954,49 +15281,84 @@
         "isolate_name": "chromedriver_py_tests",
         "name": "chromedriver_py_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "chromedriver_replay_unittests",
         "name": "chromedriver_replay_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "content_shell_crash_test",
         "name": "content_shell_crash_test",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_closure_compile",
         "name": "devtools_closure_compile",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_eslint",
         "name": "devtools_eslint",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "flatbuffers_unittests",
         "name": "flatbuffers_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "metrics_python_tests",
         "name": "metrics_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -12031,6 +15393,11 @@
         "name": "telemetry_gpu_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false
         }
       },
@@ -12043,6 +15410,11 @@
         "name": "telemetry_perf_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 12
         }
@@ -12056,6 +15428,11 @@
         "name": "telemetry_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 4
         }
@@ -12073,7 +15450,12 @@
         },
         "name": "views_perftests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -12081,7 +15463,12 @@
         "name": "webdriver_tests_suite",
         "results_handler": "layout tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -12099,6 +15486,11 @@
         "results_handler": "layout tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 12
         }
       }
@@ -12106,23 +15498,28 @@
     "scripts": [
       {
         "name": "check_static_initializers",
-        "script": "check_static_initializers.py"
+        "script": "check_static_initializers.py",
+        "swarming": {}
       },
       {
         "name": "checkdeps",
-        "script": "checkdeps.py"
+        "script": "checkdeps.py",
+        "swarming": {}
       },
       {
         "name": "checkperms",
-        "script": "checkperms.py"
+        "script": "checkperms.py",
+        "swarming": {}
       },
       {
         "name": "headless_python_unittests",
-        "script": "headless_python_unittests.py"
+        "script": "headless_python_unittests.py",
+        "swarming": {}
       },
       {
         "name": "webkit_lint",
-        "script": "blink_lint_expectations.py"
+        "script": "blink_lint_expectations.py",
+        "swarming": {}
       }
     ]
   },
diff --git a/testing/buildbot/chromium.goma.json b/testing/buildbot/chromium.goma.json
index 78c1ed5e..337d7a1 100644
--- a/testing/buildbot/chromium.goma.json
+++ b/testing/buildbot/chromium.goma.json
@@ -14,13 +14,23 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       }
@@ -33,13 +43,23 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       }
@@ -52,13 +72,23 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       }
@@ -71,13 +101,23 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       }
@@ -90,13 +130,23 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       }
diff --git a/testing/buildbot/chromium.gpu.fyi.json b/testing/buildbot/chromium.gpu.fyi.json
index a3c9c14..37a4ba1 100644
--- a/testing/buildbot/chromium.gpu.fyi.json
+++ b/testing/buildbot/chromium.gpu.fyi.json
@@ -9294,6 +9294,38 @@
         },
         "test": "swiftshader_unittests"
       }
+    ],
+    "isolated_scripts": [
+      {
+        "args": [
+          "--num-retries=3",
+          "--additional-driver-flag=--enable-features=VizDisplayCompositor,UseSkiaRenderer",
+          "--additional-driver-flag=--use-gl=swiftshader",
+          "--fuzzy-diff",
+          "--test-list=../../testing/buildbot/filters/gpu.skiarenderer_vulkan_blink_web_tests.filter",
+          "--additional-expectations=../../third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer"
+        ],
+        "isolate_name": "blink_web_tests_exparchive",
+        "merge": {
+          "args": [
+            "--verbose"
+          ],
+          "script": "//third_party/blink/tools/merge_web_test_results.py"
+        },
+        "name": "skia_renderer_blink_web_tests",
+        "results_handler": "layout tests",
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "gpu": "nvidia-quadro-p400-ubuntu-stable",
+              "os": "Ubuntu",
+              "pool": "Chrome-GPU"
+            }
+          ],
+          "shards": 2
+        }
+      }
     ]
   },
   "Linux FYI dEQP Release (Intel HD 630)": {
diff --git a/testing/buildbot/chromium.linux.json b/testing/buildbot/chromium.linux.json
index 14f10d08..0d1f300 100644
--- a/testing/buildbot/chromium.linux.json
+++ b/testing/buildbot/chromium.linux.json
@@ -9,56 +9,101 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -67,31 +112,56 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_audio_backend_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_crash_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_media_unittests"
       },
@@ -109,25 +179,45 @@
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
@@ -137,6 +227,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -148,175 +243,320 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -330,56 +570,101 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -388,37 +673,67 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_audio_backend_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_crash_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_graphics_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_media_unittests"
       },
@@ -436,25 +751,45 @@
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
@@ -464,6 +799,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -475,181 +815,331 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -1025,6 +1515,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "expiration": 36000,
           "hard_timeout": 10800,
           "ignore_task_failure": false,
@@ -1041,7 +1536,8 @@
     "scripts": [
       {
         "name": "check_network_annotations",
-        "script": "check_network_annotations.py"
+        "script": "check_network_annotations.py",
+        "swarming": {}
       }
     ]
   },
@@ -1060,80 +1556,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -1145,13 +1706,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -1160,55 +1731,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -1220,7 +1836,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -1231,375 +1852,685 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -1609,7 +2540,12 @@
         "isolate_name": "blink_python_tests",
         "name": "blink_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -1619,49 +2555,84 @@
         "isolate_name": "chromedriver_py_tests",
         "name": "chromedriver_py_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "chromedriver_replay_unittests",
         "name": "chromedriver_replay_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "content_shell_crash_test",
         "name": "content_shell_crash_test",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_closure_compile",
         "name": "devtools_closure_compile",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_eslint",
         "name": "devtools_eslint",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "flatbuffers_unittests",
         "name": "flatbuffers_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "metrics_python_tests",
         "name": "metrics_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -1696,6 +2667,11 @@
         "name": "telemetry_gpu_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false
         }
       },
@@ -1708,6 +2684,11 @@
         "name": "telemetry_perf_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 12
         }
@@ -1721,6 +2702,11 @@
         "name": "telemetry_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 4
         }
@@ -1738,7 +2724,12 @@
         },
         "name": "views_perftests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -1768,23 +2759,28 @@
     "scripts": [
       {
         "name": "check_static_initializers",
-        "script": "check_static_initializers.py"
+        "script": "check_static_initializers.py",
+        "swarming": {}
       },
       {
         "name": "checkdeps",
-        "script": "checkdeps.py"
+        "script": "checkdeps.py",
+        "swarming": {}
       },
       {
         "name": "checkperms",
-        "script": "checkperms.py"
+        "script": "checkperms.py",
+        "swarming": {}
       },
       {
         "name": "headless_python_unittests",
-        "script": "headless_python_unittests.py"
+        "script": "headless_python_unittests.py",
+        "swarming": {}
       },
       {
         "name": "webkit_lint",
-        "script": "blink_lint_expectations.py"
+        "script": "blink_lint_expectations.py",
+        "swarming": {}
       }
     ]
   },
@@ -1792,80 +2788,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -1877,13 +2938,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -1892,55 +2963,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -1952,7 +3068,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -1963,376 +3084,686 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 2
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -2342,42 +3773,72 @@
         "isolate_name": "blink_python_tests",
         "name": "blink_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "content_shell_crash_test",
         "name": "content_shell_crash_test",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_closure_compile",
         "name": "devtools_closure_compile",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_eslint",
         "name": "devtools_eslint",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "flatbuffers_unittests",
         "name": "flatbuffers_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "metrics_python_tests",
         "name": "metrics_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -2410,6 +3871,11 @@
         "name": "telemetry_gpu_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false
         }
       },
@@ -2422,6 +3888,11 @@
         "name": "telemetry_perf_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 12
         }
@@ -2435,6 +3906,11 @@
         "name": "telemetry_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 4
         }
@@ -2452,7 +3928,12 @@
         },
         "name": "views_perftests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -2460,7 +3941,12 @@
         "name": "webdriver_tests_suite",
         "results_handler": "layout tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -2493,80 +3979,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -2578,13 +4129,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -2593,55 +4154,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -2653,7 +4259,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -2664,370 +4275,675 @@
         ],
         "name": "skia_renderer_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 2
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       },
       {
         "name": "xr_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "xr_browser_tests"
       }
@@ -3037,35 +4953,60 @@
         "isolate_name": "blink_python_tests",
         "name": "blink_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_closure_compile",
         "name": "devtools_closure_compile",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_eslint",
         "name": "devtools_eslint",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "flatbuffers_unittests",
         "name": "flatbuffers_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "metrics_python_tests",
         "name": "metrics_python_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -3073,6 +5014,11 @@
         "name": "telemetry_gpu_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false
         }
       },
@@ -3085,6 +5031,11 @@
         "name": "telemetry_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 4
         }
@@ -3102,7 +5053,12 @@
         },
         "name": "views_perftests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -3110,7 +5066,12 @@
         "name": "webdriver_tests_suite",
         "results_handler": "layout tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       }
     ]
@@ -3150,13 +5111,23 @@
       {
         "experiment_percentage": 100,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       }
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json
index f78535ae..2ff759b 100644
--- a/testing/buildbot/chromium.memory.json
+++ b/testing/buildbot/chromium.memory.json
@@ -2652,7 +2652,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
@@ -2662,6 +2667,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "angle_unittests"
@@ -2671,7 +2681,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
@@ -2680,7 +2695,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
@@ -2689,7 +2709,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
@@ -2698,7 +2723,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
@@ -2707,7 +2737,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
@@ -2716,7 +2751,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
@@ -2725,7 +2765,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -2736,6 +2781,11 @@
         "name": "webkit_unit_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 5
         },
         "test": "blink_unittests"
@@ -2745,7 +2795,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
@@ -2754,7 +2809,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -2764,6 +2824,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 30
         },
         "test": "browser_tests"
@@ -2776,7 +2841,12 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
@@ -2785,7 +2855,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -2795,7 +2870,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
@@ -2804,7 +2884,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
@@ -2813,7 +2898,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
@@ -2822,7 +2912,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
@@ -2831,7 +2926,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
@@ -2840,7 +2940,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
@@ -2850,6 +2955,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 5
         },
         "test": "components_unittests"
@@ -2859,7 +2969,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
@@ -2869,6 +2984,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -2881,7 +3001,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -2891,6 +3016,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 2
         },
         "test": "content_unittests"
@@ -2900,7 +3030,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
@@ -2909,7 +3044,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
@@ -2918,7 +3058,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
@@ -2927,7 +3072,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
@@ -2936,7 +3086,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
@@ -2945,7 +3100,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
@@ -2954,7 +3114,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
@@ -2963,7 +3128,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
@@ -2972,7 +3142,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
@@ -2981,7 +3156,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
@@ -2990,7 +3170,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
@@ -2999,7 +3184,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
@@ -3027,7 +3217,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gl_unittests"
       },
@@ -3036,7 +3231,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
@@ -3045,7 +3245,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
@@ -3054,7 +3259,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
@@ -3063,7 +3273,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
@@ -3073,6 +3288,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "interactive_ui_tests"
@@ -3082,7 +3302,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
@@ -3091,7 +3316,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
@@ -3100,7 +3330,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
@@ -3109,7 +3344,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
@@ -3118,7 +3358,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
@@ -3127,7 +3372,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
@@ -3136,7 +3386,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
@@ -3145,7 +3400,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
@@ -3154,7 +3414,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
@@ -3163,7 +3428,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
@@ -3172,7 +3442,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
@@ -3181,7 +3456,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
@@ -3190,7 +3470,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
@@ -3199,7 +3484,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
@@ -3208,7 +3498,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
@@ -3218,6 +3513,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 16
         },
         "test": "net_unittests"
@@ -3227,7 +3527,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
@@ -3236,7 +3541,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
@@ -3245,7 +3555,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
@@ -3254,7 +3569,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
@@ -3263,7 +3583,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
@@ -3272,7 +3597,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
@@ -3281,7 +3611,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
@@ -3290,7 +3625,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
@@ -3299,7 +3639,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
@@ -3308,7 +3653,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
@@ -3317,7 +3667,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
@@ -3326,7 +3681,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
@@ -3335,7 +3695,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
@@ -3344,7 +3709,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
@@ -3353,7 +3723,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
@@ -3362,7 +3737,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
@@ -3371,7 +3751,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
@@ -3381,6 +3766,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 4
         },
         "test": "unit_tests"
@@ -3390,7 +3780,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
@@ -3399,7 +3794,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
@@ -3408,7 +3808,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
@@ -3417,7 +3822,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
@@ -3426,7 +3836,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
@@ -3435,7 +3850,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
@@ -3444,7 +3864,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -3458,6 +3883,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -3467,7 +3897,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
@@ -3476,7 +3911,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -3486,6 +3926,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -3496,80 +3941,145 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
       {
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -3581,13 +4091,23 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -3596,55 +4116,100 @@
           "--gtest_filter=-*UsingRealWebcam*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -3656,91 +4221,166 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
@@ -3782,278 +4422,508 @@
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -4066,7 +4936,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
@@ -4075,7 +4950,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
@@ -4084,7 +4964,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_list_unittests"
       },
@@ -4093,7 +4978,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
@@ -4102,7 +4992,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
@@ -4113,7 +5008,12 @@
         ],
         "name": "non_single_process_mash_ash_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ash_unittests"
       },
@@ -4122,7 +5022,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
@@ -4131,7 +5036,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
@@ -4140,7 +5050,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
@@ -4149,7 +5064,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
@@ -4158,7 +5078,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
@@ -4167,7 +5092,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -4177,7 +5107,12 @@
         ],
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
@@ -4186,7 +5121,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
@@ -4195,7 +5135,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -4205,6 +5150,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 31
         },
         "test": "browser_tests"
@@ -4220,6 +5170,11 @@
         "name": "mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "hard_timeout": 1800
         },
         "test": "browser_tests"
@@ -4233,6 +5188,11 @@
         "name": "non_single_process_mash_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 30
         },
         "test": "browser_tests"
@@ -4245,6 +5205,11 @@
         "name": "viz_browser_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 30
         },
         "test": "browser_tests"
@@ -4257,7 +5222,12 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
@@ -4266,7 +5236,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -4276,7 +5251,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
@@ -4285,7 +5265,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
@@ -4294,7 +5279,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
@@ -4303,7 +5293,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
@@ -4312,7 +5307,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
@@ -4321,7 +5321,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_components_unittests"
       },
@@ -4330,7 +5335,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromeos_unittests"
       },
@@ -4339,7 +5349,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
@@ -4349,6 +5364,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 5
         },
         "test": "components_unittests"
@@ -4358,7 +5378,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
@@ -4368,6 +5393,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -4381,6 +5411,11 @@
         "name": "non_single_process_mash_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 5
         },
         "test": "content_browsertests"
@@ -4393,7 +5428,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -4405,6 +5445,11 @@
         "name": "viz_content_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 4
         },
         "test": "content_browsertests"
@@ -4414,7 +5459,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -4425,7 +5475,12 @@
         ],
         "name": "non_single_process_mash_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -4436,7 +5491,12 @@
         ],
         "name": "viz_content_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -4445,7 +5505,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
@@ -4454,7 +5519,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
@@ -4463,7 +5533,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
@@ -4472,7 +5547,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
@@ -4481,7 +5561,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
@@ -4490,7 +5575,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
@@ -4501,7 +5591,12 @@
         ],
         "name": "non_single_process_mash_exo_unittests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "exo_unittests"
       },
@@ -4510,7 +5605,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
@@ -4519,7 +5619,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
@@ -4528,7 +5633,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
@@ -4537,7 +5647,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
@@ -4546,7 +5661,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
@@ -4555,7 +5675,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gl_unittests_ozone"
       },
@@ -4564,7 +5689,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
@@ -4573,7 +5703,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
@@ -4583,6 +5718,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -4595,6 +5735,11 @@
         "name": "non_single_process_mash_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -4604,7 +5749,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
@@ -4613,7 +5763,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
@@ -4622,7 +5777,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "keyboard_unittests"
       },
@@ -4631,7 +5791,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
@@ -4640,7 +5805,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
@@ -4649,7 +5819,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
@@ -4658,7 +5833,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
@@ -4667,7 +5847,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
@@ -4676,7 +5861,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
@@ -4685,7 +5875,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
@@ -4694,7 +5889,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
@@ -4703,7 +5903,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
@@ -4712,7 +5917,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
@@ -4721,7 +5931,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
@@ -4730,7 +5945,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
@@ -4739,7 +5959,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
@@ -4749,6 +5974,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 8
         },
         "test": "net_unittests"
@@ -4759,7 +5989,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_gl_unittests"
       },
@@ -4768,7 +6003,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_unittests"
       },
@@ -4777,7 +6017,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ozone_x11_unittests"
       },
@@ -4786,7 +6031,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
@@ -4795,7 +6045,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
@@ -4804,7 +6059,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
@@ -4813,7 +6073,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
@@ -4822,7 +6087,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
@@ -4831,7 +6101,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
@@ -4840,7 +6115,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
@@ -4849,7 +6129,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
@@ -4858,7 +6143,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
@@ -4867,7 +6157,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
@@ -4876,7 +6171,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
@@ -4885,7 +6185,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
@@ -4894,7 +6199,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
@@ -4903,7 +6213,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
@@ -4912,7 +6227,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
@@ -4921,7 +6241,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
@@ -4930,7 +6255,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_chromeos_unittests"
       },
@@ -4939,7 +6269,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
@@ -4949,6 +6284,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 2
         },
         "test": "unit_tests"
@@ -4960,7 +6300,12 @@
         ],
         "name": "non_single_process_mash_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
@@ -4969,7 +6314,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
@@ -4979,7 +6329,12 @@
         ],
         "experiment_percentage": 100,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "usage_time_limit_unittests"
       },
@@ -4988,7 +6343,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
@@ -4997,7 +6357,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
@@ -5006,7 +6371,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wayland_client_perftests"
       },
@@ -5015,7 +6385,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
@@ -5024,7 +6399,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -7895,7 +9275,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
@@ -7904,7 +9289,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
@@ -7913,7 +9303,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
@@ -7922,7 +9317,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
@@ -7931,7 +9331,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
@@ -7940,7 +9345,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
@@ -7949,7 +9359,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
@@ -7958,7 +9373,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
@@ -7967,7 +9387,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -7977,7 +9402,12 @@
         ],
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
@@ -7986,7 +9416,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
@@ -7995,7 +9430,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -8007,7 +9447,12 @@
         ],
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
@@ -8016,7 +9461,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -8026,7 +9476,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
@@ -8035,7 +9490,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
@@ -8044,7 +9504,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
@@ -8053,7 +9518,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
@@ -8062,7 +9532,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
@@ -8071,7 +9546,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
@@ -8080,7 +9560,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
@@ -8089,7 +9574,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
@@ -8099,6 +9589,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -8111,7 +9606,12 @@
         ],
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -8120,7 +9620,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
@@ -8129,7 +9634,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
@@ -8138,7 +9648,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
@@ -8147,7 +9662,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
@@ -8156,7 +9676,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
@@ -8165,7 +9690,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
@@ -8174,7 +9704,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
@@ -8183,7 +9718,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
@@ -8192,7 +9732,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
@@ -8201,7 +9746,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
@@ -8210,7 +9760,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
@@ -8219,7 +9774,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
@@ -8228,7 +9788,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
@@ -8237,7 +9802,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
@@ -8265,7 +9835,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gl_unittests"
       },
@@ -8274,7 +9849,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
@@ -8283,7 +9863,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
@@ -8292,7 +9877,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
@@ -8301,7 +9891,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
@@ -8311,6 +9906,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "interactive_ui_tests"
@@ -8320,7 +9920,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
@@ -8329,7 +9934,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
@@ -8338,7 +9948,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
@@ -8347,7 +9962,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
@@ -8356,7 +9976,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
@@ -8365,7 +9990,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
@@ -8374,7 +10004,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
@@ -8383,7 +10018,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
@@ -8392,7 +10032,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
@@ -8401,7 +10046,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
@@ -8410,7 +10060,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
@@ -8419,7 +10074,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
@@ -8428,7 +10088,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
@@ -8438,6 +10103,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 4
         },
         "test": "net_unittests"
@@ -8447,7 +10117,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
@@ -8456,7 +10131,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
@@ -8465,7 +10145,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
@@ -8474,7 +10159,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
@@ -8483,7 +10173,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
@@ -8492,7 +10187,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
@@ -8501,7 +10201,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
@@ -8510,7 +10215,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
@@ -8519,7 +10229,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
@@ -8528,7 +10243,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
@@ -8537,7 +10257,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
@@ -8546,7 +10271,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
@@ -8555,7 +10285,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
@@ -8565,6 +10300,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "sync_integration_tests"
@@ -8574,7 +10314,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
@@ -8583,7 +10328,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
@@ -8592,7 +10342,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
@@ -8602,6 +10357,11 @@
         ],
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 2
         },
         "test": "unit_tests"
@@ -8611,7 +10371,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
@@ -8620,7 +10385,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
@@ -8629,7 +10399,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
@@ -8638,7 +10413,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
@@ -8647,7 +10427,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
@@ -8656,7 +10441,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
@@ -8665,7 +10455,12 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
diff --git a/testing/buildbot/chromium.swarm.json b/testing/buildbot/chromium.swarm.json
index b9c08f3..4952cd4 100644
--- a/testing/buildbot/chromium.swarm.json
+++ b/testing/buildbot/chromium.swarm.json
@@ -690,7 +690,8 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
-              "cores": "2"
+              "cores": "2",
+              "os": "Ubuntu-14.04"
             }
           ]
         },
@@ -701,7 +702,8 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
-              "cores": "8"
+              "cores": "8",
+              "os": "Ubuntu-14.04"
             }
           ],
           "shards": 2
@@ -713,7 +715,8 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
-              "cores": "8"
+              "cores": "8",
+              "os": "Ubuntu-14.04"
             }
           ]
         },
@@ -724,7 +727,8 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
-              "cores": "2"
+              "cores": "2",
+              "os": "Ubuntu-14.04"
             }
           ]
         },
@@ -735,7 +739,8 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
-              "cores": "8"
+              "cores": "8",
+              "os": "Ubuntu-14.04"
             }
           ]
         },
@@ -746,7 +751,8 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
-              "cores": "8"
+              "cores": "8",
+              "os": "Ubuntu-14.04"
             }
           ]
         },
@@ -757,7 +763,8 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
-              "cores": "2"
+              "cores": "2",
+              "os": "Ubuntu-14.04"
             }
           ]
         },
diff --git a/testing/buildbot/chromium.webrtc.json b/testing/buildbot/chromium.webrtc.json
index 56d32ce..e9b3caf 100644
--- a/testing/buildbot/chromium.webrtc.json
+++ b/testing/buildbot/chromium.webrtc.json
@@ -44,7 +44,12 @@
         ],
         "name": "browser_tests_functional",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
@@ -55,7 +60,12 @@
           "--test-launcher-jobs=1"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests_apprtc"
       },
@@ -76,7 +86,12 @@
           "--gtest_filter=WebRtc*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -88,7 +103,12 @@
         ],
         "name": "content_browsertests_sequential",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -100,7 +120,12 @@
         ],
         "name": "content_browsertests_stress",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
@@ -109,13 +134,23 @@
           "--test-launcher-filter-file=../../testing/buildbot/filters/webrtc.content_unittests.filter"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
@@ -124,7 +159,12 @@
           "--gtest_filter=Webrtc*"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       }
diff --git a/testing/buildbot/client.v8.chromium.json b/testing/buildbot/client.v8.chromium.json
index b754e646..889b8b9 100644
--- a/testing/buildbot/client.v8.chromium.json
+++ b/testing/buildbot/client.v8.chromium.json
@@ -5,176 +5,321 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       }
@@ -184,21 +329,36 @@
         "isolate_name": "content_shell_crash_test",
         "name": "content_shell_crash_test",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_closure_compile",
         "name": "devtools_closure_compile",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_eslint",
         "name": "devtools_eslint",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -206,6 +366,11 @@
         "name": "telemetry_gpu_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false
         }
       },
@@ -217,6 +382,11 @@
         "name": "telemetry_perf_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 12
         }
@@ -230,6 +400,11 @@
         "name": "telemetry_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 4
         }
@@ -240,177 +415,322 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
       {
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       }
@@ -420,21 +740,36 @@
         "isolate_name": "content_shell_crash_test",
         "name": "content_shell_crash_test",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_closure_compile",
         "name": "devtools_closure_compile",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
         "isolate_name": "devtools_eslint",
         "name": "devtools_eslint",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         }
       },
       {
@@ -442,6 +777,11 @@
         "name": "telemetry_gpu_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false
         }
       },
@@ -454,6 +794,11 @@
         "name": "telemetry_unittests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "idempotent": false,
           "shards": 4
         }
diff --git a/testing/buildbot/filters/BUILD.gn b/testing/buildbot/filters/BUILD.gn
index c96e771..c8fab81 100644
--- a/testing/buildbot/filters/BUILD.gn
+++ b/testing/buildbot/filters/BUILD.gn
@@ -16,6 +16,14 @@
 # $ for i in $(ls -1 testing/buildbot/filters/*.browser_tests.*filter ); \
 #   do echo "    \"//$i\","; done | sort
 
+source_set("blink_web_tests_filter") {
+  testonly = true
+
+  data = [
+    "//testing/buildbot/filters/gpu.skiarenderer_vulkan_blink_web_tests.filter",
+  ]
+}
+
 source_set("browser_tests_filters") {
   testonly = true
 
diff --git a/testing/buildbot/filters/gpu.skiarenderer_vulkan_blink_web_tests.filter b/testing/buildbot/filters/gpu.skiarenderer_vulkan_blink_web_tests.filter
new file mode 100644
index 0000000..2b0aef6
--- /dev/null
+++ b/testing/buildbot/filters/gpu.skiarenderer_vulkan_blink_web_tests.filter
@@ -0,0 +1,750 @@
+# The beginning of this filter is a list of tests which either are currently
+# failing, or in the past failed. For issues which were not limited flakes, they
+# are associated with the issue filed.
+# These should be ran to catch regressions.
+#
+# SkiaRenderer needs color conversion support - crbug.com/795132
+media/controls-focus-ring.html
+media/video-controls-fullscreen-iframe-not-allowed.html
+media/webkit-media-controls-webkit-appearance.html
+
+# Media Color Space issues - crbug.com/908957
+compositing/video/video-controls-squashing.html
+compositing/video/video-reflection.html
+
+# Reflector Implementation - crbug.com/922570
+compositing/squashing/squashing-reflection-disallowed.html
+compositing/webgl/webgl-no-alpha.html
+
+# Vulkan Incompatible Textures - crbug.com/932614
+compositing/canvas-with-object-fit-contain-in-composited-layer.html
+compositing/composited-canvas-with-overflowing-object-fit.html
+compositing/draws-content/canvas-simple-background.html
+compositing/layer-creation/backing-requirement-changes.html
+
+# Assert in GrResourceCache WebGL+Vulkan - crbug.com/933526
+compositing/draws-content/webgl-simple-background.html
+
+# Vulkan Check failed: helper->impl_on_gpu_ - crbug.com/934851
+compositing/overflow/composited-scroller-can-be-normal-flow.html
+
+# Vulkan: SharedImageFactory Destructor Check Failed - crbug.com/935450
+images/color-jpeg-with-color-profile.html
+images/imagemap-nested-area.html
+
+# SkiaRenderer Bluring Issues - crbug.com/935528
+compositing/culling/scrolled-within-boxshadow.html
+compositing/culling/translated-boxshadow.html
+compositing/culling/unscrolled-within-boxshadow.html
+compositing/fixed-background-after-style-recalc.html
+compositing/geometry/clipping-foreground.html
+compositing/geometry/foreground-layer.html
+compositing/geometry/vertical-scroll-composited.html
+compositing/iframes/composited-iframe-alignment.html
+compositing/lots-of-img-layers.html
+compositing/overflow/scrollbar-layer-placement-negative-z-index-child-positioned.html
+compositing/overflow/scrollbar-layer-placement.html
+compositing/shadows/shadow-drawing.html
+compositing/video-frame-size-change.html
+css2.1/t090501-c414-flt-02-d-g.html
+css2.1/t090501-c414-flt-03-b-g.html
+css2.1/t100304-c43-rpl-bbx-00-d-g.html
+css2.1/t100304-c43-rpl-bbx-01-d-g.html
+css3/background/background-repeat-round-auto1.html
+css3/background/background-repeat-round-border.html
+css3/background/background-repeat-round-content.html
+css3/background/background-repeat-round-padding.html
+css3/blending/background-blend-mode-crossfade-image-gradient.html
+css3/blending/background-blend-mode-default-value.html
+css3/blending/background-blend-mode-gradient-gradient.html
+css3/blending/background-blend-mode-gradient-image.html
+css3/blending/background-blend-mode-image-color.html
+css3/blending/background-blend-mode-image-image.html
+css3/blending/background-blend-mode-image-svg.html
+css3/blending/background-blend-mode-multiple-background-layers.html
+css3/blending/background-blend-mode-single-layer-no-blending.html
+css3/blending/background-blend-mode-svg-color.html
+css3/blending/background-blend-mode-tiled-gradient.html
+css3/blending/effect-background-blend-mode-stacking.html
+css3/blending/effect-background-blend-mode-tiled.html
+css3/blending/effect-background-blend-mode.html
+css3/blending/mix-blend-mode-isolated-group-1.html
+css3/blending/mix-blend-mode-isolated-group-2.html
+css3/blending/mix-blend-mode-isolated-group-3.html
+css3/filters/blur-filter-page-scroll-parents.html
+css3/filters/blur-filter-page-scroll.html
+css3/filters/crash-filter-change.html
+css3/filters/effect-blur.html
+css3/filters/effect-brightness-clamping.html
+css3/filters/effect-combined.html
+css3/filters/effect-drop-shadow.html
+css3/filters/filter-repaint-blur.html
+css3/filters/filter-repaint-child-layers.html
+css3/filters/filter-repaint-shadow.html
+css3/filters/filter-repaint.html
+css3/filters/regions-expanding.html
+css3/masking/mask-luminance-png.html
+css3/masking/mask-repeat-round-auto1.html
+css3/masking/mask-repeat-round-border.html
+css3/masking/mask-repeat-round-content.html
+css3/masking/mask-repeat-round-padding.html
+css3/masking/mask-repeat-space-border.html
+images/color-profile-animate-rotate.html
+images/color-profile-animate.html
+images/color-profile-background-image-cover.html
+images/color-profile-background-image-cross-fade-png.html
+images/color-profile-background-image-cross-fade.html
+images/color-profile-background-image-repeat.html
+images/color-profile-background-image-space.html
+images/color-profile-border-fade.html
+images/color-profile-border-image.html
+images/color-profile-border-radius.html
+images/color-profile-filter.html
+images/color-profile-group.html
+images/color-profile-image-canvas-pattern.html
+images/color-profile-image-canvas.html
+images/color-profile-image-filter-all.html
+images/color-profile-image-profile-match.html
+images/color-profile-image.html
+images/color-profile-mask-image-svg.html
+images/color-profile-object.html
+images/color-profile-reflection.html
+images/color-profile-svg-fill-text.html
+images/color-profile-svg.html
+images/optimize-contrast-canvas.html
+images/optimize-contrast-image.html
+images/rgb-png-with-cmyk-color-profile.html
+images/webp-color-profile-lossy.html
+images/ycbcr-with-cmyk-color-profile.html
+media/color-profile-video-poster-image.html
+media/controls/paint-controls-webkit-appearance-none-custom-bg.html
+media/controls/paint-controls-webkit-appearance-none.html
+media/controls/video-overlay-cast-light-rendering.html
+media/video-layer-crash.html
+media/video-no-audio.html
+media/video-poster-scale.html
+media/video-transformed.html
+transforms/3d/point-mapping/3d-point-mapping-origins.html
+transforms/shadows.html
+transforms/svg-vs-css.xhtml
+
+# animated-filter-svg-element Missing Element - crbug.com/935553
+animations/svg/animated-filter-svg-element.html
+
+# Filter Occlusion Blur Errors - crbug.com/935556
+compositing/culling/filter-occlusion-blur-large.html
+compositing/culling/filter-occlusion-blur.html
+css3/blending/mix-blend-mode-with-filters.html
+css3/filters/backdrop-filter-basic-blur.html
+css3/filters/blur-filter-page-scroll-self.html
+css3/filters/effect-blur-hw.html
+css3/filters/effect-combined-hw.html
+css3/filters/effect-drop-shadow-hw.html
+images/color-profile-layer-filter.html
+transforms/3d/point-mapping/3d-point-mapping-deep.html
+
+# No Video Rendering - crbug.com/935570
+compositing/geometry/video-fixed-scrolling.html
+compositing/geometry/video-opacity-overlay.html
+compositing/layers-inside-overflow-scroll.html
+compositing/overflow/scroll-ancestor-update.html
+compositing/self-painting-layers.html
+compositing/visibility/visibility-simple-video-layer.html
+
+# Gesture Highlights Broken - crbug.com/935571
+compositing/gestures/gesture-tapHighlight-img-and-text.html
+compositing/gestures/gesture-tapHighlight-invisible-inline.html
+compositing/gestures/gesture-tapHighlight-multicol.html
+compositing/gestures/gesture-tapHighlight-nested-cursor.html
+compositing/gestures/gesture-tapHighlight-nested-cursor3.html
+compositing/gestures/gesture-tapHighlight-simple-scaled-document.html
+compositing/gestures/gesture-tapHighlight-with-squashing.html
+
+# Missing rotation+reflections - crbug.com/935574
+compositing/reflections/nested-reflection-animated.html
+
+# Opacity Filters failing - crbug.com/935580
+compositing/masks/mask-with-added-filters.html
+compositing/masks/mask-with-removed-filters.html
+compositing/overflow/mask-with-filter.html
+
+# Clipping with Scrolling fails - crbug.com/935632
+compositing/overflow/accelerated-scrolling-with-clip-path.html
+
+# Bad Compositing Overflow - crbug.com/935633
+compositing/overflow/reflected-overlay-scrollbars-should-appear-without-compositing.html
+
+# Incorrect Div sizing+placement in Scrollbar Layer - crbug.com/935637
+compositing/overflow/scrollbar-layer-placement-negative-z-index-child.html
+
+# Reflection failures - crbug.com/935643
+compositing/overlap-blending/reflection-opacity-huge.html
+compositing/reflections/animation-inside-reflection.html
+compositing/reflections/compositing-change-inside-reflection.html
+compositing/reflections/deeply-nested-reflections.html
+compositing/reflections/load-video-in-reflection.html
+compositing/reflections/masked-reflection-on-composited.html
+compositing/reflections/nested-reflection-anchor-point.html
+compositing/reflections/nested-reflection-on-overflow.html
+compositing/reflections/nested-reflection-opacity.html
+compositing/reflections/nested-reflection-size-change.html
+compositing/reflections/nested-reflection-transformed.html
+compositing/reflections/nested-reflection-transformed2.html
+compositing/reflections/nested-reflection-transition.html
+compositing/reflections/nested-reflection.html
+compositing/reflections/reflection-on-composited.html
+compositing/reflections/reflection-opacity.html
+compositing/reflections/reflection-ordering.html
+compositing/reflections/reflection-positioning.html
+compositing/reflections/reflection-positioning2.html
+compositing/reflections/remove-add-reflection.html
+compositing/reflections/simple-composited-reflections.html
+compositing/reflections/transform-inside-reflection.html
+compositing/squashing/squash-with-ancestor-reflection.html
+compositing/webgl/webgl-reflection.html
+css3/blending/mix-blend-mode-with-masking.html
+css3/filters/composited-reflected.html
+css3/filters/effect-reference-add-hw.html
+css3/filters/effect-reference-source-alpha-hw.html
+css3/filters/filter-change-repaint-composited.html
+css3/filters/filter-change-repaint.html
+css3/filters/filter-repaint-composited-fallback-crash.html
+
+# Webplugin Failing to Create Promise SkImage - crbug.com/935648
+compositing/plugins/webplugin-alpha.html
+compositing/plugins/webplugin-no-alpha.html
+compositing/plugins/webplugin-reflection.html
+
+# Subframe not painting - crbug.com/935672
+compositing/overflow/border-radius-above-composited-subframe.html
+compositing/overflow/border-radius-composited-subframe.html
+compositing/overflow/border-radius-styles-with-composited-child.html
+compositing/overflow/nested-border-radius-clipping.html
+compositing/overflow/overflow-hidden-canvas-layer.html
+compositing/visibility/visibility-simple-canvas2d-layer.html
+css3/filters/effect-reference-subregion-hidpi-hw.html
+
+# Blink Tests Possibly Not Running in DumpRenderTree - crbug.com/935969
+compositing/iframes/layout-on-compositing-change.html
+
+# Input Broken - crbug.com/935970
+compositing/squashing/squash-compositing-hover.html
+compositing/squashing/squash-transform-repainting-child.html
+compositing/squashing/squash-transform-repainting-transformed-child.html
+images/drag-image-2.html
+images/drag-image-descendant-iframe-composited.html
+images/drag-image-descendant-painting-sibling.html
+images/drag-image-transformed-child.html
+images/drag-image-transformed-parent.html
+images/drag-image.html
+images/image-map-multiple-xhtml.xhtml
+images/image-map-multiple.html
+images/server-side-imagemap.html
+media/audio-delete-while-slider-thumb-clicked.html
+media/controls-after-reload.html
+media/controls-drag-timebar.html
+media/controls-timeline.html
+media/controls/video-enter-exit-fullscreen-while-hovering-shows-controls.html
+media/controls/video-enter-exit-fullscreen-without-hovering-doesnt-show-controls.html
+media/media-controls-tap-show-controls-without-activating.html
+media/remoteplayback/prompt-twice-throws.html
+media/video-controls-always-visible-when-control-hovered.html
+media/video-controls-auto-hide-after-play-by-touch.html
+media/video-controls-fullscreen.html
+media/video-controls-hide-after-touch-on-control.html
+media/video-controls-hide-on-move-outside-controls.html
+media/video-controls-mouse-events-captured.html
+media/video-controls-overflow-menu-closed-captions-button.html
+media/video-controls-overflow-menu-fullscreen-button.html
+media/video-controls-overflow-menu-mute-button.html
+media/video-controls-overflow-menu-play-button.html
+media/video-controls-transformed.html
+media/video-controls-visibility-multimodal-mouse-after-touch.html
+media/video-controls-visibility-multimodal-touch-after-mouse.html
+media/video-controls-visible-audio-only.html
+media/video-frame-accurate-seek.html
+media/video-persistence.html
+media/video-src-blob.html
+
+# Vulkan: compositing/webgl/webgl-copy-image.html - crbug.com/935980
+compositing/webgl/webgl-copy-image.html
+
+# GPU Bots Incorrect Viewport Resize - crbug.com/935983
+css3/viewport-percentage-lengths/vh-resize.html
+
+# SkColor::fitsInBytes Failing in SkiaRenderer - crbug.com/942536
+compositing/clip-path-with-composited-descendants.html
+compositing/composited-descendant-grandparent-border-radius-mask.html
+compositing/composited-descendant-requiring-border-radius-mask.html
+compositing/composited-scaled-child-with-border-radius-parent-clip.html
+compositing/composited-translated-child-with-border-radius-parent-clip.html
+compositing/geometry/child-layer-position-with-clip-path-overflow.html
+compositing/images/direct-image-clip-path.html
+compositing/images/direct-image-dynamic-clip-path.html
+compositing/masks/ancestor-clipping-mask-non-composited-scroll.html
+compositing/masks/direct-image-mask.html
+compositing/masks/mask-of-clipped-layer.html
+compositing/masks/masked-ancestor.html
+compositing/masks/multiple-masks.html
+compositing/masks/simple-composited-mask.html
+compositing/nested-border-radius-composited-child.html
+compositing/opacity-with-mask.html
+compositing/overflow/accelerated-scrolling-with-clip-path-text.html
+compositing/overflow/accelerated-scrolling-with-clip-reference.html
+compositing/overflow/border-radius-clip-subpixel-accumulation.html
+compositing/overflow/border-radius-on-grandparent-composited-grandchild.html
+compositing/overflow/border-radius-on-parent-composited-grandchild.html
+compositing/overflow/border-radius-on-two-ancestors-composited-grandchild.html
+compositing/overflow/border-radius-outside-bounds-of-compositing-ancestor.html
+compositing/overflow/composited-layer-under-border-radius-under-composited-layer.html
+compositing/overflow/empty-composited-child-of-border-radius-ancestor.html
+compositing/overflow/grandchild-composited-with-border-radius-ancestor.html
+compositing/overflow/grandchild-with-border-radius-ancestor.html
+compositing/overflow/relpos-under-abspos-border-radius.html
+compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped.html
+compositing/overflow/siblings-composited-with-border-radius-ancestor.html
+compositing/overflow/siblings-with-border-radius-ancestor.html
+compositing/overflow/tiled-mask.html
+compositing/scroll-with-inner-clip.html
+compositing/text-on-scaled-surface.html
+
+# VkSemaphore Crash - crbug.com/943103
+compositing/webgl/webgl-with-accelerated-background-color.html
+
+# SkiaRenderer and Vulkan failed image layout - crbug.com/943237
+images/huge-image-viewport-scale.html
+
+# Issues whom were flaking, and began to consistently pass before they could be
+# triaged into issues.
+compositing/animation/state-at-end-event-transform-layer.html
+compositing/backface-visibility/backface-visibility-image.html
+compositing/backface-visibility/backface-visibility-simple.html
+compositing/background-color/background-color-simple.html
+compositing/backgrounds/fixed-background-on-descendant.html
+compositing/backgrounds/fixed-backgrounds.html
+compositing/backing/no-backing-foreground-layer.html
+compositing/contents-opaque/layer-transform.html
+compositing/culling/clear-fixed-iframe.html
+compositing/force-compositing-mode/overflow-iframe-enter-compositing.html
+compositing/geometry/clip-inside.html
+compositing/geometry/clip.html
+compositing/geometry/fixed-position-iframe-composited-page-scale.html
+compositing/geometry/horizontal-scroll-composited.html
+compositing/overflow/nested-render-surfaces-with-rotation.html
+compositing/perspective-interest-rect.html
+compositing/rtl/rtl-absolute-overflow-scrolled.html
+compositing/rtl/rtl-absolute-overflow.html
+compositing/scroll-update-with-clamp.html
+compositing/scroll-with-ancestor-clip.html
+css2.1/20110323/abspos-non-replaced-width-margin-000.htm
+css2.1/20110323/abspos-replaced-width-margin-000.htm
+images/23-55.html
+images/color-profile-munsell-adobe-to-srgb.html
+images/color-profile-munsell-srgb-to-srgb.html
+images/cross-fade-svg-size.html
+images/image-in-map.html
+images/rendering-broken-block-flow-images.html
+transforms/transformed-document-element.html
+
+##### End of Known Tests #####
+# The following is a set of randomly selected tests from a subset of folders:
+# animations, compositing, css2.1, css3, images, media, transforms; which are
+# all more impacted by the SkiaRenderer and Vulkan changes. These are to
+# increase the breadth of this testing to find unknown failures and regressions.
+animations/3d/matrix-transform-type-animation.html
+animations/animation-cancel-in-raf.html
+animations/big-rotation.html
+animations/change-in-animation-frame.html
+animations/change-keyframes.html
+animations/change-one-anim.html
+animations/composition/border-top-width-composition.html
+animations/composition/font-size-composition.html
+animations/composition/rotate-composition.html
+animations/composition/shape-outside-composition.html
+animations/composition/word-spacing-composition.html
+animations/composition/x-composition.html
+animations/cross-fade-border-image-source.html
+animations/custom-properties/color-type-interpolation.html
+animations/custom-properties/custom-list-type-interpolation.html
+animations/direction-and-fill/animation-direction-alternate.html
+animations/direction-and-fill/fill-mode-multiple-keyframes.html
+animations/events/compositor-start-event-timing.html
+animations/events/delay-start-event.html
+animations/getAnimations-css.html
+animations/hit-testing/inline-element-animation-end-hit-test.html
+animations/import.html
+animations/inline-transform.html
+animations/interpolation/display-interpolation.html
+animations/interpolation/font-variation-settings-interpolation.html
+animations/interpolation/perspective-interpolation.html
+animations/interpolation/text-shadow-interpolation.html
+animations/interpolation/webkit-mask-box-image-slice-interpolation.html
+animations/interpolation/webkit-mask-box-image-source-interpolation.html
+animations/interpolation/webkit-text-stroke-color-interpolation.html
+animations/keyframe-default-timing-function.html
+animations/keyframes-infinite-iterations.html
+animations/keyframes-iteration-count-non-integer.html
+animations/keyframes-missing-arguments.html
+animations/missing-from-to.html
+animations/missing-values-last-keyframe.html
+animations/prefixed/duplicated-keyframes-name-unprefixed-03.html
+animations/prefixed/keyframes-cssom-unprefixed-01.html
+animations/prefixed/keyframes-unprefixed-01.html
+animations/prefixed/string-keyframes-identifier-prefixed.html
+animations/responsive/animations-responsive-columnCount.html
+animations/responsive/animations-responsive-opacity.html
+animations/responsive/animations-responsive-shapeMargin.html
+animations/responsive/animations-responsive-transform.html
+animations/responsive/interpolation/box-shadow-responsive.html
+animations/responsive/responsive-neutral-keyframes.html
+animations/responsive/svg-responsive-to-timing-updates.html
+animations/retain-zero-percent.html
+animations/skew-notsequential-compositor.html
+animations/some-keyframes-empty.html
+animations/stability/animation-iteration-event-destroy-renderer.html
+animations/stability/animation-transition-collision-crash.html
+animations/stability/empty-keyframes.html
+animations/stability/keyframe-timing-function-unset-crash.html
+animations/stability/keyframeeffect-no-target-crash.html
+animations/stability/option-opacity-inherit-crash.html
+animations/stability/zero-duration-infinite-iterations.html
+animations/svg-attribute-composition/svg-intercept-composition.html
+animations/svg-attribute-composition/svg-rotate-composition.html
+animations/svg-attribute-composition/svg-seed-composition.html
+animations/svg-attribute-composition/svg-startOffset-composition-002.html
+animations/svg-attribute-composition/svg-transform-composition-list.html
+animations/svg-attribute-composition/svg-x-composition.html
+animations/svg-attribute-composition/svg-x-list-composition.html
+animations/svg-attribute-interpolation/svg-calc-interpolation.html
+animations/svg-attribute-interpolation/svg-in-interpolation.html
+animations/svg-attribute-interpolation/svg-lengthAdjust-interpolation.html
+animations/svg-attribute-interpolation/svg-method-interpolation.html
+animations/svg-attribute-interpolation/svg-numOctaves-interpolation.html
+animations/svg-attribute-interpolation/svg-r-interpolation.html
+animations/svg-attribute-interpolation/svg-stitchTiles-interpolation.html
+animations/svg/svg-animation-affects-use-elements.html
+animations/timing/keyframe-timing-functions3.html
+animations/timing/longhand-timing-function.html
+animations/timing/timing-model.html
+animations/transitions-replay.html
+animations/web-animations/KeyframeEffect-getKeyframes-correct-context.html
+compositing/animation/busy-indicator.html
+compositing/background-color/background-color-change-to-text.html
+compositing/background-color/background-color-drawn-over-child.html
+compositing/background-color/background-color-outside-document.html
+compositing/background-color/background-color-text-change.html
+compositing/color-matching/image-color-matching.html
+compositing/columns/geometry-map-paginated-assert.html
+compositing/contents-opaque/layer-opacity.html
+compositing/culling/clear-fixed-iframe.html
+compositing/document-background-color.html
+compositing/geometry/bounds-ignores-hidden-dynamic.html
+compositing/geometry/limit-layer-bounds-positioned-transition.html
+compositing/geometry/limit-layer-bounds-positioned.html
+compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
+compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
+compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
+compositing/gestures/gesture-tapHighlight-img-transformed.html
+compositing/gestures/gesture-tapHighlight-invisible-inline-squashing.html
+compositing/gestures/gesture-tapHighlight-removed-crash.html
+compositing/gestures/gesture-tapHighlight-simple-scaledX.html
+compositing/iframes/become-overlapped-iframe.html
+compositing/iframes/fixed-position-element-in-iframe-enters-viewport.html
+compositing/iframes/iframe-resize.html
+compositing/iframes/invisible-nested-iframe-show.html
+compositing/iframes/nested-iframe-scrolling.html
+compositing/iframes/stacking-context-change-composited-iframe-content-crash.html
+compositing/images/content-image-change.html
+compositing/images/content-image.html
+compositing/layer-creation/fixed-position-no-content.html
+compositing/layer-creation/fixed-position-nonscrollable-body-overlap.html
+compositing/layer-creation/fixed-position-out-of-view-dynamic.html
+compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html
+compositing/layer-creation/iframe-background-attachment-fixed.html
+compositing/layer-creation/incremental-destruction.html
+compositing/layer-creation/overlap-negative-z-index-multiple.html
+compositing/layer-creation/overlap-transformed-layer-with-transform-body.html
+compositing/layer-creation/spanOverlapsCanvas.html
+compositing/overflow/ancestor-overflow-layer-of-sticky-child-of-compositing-container.html
+compositing/overflow/clip-escaping-reverse-order-should-not-crash.html
+compositing/overflow/composited-nested-sticky-deep.html
+compositing/overflow/composited-sticky-element-enclosing-layers-stacking-context.html
+compositing/overflow/content-loses-scrollbars.html
+compositing/overflow/fixed-element-in-isolated-composited-ancestor.html
+compositing/overflow/fixed-pos-escape-clip-having-non-stacking-context-clipping-container.html
+compositing/overflow/mask-with-small-content-rect.html
+compositing/overflow/overflow-overlay-with-touch.html
+compositing/overflow/overflow-scroll-with-pointer-events-toggle.html
+compositing/overflow/scrolling-content-layer-should-not-be-clipped.html
+compositing/overflow/textarea-scroll-touch.html
+compositing/perspective-origin-with-scrollbars.html
+compositing/reflections/reflection-ordering.html
+compositing/reflections/remove-reflection.html
+compositing/render-surface-alpha-blending.html
+compositing/scrollbars/composited-custom-scrollbar.html
+compositing/squashing/animation-repaint-crash.html
+compositing/squashing/dont-squash-with-scale-transform.html
+compositing/squashing/iframes-are-never-squashed.html
+compositing/squashing/no-squashing-into-another-clip-layer.html
+compositing/squashing/squash-above-fixed-3.html
+compositing/squashing/squash-onto-nephew-subpixel-3.html
+compositing/squashing/squash-with-ancestor-mask.html
+compositing/squashing/squashing-composited-bounds.html
+compositing/text-on-scaled-layer.html
+compositing/visibility/visibility-composited-incremental-update.html
+compositing/visibility/visibility-remove-layer.html
+compositing/will-change/containing-block-creation.html
+css2.1/20110323/background-intrinsic-002.htm
+css2.1/20110323/border-conflict-element-017.htm
+css2.1/20110323/border-conflict-element-020.htm
+css2.1/20110323/border-conflict-element-025.htm
+css2.1/20110323/border-conflict-element-038.htm
+css2.1/20110323/eof-005.htm
+css2.1/20110323/fixed-table-layout-013.htm
+css2.1/20110323/margin-applies-to-013.htm
+css2.1/20110323/outline-color-applies-to-009.htm
+css2.1/20110323/outline-color-applies-to-015.htm
+css2.1/20110323/overflow-applies-to-003.htm
+css2.1/20110323/word-spacing-remove-space-005.htm
+css2.1/t010403-shand-font-03-b.html
+css2.1/t040103-ident-00-c.html
+css2.1/t040103-ident-01-c.html
+css2.1/t040103-ident-05-c.html
+css2.1/t040103-ident-06-c.html
+css2.1/t040105-atkeyw-02-b.html
+css2.1/t0402-c71-fwd-parsing-01-f.html
+css2.1/t0402-c71-fwd-parsing-03-f.html
+css2.1/t040302-c61-rel-len-00-b-ag.html
+css2.1/t0505-c16-descendant-01-e.html
+css2.1/t0505-c16-descendant-02-e.html
+css2.1/t050803-c14-classes-00-e.html
+css2.1/t0509-id-sel-syntax-01-f.html
+css2.1/t0511-c21-pseud-link-01-e.html
+css2.1/t0602-c13-inh-underlin-00-e.html
+css2.1/t0602-c13-inheritance-00-e.html
+css2.1/t0602-inherit-bdr-pad-b-00.html
+css2.1/t0803-c5502-mrgn-r-00-c-ag.html
+css2.1/t0803-c5504-imrgn-l-05-b-ag.html
+css2.1/t0803-c5505-mrgn-02-c.html
+css2.1/t0804-c5506-padn-t-00-b-a.html
+css2.1/t0804-c5507-ipadn-r-02-b-ag.html
+css2.1/t0804-c5507-ipadn-r-04-b-ag.html
+css2.1/t0805-c5511-brdr-tw-01-b-g.html
+css2.1/t0805-c5518-ibrdr-t-00-a.html
+css2.1/t0805-c5520-brdr-b-00-a.html
+css2.1/t0905-c5525-fltwidth-02-c-g.html
+css2.1/t0905-c5525-fltwrap-00-b.html
+css2.1/t0905-c5526-flthw-00-c-g.html
+css2.1/t090501-c414-flt-ln-00-d.html
+css2.1/t1001-abs-pos-cb-02-b.html
+css2.1/t100801-c544-valgn-04-d-agi.html
+css2.1/t1202-counter-01-b.html
+css2.1/t1202-counter-04-b.html
+css2.1/t1202-counter-12-b.html
+css2.1/t1202-counter-14-b.html
+css2.1/t1202-counters-03-b.html
+css2.1/t1202-counters-05-b.html
+css2.1/t1202-counters-07-b.html
+css2.1/t1202-counters-18-f.html
+css2.1/t1204-multiple-01-c.html
+css2.1/t1205-c563-list-type-01-b.html
+css2.1/t1601-c547-indent-00-b-a.html
+css2.1/t170602-bdr-conflct-w-05-d.html
+css2.1/t170602-bdr-conflct-w-10-d.html
+css2.1/t170602-bdr-conflct-w-40-d.html
+css2.1/t170602-bdr-conflct-w-56-d.html
+css2.1/t170602-bdr-conflct-w-58-d.html
+css2.1/t170602-bdr-conflct-w-67-d.html
+css2.1/t170602-bdr-conflct-w-71-d.html
+css2.1/t170602-bdr-conflct-w-76-d.html
+css2.1/t170602-bdr-conflct-w-87-d.html
+css2.1/t170602-bdr-conflct-w-93-d.html
+css2.1/t170602-bdr-conflct-w-97-d.html
+css3/autoclose-braces-and-parentheses.html
+css3/blending/background-blend-mode-background-size-percentage.html
+css3/blending/background-blend-mode-body-iframe.html
+css3/blending/background-blend-mode-data-uri-svg-image.html
+css3/blending/blend-mode-property-parsing.html
+css3/blending/mix-blend-mode-2nd-stacking-context-composited.html
+css3/blending/mix-blend-mode-composited-reason-children.html
+css3/blending/svg-blend-multiply.html
+css3/blending/svg-blend-soft-light.html
+css3/blending/svg-isolation-add-masking.html
+css3/blending/svg-isolation-embed-isolate.html
+css3/calc/border.html
+css3/calc/calc-errors.html
+css3/calc/calc-numbers.html
+css3/calc/catch-divide-by-0.html
+css3/calc/getComputedStyle-border-radius.html
+css3/calc/img-size.html
+css3/calc/letter-spacing.html
+css3/calc/simple-calcs-prefixed.html
+css3/calc/transition-crash3.html
+css3/calc/transition-crash4.html
+css3/device-adapt/opera/constrain-001.html
+css3/device-adapt/opera/constrain-003.html
+css3/device-adapt/opera/constrain-006.html
+css3/device-adapt/opera/syntax-003.html
+css3/device-adapt/viewport-initial-height-zero.html
+css3/filters/composited-during-transition-layertree.html
+css3/filters/effect-contrast-hw.html
+css3/filters/effect-grayscale-hw.html
+css3/filters/effect-reference-after.html
+css3/filters/effect-reference-colorspace.html
+css3/filters/effect-reference-delete-crash.html
+css3/filters/effect-reference-displacement-negative-scale.html
+css3/filters/effect-reference-reset-style-delete-crash.html
+css3/filters/effect-reference-subregion.html
+css3/filters/feoffset-region-zoom.html
+css3/filters/filter-animation-multi-hw.html
+css3/filters/filter-repaint-sepia.html
+css3/filters/filter-repaint-shadow-layer-child.html
+css3/filters/huge-region.html
+css3/filters/multiple-filters-invalidation.html
+css3/filters/nested-filter.html
+css3/flexbox/align-baseline.html
+css3/flexbox/auto-height-column-with-border-and-padding.html
+css3/flexbox/box-sizing-min-max-sizes.html
+css3/flexbox/bug633212.html
+css3/flexbox/button.html
+css3/flexbox/change-column-flex-width.html
+css3/flexbox/column-flex-child-with-overflow-scroll.html
+css3/flexbox/columns-auto-size.html
+css3/flexbox/columns-center-with-margins-and-wrap.html
+css3/flexbox/css-properties.html
+css3/flexbox/definite-main-size.html
+css3/flexbox/flex-align-vertical-writing-mode.html
+css3/flexbox/flex-item-child-overflow.html
+css3/flexbox/flex-longhand-parsing.html
+css3/flexbox/flexbox-ignore-firstLetter.html
+css3/flexbox/flexbox-width-with-overflow-auto.html
+css3/flexbox/max-width-violation.html
+css3/flexbox/relpos-with-percentage-top.html
+css3/flexbox/writing-modes.html
+css3/font-weight.html
+css3/masking/clip-path-css-transform-mutated.html
+css3/masking/clip-path-reference-userSpaceOnUse.html
+css3/masking/parsing-clip-path-iri.html
+css3/motion-path/offset-anchor-rotation.html
+css3/motion-path/path-establishes-stacking-context.html
+css3/selectors3/html/css3-modsel-148.html
+css3/selectors3/html/css3-modsel-151.html
+css3/selectors3/html/css3-modsel-159.html
+css3/selectors3/html/css3-modsel-168.html
+css3/selectors3/html/css3-modsel-169a.html
+css3/selectors3/html/css3-modsel-175c.html
+css3/selectors3/html/css3-modsel-177a.html
+css3/selectors3/html/css3-modsel-184c.html
+css3/selectors3/html/css3-modsel-184e.html
+css3/selectors3/html/css3-modsel-21.html
+css3/selectors3/html/css3-modsel-36.html
+css3/selectors3/html/css3-modsel-39c.html
+css3/selectors3/html/css3-modsel-73.html
+css3/selectors3/html/css3-modsel-77b.html
+css3/selectors3/html/css3-modsel-81b.html
+css3/selectors3/html/css3-modsel-83.html
+css3/supports-crash.html
+css3/tab-size-span.html
+css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle.html
+css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmax-absolute.html
+css3/viewport-percentage-lengths/viewport-percentage-lengths-page-zoom.html
+cssom/elementfrompoint-scrolloffset.html
+images/12-55.html
+images/color-profile-background-clip-text.html
+images/color-profile-image-svg-resource-url.html
+images/crash-bad-cast.html
+images/cross-fade-svg-size-diff.html
+images/drag-svg-image.html
+images/embed-does-not-propagate-dimensions-to-object-ancestor.html
+images/feature-policy-oversized-images-forced-layout.html
+images/gif-loop-count.html
+images/image-change-src.html
+images/image-empty-src-no-display.html
+images/image-load-event-in-fragment.html
+images/imagemap-focus-ring-in-positioned-container.html
+images/imagemap-focus-ring-outline-color-not-inherited-from-map.html
+images/imagemap-focus-ring-zoom.html
+images/onload-event-when-reloading-image-after-interrupted-broken-image-load.html
+images/pixelated-svg-image.html
+images/rendering-broken-images.html
+images/zoomed-img-height-acid3.html
+images/zoomed-offset-size.html
+media/W3C/audio/currentSrc/currentSrc_empty_if_no_src.html
+media/W3C/audio/error/error_onerror_called_on_bogus_source.html
+media/W3C/audio/events/event_canplaythrough.html
+media/W3C/audio/events/event_order_loadedmetadata_loadeddata.html
+media/W3C/video/currentSrc/currentSrc_empty_if_no_src.html
+media/W3C/video/error/error_onerror_called_on_bogus_source.html
+media/W3C/video/events/event_canplay.html
+media/W3C/video/events/event_loadeddata.html
+media/W3C/video/events/event_playing_manual.html
+media/W3C/video/events/event_timeupdate_manual.html
+media/W3C/video/networkState/networkState_property_exists.html
+media/W3C/video/preload/preload_reflects_auto_value.html
+media/alpha-video-playback.html
+media/audio-constructor.html
+media/autoplay-muted-conditions.html
+media/autoplay/media-document-autoplay-enabled.html
+media/avtrack/audio-track-enabled.html
+media/avtrack/track-switching.html
+media/avtrack/video-track-properties.html
+media/controls-layout-direction.html
+media/controls-slider-appearance-crash.html
+media/controls/accessibility-time-element.html
+media/controls/audio-element-should-not-propagate-click-events.html
+media/controls/closed-captions-on-off.html
+media/controls/modern/doubletap-to-jump-backwards-at-start.html
+media/controls/modern/doubletap-to-jump-forwards-too-short.html
+media/controls/overflow-menu-visibility.html
+media/controls/panel-removes-transparent-class-when-controls-are-not-shown.html
+media/controls/toggle-class-with-state-cast.html
+media/controls/video-does-not-act-as-audio-tag-with-controls-hidden.html
+media/crash-in-media-moved-to-newdocument.html
+media/encrypted-media/encrypted-media-lifetime-mediakeys-with-session.html
+media/encrypted-media/encrypted-media-playback-setmediakeys-before-src.html
+media/encrypted-media/encrypted-media-session-multiple-close.html
+media/encrypted-media/encrypted-media-unique-origin.html
+media/invalid-media-url-crash.html
+media/media-captions-no-controls.html
+media/media-controls-fit-properly-while-zoomed.html
+media/media-fragments/TC0009.html
+media/media-fragments/TC0014.html
+media/media-fragments/TC0029.html
+media/media-fragments/TC0031.html
+media/media-fragments/TC0052.html
+media/media-load-event.html
+media/media-play-promise.html
+media/media-source-append-multiple.html
+media/mediasession/mojo/callback-alive-after-gc.html
+media/track/cue-style-invalidation.html
+media/track/media-element-enqueue-event-crash.html
+media/track/text-track-cue-is-reachable.html
+media/track/track-css-matching-default.html
+media/track/track-cue-rendering-horizontal.html
+media/track/track-language-preference.html
+media/video-controls-attribute-fullscreen.html
+media/video-controls-fullscreen-not-supported.html
+media/video-controls-with-mutation-event-handler.html
+media/video-currentTime-before-have-metadata.html
+media/video-currentTime-delay.html
+media/video-move-to-new-document-srcobject.html
+media/video-pause-immediately.html
+media/video-prefixed-fullscreen.html
+media/video-src-change.html
+media/video-src-remove.html
+media/video-zoom.html
+transforms/3d/hit-testing/hover-rotated-with-children-negative-z.html
+transforms/3d/hit-testing/perspective-clipped.html
+transforms/3d/hit-testing/rotated-hit-test2.html
+transforms/combine-rotate-and-transform-origin.html
+transforms/container-transform-crash.html
+transforms/inline-in-transformed-multicol.html
+transforms/inline-transform-and-clipping-roots.html
+transforms/no_transform_hit_testing.html
+transforms/transform-hit-test-flipped.html
+transforms/transform-inside-overflow-scroll.html
+transforms/transform-style-parsing.html
+transforms/transformed-caret.html
+transforms/transformed-scroller-snapping-crash.html
+transforms/translate.html
+transforms/webkit-perspective-origin-csstext.html
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl
index 6f6c6f09..e2b9e82 100644
--- a/testing/buildbot/test_suites.pyl
+++ b/testing/buildbot/test_suites.pyl
@@ -2992,6 +2992,33 @@
       },
     },
 
+    'gpu_blink_web_tests': {
+      'skia_renderer_blink_web_tests': {
+        # layout test failures are retried 3 times when '--test-list' is not
+        # passed, but 0 times when '--test-list' is passed. We want to always
+        # retry 3 times, so we explicitly specify it.
+        'args': [
+          '--num-retries=3',
+          '--additional-driver-flag=--enable-features=VizDisplayCompositor,UseSkiaRenderer',
+          '--additional-driver-flag=--use-gl=swiftshader',
+          '--fuzzy-diff',
+          '--test-list=../../testing/buildbot/filters/gpu.skiarenderer_vulkan_blink_web_tests.filter',
+          '--additional-expectations=../../third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer',
+        ],
+        'isolate_name': 'blink_web_tests_exparchive',
+        'merge': {
+          'args': [
+            '--verbose',
+          ],
+          'script': '//third_party/blink/tools/merge_web_test_results.py',
+        },
+        'results_handler': 'layout tests',
+        'swarming': {
+          'shards': 2,
+        }
+      },
+    },
+
     # The command buffer perf tests are only run on Windows.
     # They are mostly driver and platform independent.
     'gpu_command_buffer_perf_passthrough_isolated_scripts': {
diff --git a/testing/buildbot/tryserver.chromium.linux.json b/testing/buildbot/tryserver.chromium.linux.json
index ee0dd93..390492f5 100644
--- a/testing/buildbot/tryserver.chromium.linux.json
+++ b/testing/buildbot/tryserver.chromium.linux.json
@@ -6,63 +6,108 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "accessibility_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "angle_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "app_shell_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "aura_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "base_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_common_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_fuzzer_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_heap_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_platform_unittests"
       },
@@ -70,21 +115,36 @@
         "isolate_coverage_data": true,
         "name": "webkit_unit_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "blink_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_crypto_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "boringssl_ssl_tests"
       },
@@ -92,6 +152,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 10
         },
         "test": "browser_tests"
@@ -104,14 +169,24 @@
         "isolate_coverage_data": true,
         "name": "webui_html_imports_polyfill_browser_tests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "browser_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cacheinvalidation_unittests"
       },
@@ -121,56 +196,96 @@
         ],
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "capture_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cast_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cc_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chrome_app_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "chromedriver_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "components_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "compositor_unittests"
       },
@@ -178,6 +293,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 6
         },
         "test": "content_browsertests"
@@ -190,133 +310,228 @@
         "isolate_coverage_data": true,
         "name": "nonperfetto_content_browsertests",
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "content_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "cronet_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "crypto_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "dbus_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "device_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "display_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "events_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "extensions_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "filesystem_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gcm_unit_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gfx_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gin_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "google_apis_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "gpu_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_browsertests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "headless_unittests"
       },
@@ -324,6 +539,11 @@
         "isolate_coverage_data": true,
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 3
         },
         "test": "interactive_ui_tests"
@@ -331,287 +551,492 @@
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ipc_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "jingle_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "latency_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "leveldb_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "libjingle_xmpp_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_blink_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_service_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "media_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "message_center_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "midi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_core_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "mojo_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "native_theme_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "net_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "pdf_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "perfetto_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ppapi_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "printing_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "remoting_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "service_manager_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "services_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "shell_dialogs_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "skia_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "snapshot_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sql_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "storage_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sync_integration_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "traffic_annotation_auditor_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_base_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "ui_touch_selection_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "unit_tests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "url_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "views_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "viz_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_common_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "vr_pixeltests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wm_unittests"
       },
       {
         "isolate_coverage_data": true,
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "wtf_unittests"
       }
@@ -635,6 +1060,11 @@
         "results_handler": "layout tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "os": "Ubuntu-14.04"
+            }
+          ],
           "shards": 12
         }
       }
diff --git a/testing/buildbot/waterfalls.pyl b/testing/buildbot/waterfalls.pyl
index e04bfcf..e977830 100644
--- a/testing/buildbot/waterfalls.pyl
+++ b/testing/buildbot/waterfalls.pyl
@@ -28,7 +28,10 @@
         ],
       },
       'linux-rel': {
-        'mixins': ['linux-rel-args'],
+        'mixins': [
+          'linux-rel-args',
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -692,6 +695,7 @@
         'mixins': [
           'chrome-swarming-pool',
           'experimental',
+          'linux-trusty',
         ],
         'test_suites': {
           'gtest_tests': 'linux_chromeos_gtests',
@@ -773,11 +777,17 @@
         'os_type': 'chromeos',
       },
       'linux-chromeos-dbg': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'linux_chromeos_with_non_network_service_gtests',
         },
       },
       'linux-chromeos-rel': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'gn_all',
         ],
@@ -791,6 +801,9 @@
     'name': 'chromium.clang',
     'machines': {
       'CFI Linux ToT': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_and_gl_gtests',
         },
@@ -880,6 +893,9 @@
         ],
       },
       'ToTLinux': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_gtests',
         },
@@ -890,6 +906,9 @@
         ],
       },
       'ToTLinuxASan': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -901,6 +920,9 @@
         ],
       },
       'ToTLinuxMSan': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -910,11 +932,17 @@
       },
       # Used on an internal builder.
       'ToTLinuxOfficial': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_gtests',
         },
       },
       'ToTLinuxTSan': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -923,11 +951,17 @@
         },
       },
       'ToTLinuxThinLTO': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_gtests',
         },
       },
       'ToTLinuxUBSanVptr': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1026,6 +1060,9 @@
         },
       },
       'UBSanVptr Linux': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           # no "_and_gl":gl_unittests doesn't pass yet,
           # https://crbug.com/815183
@@ -1350,6 +1387,9 @@
         },
       },
       'Linux Builder Goma Canary': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1358,6 +1398,9 @@
         },
       },
       'Linux Viz': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1366,6 +1409,9 @@
         },
       },
       'Linux x64 Goma Canary (clobber)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1374,6 +1420,9 @@
         },
       },
       'Linux x64 Goma Canary LocalOutputCache': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1448,6 +1497,9 @@
         },
       },
       'Mojo Linux': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'mojo_linux_gtests',
         },
@@ -1473,6 +1525,9 @@
         },
       },
       'VR Linux': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'vr_common_perftests',
           'vr_testapp',
@@ -1482,6 +1537,9 @@
         },
       },
       'WebKit Linux composite_after_paint Dummy Builder': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'swarming': {
           'dimension_sets': [
             {
@@ -1495,6 +1553,9 @@
         },
       },
       'WebKit Linux layout_ng Dummy Builder': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'swarming': {
           'dimension_sets': [
             {
@@ -1716,11 +1777,17 @@
         }
       },
       'linux-annotator-rel': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'scripts': 'test_traffic_annotation_auditor_script',
         }
       },
       'linux-blink-animation-use-time-delta': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1730,6 +1797,9 @@
         },
       },
       'linux-blink-heap-concurrent-marking-tsan-rel': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_gtests',
           'isolated_scripts': 'chromium_webkit_isolated_scripts',
@@ -1739,6 +1809,9 @@
         ]
       },
       'linux-blink-heap-unified-gc': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_gtests',
           'isolated_scripts': 'chromium_webkit_isolated_scripts',
@@ -1748,6 +1821,9 @@
         ],
       },
       'linux-blink-heap-verification': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_gtests',
           'isolated_scripts': 'chromium_webkit_isolated_scripts',
@@ -1768,7 +1844,8 @@
       },
       'linux-chromeos-code-coverage': {
         'mixins': [
-            'code-coverage',
+          'code-coverage',
+          'linux-trusty',
         ],
         'additional_compile_targets': [
           'gn_all',
@@ -1779,7 +1856,8 @@
       },
       'linux-chromeos-oobe-code-coverage': {
         'mixins': [
-            'code-coverage',
+          'code-coverage',
+          'linux-trusty',
         ],
         'additional_compile_targets': [
           'gn_all',
@@ -1789,6 +1867,9 @@
         },
       },
       'linux-chromium-tests-staging-builder': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all'
         ],
@@ -1797,6 +1878,9 @@
         }
       },
       'linux-chromium-tests-staging-tests': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_gtests',
           'isolated_scripts': 'chromium_linux_rel_isolated_scripts',
@@ -1804,7 +1888,8 @@
       },
       'linux-code-coverage': {
         'mixins': [
-            'code-coverage',
+          'code-coverage',
+          'linux-trusty',
         ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_coverage_gtests',
@@ -1812,6 +1897,9 @@
         }
       },
       'linux-tcmalloc-rel': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_gtests',
           'isolated_scripts': 'chromium_linux_rel_isolated_scripts',
@@ -1953,6 +2041,9 @@
         ],
       },
       'Chromium Linux Goma RBE Staging': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1961,6 +2052,9 @@
         },
       },
       'Chromium Linux Goma RBE Staging (clobber)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1969,6 +2063,9 @@
         },
       },
       'Chromium Linux Goma RBE Staging (dbg)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1977,6 +2074,9 @@
         },
       },
       'Chromium Linux Goma RBE Staging (dbg) (clobber)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -1985,6 +2085,9 @@
         },
       },
       'Chromium Linux Goma Staging': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all',
         ],
@@ -2654,6 +2757,7 @@
         ],
         'test_suites': {
           'gtest_tests': 'gpu_fyi_linux_release_gtests',
+          'isolated_scripts': 'gpu_blink_web_tests',
         },
       },
       'Linux FYI dEQP Release (Intel HD 630)': {
@@ -3212,6 +3316,9 @@
     'name': 'chromium.linux',
     'machines': {
       'Cast Audio Linux': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'cast_shell',
           'cast_test_lists',
@@ -3221,6 +3328,9 @@
         },
       },
       'Cast Linux': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'cast_shell',
           'cast_test_lists',
@@ -3251,11 +3361,17 @@
         },
       },
       'Leak Detection Linux': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'isolated_scripts': 'leak_detection_isolated_scripts',
         },
       },
       'Linux Builder': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'all'
         ],
@@ -3275,6 +3391,9 @@
         ]
       },
       'Linux Tests': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_gtests',
           'isolated_scripts': 'chromium_linux_rel_isolated_scripts',
@@ -3282,12 +3401,18 @@
         },
       },
       'Linux Tests (dbg)(1)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_gtests',
           'isolated_scripts': 'chromium_linux_dbg_isolated_scripts',
         },
       },
       'Linux Tests (dbg)(1)(32)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_gtests',
           'isolated_scripts': 'chromium_linux_dbg_isolated_scripts',
@@ -3324,6 +3449,9 @@
         ]
       },
       'linux-ozone-rel': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'additional_compile_targets': [
           'chrome',
         ],
@@ -3556,6 +3684,9 @@
         },
       },
       'Linux ASan LSan Tests (1)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_and_gl_gtests',
         },
@@ -3564,6 +3695,9 @@
         ],
       },
       'Linux ASan Tests (sandboxed)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'sandboxed_chromium_memory_linux_gtests',
         },
@@ -3572,11 +3706,17 @@
         ],
       },
       'Linux CFI': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_and_gl_gtests',
         },
       },
       'Linux Chromium OS ASan LSan Tests (1)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'linux_chromeos_gtests',
         },
@@ -3609,6 +3749,9 @@
         ],
       },
       'Linux TSan Tests': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_and_gl_gtests',
         },
@@ -3625,16 +3768,25 @@
         ],
       },
       'WebKit Linux Trusty ASAN': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'isolated_scripts': 'chromium_webkit_isolated_scripts',
         },
       },
       'WebKit Linux Trusty Leak': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'isolated_scripts': 'chromium_webkit_isolated_scripts',
         },
       },
       'WebKit Linux Trusty MSAN': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'isolated_scripts': 'chromium_webkit_isolated_scripts',
         },
@@ -3689,6 +3841,9 @@
         'os_type': 'android',
       },
       'Linux Swarm': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
            'gtest_tests': 'chromium_swarm_linux_gtests',
         },
@@ -3711,16 +3866,25 @@
       # TODO(jchinlee): The below three builders are in chromium.memory on LUCI,
       # see crbug.com/790309, crbug.com/790294, crbug.com/790286.
       'WebKit Linux Trusty ASAN': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'isolated_scripts': 'chromium_webkit_isolated_scripts',
         },
       },
       'WebKit Linux Trusty Leak': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'isolated_scripts': 'chromium_webkit_isolated_scripts',
         },
       },
       'WebKit Linux Trusty MSAN': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'isolated_scripts': 'chromium_webkit_isolated_scripts',
         },
@@ -3768,6 +3932,9 @@
         ],
       },
       'WebRTC Chromium Linux Tester': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'webrtc_chromium_tests_with_baremetal_tests',
         },
@@ -4022,12 +4189,18 @@
     'name': 'client.v8.chromium',
     'machines': {
       'Linux - Future': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'client_v8_chromium_gtests',
           'isolated_scripts': 'client_v8_chromium_isolated_scripts',
         },
       },
       'Linux - Future (dbg)': {
+        'mixins': [
+          'linux-trusty',
+        ],
         'test_suites': {
           'gtest_tests': 'client_v8_chromium_gtests',
           'isolated_scripts': 'client_v8_chromium_isolated_scripts',
@@ -4188,6 +4361,7 @@
       'linux-coverage-rel': {
         'mixins': [
           'code-coverage',
+          'linux-trusty',
         ],
         'test_suites': {
           'gtest_tests': 'chromium_linux_coverage_gtests',
diff --git a/third_party/blink/common/manifest/manifest_icon_selector.cc b/third_party/blink/common/manifest/manifest_icon_selector.cc
index d9a0ece..e462e7b 100644
--- a/third_party/blink/common/manifest/manifest_icon_selector.cc
+++ b/third_party/blink/common/manifest/manifest_icon_selector.cc
@@ -72,9 +72,14 @@
       if (ratio < 1 || ratio > max_width_to_height_ratio)
         continue;
 
-      // Check for ideal size. Return this icon immediately.
-      if (size.height() == ideal_icon_height_in_px)
-        return icon.src;
+      // According to the spec when there are multiple equally appropriate icons
+      // we should choose the last one declared in the list:
+      // https://w3c.github.io/manifest/#icons-member
+      if (size.height() == ideal_icon_height_in_px) {
+        closest_size_match_index = i;
+        best_delta_in_size = 0;
+        continue;
+      }
 
       // Check for closest match.
       int delta = size.height() - ideal_icon_height_in_px;
@@ -92,6 +97,10 @@
     }
   }
 
+  if (best_delta_in_size == 0) {
+    DCHECK_NE(closest_size_match_index, -1);
+    return icons[closest_size_match_index].src;
+  }
   if (latest_size_any_index != -1)
     return icons[latest_size_any_index].src;
   if (closest_size_match_index != -1)
diff --git a/third_party/blink/common/manifest/manifest_icon_selector_unittest.cc b/third_party/blink/common/manifest/manifest_icon_selector_unittest.cc
index 8193e89b..84905f419 100644
--- a/third_party/blink/common/manifest/manifest_icon_selector_unittest.cc
+++ b/third_party/blink/common/manifest/manifest_icon_selector_unittest.cc
@@ -531,6 +531,26 @@
                                     Purpose::ANY);
     EXPECT_EQ("http://foo.com/icon.png", url.spec());
   }
+
+  // Multiple icons with ideal size => the last one is chosen.
+  {
+    std::vector<gfx::Size> sizes_1;
+    sizes_1.push_back(
+        gfx::Size(width_to_height_ratio() * kIdealIconSize, kIdealIconSize));
+    std::vector<gfx::Size> sizes_2;
+    sizes_2.push_back(
+        gfx::Size(width_to_height_ratio() * kIdealIconSize, kIdealIconSize));
+
+    std::vector<blink::Manifest::ImageResource> icons;
+    icons.push_back(
+        CreateIcon("http://foo.com/icon.png", "", sizes_1, Purpose::ANY));
+    icons.push_back(
+        CreateIcon("http://foo.com/icon_no.png", "", sizes_2, Purpose::ANY));
+
+    GURL url = FindBestMatchingIcon(icons, kIdealIconSize, kMinimumIconSize,
+                                    Purpose::ANY);
+    EXPECT_EQ("http://foo.com/icon_no.png", url.spec());
+  }
 }
 
 INSTANTIATE_TEST_SUITE_P(/* No prefix */,
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
index 1df2ce8..1f3f5e2 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
@@ -608,7 +608,6 @@
 
   ThreadState::MainThreadState()->RegisterTraceDOMWrappers(
       isolate, V8GCController::TraceDOMWrappers);
-
   InitializeV8Common(isolate);
 
   isolate->SetOOMErrorHandler(ReportOOMErrorInMainThread);
@@ -654,6 +653,8 @@
 static const int kWorkerMaxStackSize = 500 * 1024;
 
 void V8Initializer::InitializeWorker(v8::Isolate* isolate) {
+  ThreadState::Current()->RegisterTraceDOMWrappers(
+      isolate, V8GCController::TraceDOMWrappers);
   InitializeV8Common(isolate);
 
   isolate->AddMessageListenerWithErrorLevel(
diff --git a/third_party/blink/renderer/core/core_idl_files.gni b/third_party/blink/renderer/core/core_idl_files.gni
index 06e9aece..365f62a2 100644
--- a/third_party/blink/renderer/core/core_idl_files.gni
+++ b/third_party/blink/renderer/core/core_idl_files.gni
@@ -331,6 +331,7 @@
                     "streams/readable_stream_default_controller.idl",
                     "streams/readable_stream_default_reader.idl",
                     "streams/transform_stream.idl",
+                    "streams/transform_stream_default_controller.idl",
                     "streams/writable_stream.idl",
                     "streams/writable_stream_default_controller.idl",
                     "streams/writable_stream_default_writer.idl",
diff --git a/third_party/blink/renderer/core/editing/spellcheck/cold_mode_spell_check_requester.h b/third_party/blink/renderer/core/editing/spellcheck/cold_mode_spell_check_requester.h
index 544b14e..0e60127 100644
--- a/third_party/blink/renderer/core/editing/spellcheck/cold_mode_spell_check_requester.h
+++ b/third_party/blink/renderer/core/editing/spellcheck/cold_mode_spell_check_requester.h
@@ -20,6 +20,7 @@
 // mode invocation. Not to be confused with SpellCheckRequester. The class
 // iteratively checks the editing host currently focused when the document is
 // idle.
+// See design doc for details: https://goo.gl/zONC3v
 class ColdModeSpellCheckRequester
     : public GarbageCollected<ColdModeSpellCheckRequester> {
  public:
diff --git a/third_party/blink/renderer/core/editing/spellcheck/hot_mode_spell_check_requester.h b/third_party/blink/renderer/core/editing/spellcheck/hot_mode_spell_check_requester.h
index 059987d..2d9971f 100644
--- a/third_party/blink/renderer/core/editing/spellcheck/hot_mode_spell_check_requester.h
+++ b/third_party/blink/renderer/core/editing/spellcheck/hot_mode_spell_check_requester.h
@@ -15,6 +15,7 @@
 
 // This class is only supposed to be used by IdleSpellCheckController in hot
 // mode invocation. Not to be confused with SpellCheckRequester.
+// See design doc for details: https://goo.gl/zONC3v
 class HotModeSpellCheckRequester {
   STACK_ALLOCATED();
 
diff --git a/third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.h b/third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.h
index 71e8754..0ff17a2 100644
--- a/third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.h
+++ b/third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.h
@@ -26,6 +26,7 @@
   V(InColdModeInvocation)
 
 // Main class for the implementation of idle time spell checker.
+// See design doc for details: https://goo.gl/zONC3v
 class CORE_EXPORT IdleSpellCheckController final
     : public GarbageCollectedFinalized<IdleSpellCheckController>,
       public DocumentShutdownObserver {
diff --git a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
index 339c638..7f337ba9 100644
--- a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
@@ -152,7 +152,6 @@
       script_request_url_, mojom::RequestContextType::SHARED_WORKER,
       network::mojom::FetchRequestMode::kSameOrigin,
       network::mojom::FetchCredentialsMode::kSameOrigin,
-      creation_address_space_,
       Bind(&WebSharedWorkerImpl::DidReceiveScriptLoaderResponse,
            WTF::Unretained(this)),
       Bind(&WebSharedWorkerImpl::OnScriptLoaderFinished,
diff --git a/third_party/blink/renderer/core/loader/resource/image_resource_content.cc b/third_party/blink/renderer/core/loader/resource/image_resource_content.cc
index 004eb75..84263d0 100644
--- a/third_party/blink/renderer/core/loader/resource/image_resource_content.cc
+++ b/third_party/blink/renderer/core/loader/resource/image_resource_content.cc
@@ -493,10 +493,14 @@
   return UpdateImageResult::kNoDecodeError;
 }
 
-// Return true if the image content is well-compressed (and not full of
-// extraneous metadata). "well-compressed" is determined by comparing the
-// image's compression ratio against a specific value that is defined by an
-// unoptimized image feature policy on |context|.
+ImageDecoder::CompressionFormat ImageResourceContent::GetCompressionFormat()
+    const {
+  if (!image_)
+    return ImageDecoder::kUndefinedFormat;
+  return ImageDecoder::GetCompressionFormat(image_->Data(),
+                                            GetResponse().HttpContentType());
+}
+
 bool ImageResourceContent::IsAcceptableCompressionRatio(
     const SecurityContext& context) {
   if (!image_)
@@ -519,26 +523,14 @@
   double compression_ratio_1k = (resource_length - 1024) / pixels;
   double compression_ratio_10k = (resource_length - 10240) / pixels;
 
-  // Attempt to sniff the image content to determine the true MIME type of the
-  // image, and fall back on the provided MIME type if this is not
-  // possible.
-  //
-  // Note that if the type cannot be sniffed AND the provided type is incorrect
-  // (for example, due to a misconfigured web server), then it is possible that
-  // either the wrong policy (or no policy) will be enforced. However, this case
-  // should be exceedingly rare.
-  String mime_type =
-      image_->Data() &&
-      ImageDecoder::HasSufficientDataToSniffImageType(*image_->Data().get())
-          ? ImageDecoder::SniffImageType(image_->Data())
-          : GetResponse().HttpContentType();
-  if (MIMETypeRegistry::IsLossyImageMIMEType(mime_type)) {
+  int compression_format = GetCompressionFormat();
+  if (compression_format == ImageDecoder::kLossyFormat) {
     // Enforce the lossy image policy.
     return context.IsFeatureEnabled(
         mojom::FeaturePolicyFeature::kUnoptimizedLossyImages,
         PolicyValue(compression_ratio_1k), ReportOptions::kReportOnFailure);
   }
-  if (MIMETypeRegistry::IsLosslessImageMIMEType(mime_type)) {
+  if (compression_format == ImageDecoder::kLosslessFormat) {
     // Enforce the lossless image policy.
     bool enabled_by_10k_policy = context.IsFeatureEnabled(
         mojom::FeaturePolicyFeature::kUnoptimizedLosslessImages,
diff --git a/third_party/blink/renderer/core/loader/resource/image_resource_content.h b/third_party/blink/renderer/core/loader/resource/image_resource_content.h
index 9e1aa362..bc2551c 100644
--- a/third_party/blink/renderer/core/loader/resource/image_resource_content.h
+++ b/third_party/blink/renderer/core/loader/resource/image_resource_content.h
@@ -13,6 +13,7 @@
 #include "third_party/blink/renderer/platform/graphics/image.h"
 #include "third_party/blink/renderer/platform/graphics/image_observer.h"
 #include "third_party/blink/renderer/platform/graphics/image_orientation.h"
+#include "third_party/blink/renderer/platform/image-decoders/image_decoder.h"
 #include "third_party/blink/renderer/platform/loader/fetch/resource_error.h"
 #include "third_party/blink/renderer/platform/loader/fetch/resource_load_priority.h"
 #include "third_party/blink/renderer/platform/loader/fetch/resource_status.h"
@@ -175,9 +176,12 @@
     return is_refetchable_data_from_disk_cache_;
   }
 
-  // Optimized image policies: This method is used to determine whether the
-  // image resource violates any of the image policies in effect on the current
-  // page.
+  ImageDecoder::CompressionFormat GetCompressionFormat() const;
+
+  // Returns true if the image content is well-compressed (and not full of
+  // extraneous metadata). "well-compressed" is determined by comparing the
+  // image's compression ratio against a specific value that is defined by an
+  // unoptimized image feature policy on |context|.
   bool IsAcceptableCompressionRatio(const SecurityContext& context);
 
   void LoadDeferredImage(ResourceFetcher* fetcher);
diff --git a/third_party/blink/renderer/core/loader/resource/image_resource_test.cc b/third_party/blink/renderer/core/loader/resource/image_resource_test.cc
index 0ef6fcef..2aaf647 100644
--- a/third_party/blink/renderer/core/loader/resource/image_resource_test.cc
+++ b/third_party/blink/renderer/core/loader/resource/image_resource_test.cc
@@ -1980,6 +1980,58 @@
   EXPECT_EQ(obs->Defer(), ImageResourceObserver::CanDeferInvalidation::kYes);
 }
 
+// A lossy 2x2 WebP image.
+constexpr unsigned char kLossyWebPImage[] = {
+    0x52, 0x49, 0x46, 0x46, 0x40, 0x00, 0x00, 0x00, 0x57, 0x45, 0x42, 0x50,
+    0x56, 0x50, 0x38, 0x20, 0x34, 0x00, 0x00, 0x00, 0xB0, 0x01, 0x00, 0x9D,
+    0x01, 0x2A, 0x02, 0x00, 0x02, 0x00, 0x00, 0xC0, 0x12, 0x25, 0x00, 0x4E,
+    0x80, 0x21, 0xDF, 0xC0, 0x5D, 0x80, 0x00, 0xFE, 0x9B, 0x87, 0xFA, 0x8F,
+    0xF8, 0xA0, 0x1E, 0xD7, 0xC8, 0x70, 0x88, 0x0B, 0x6C, 0x54, 0x7F, 0xC0,
+    0x7F, 0x12, 0xFE, 0xC0, 0xBC, 0x70, 0x65, 0xB6, 0xC1, 0x00, 0x00, 0x00};
+
+// A lossless 2x2 WebP image.
+constexpr unsigned char kLosslessWebPImage[] = {
+    0x52, 0x49, 0x46, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x57, 0x45, 0x42,
+    0x50, 0x56, 0x50, 0x38, 0x4C, 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x01,
+    0x40, 0x00, 0x00, 0x1F, 0x20, 0x10, 0x20, 0x72, 0xCC, 0x09, 0x13,
+    0x27, 0x48, 0x40, 0x42, 0xB8, 0xE3, 0xB9, 0x95, 0x12, 0x12, 0x10,
+    0x2B, 0x0C, 0xB4, 0xD8, 0x1C, 0x75, 0xFE, 0x03, 0xDB, 0xBA, 0x09,
+    0x40, 0x26, 0x6D, 0x1B, 0x6A, 0xBB, 0x6B, 0x11, 0xFD, 0x8F, 0x1D};
+
+// An extended lossy 2x2 WebP image.
+constexpr unsigned char kExtendedWebPImage[] = {
+    0x52, 0x49, 0x46, 0x46, 0x60, 0x00, 0x00, 0x00, 0x57, 0x45, 0x42, 0x50,
+    0x56, 0x50, 0x38, 0x58, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+    0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x41, 0x4C, 0x50, 0x48, 0x05, 0x00,
+    0x00, 0x00, 0x00, 0xFF, 0xFF, 0xE9, 0xAE, 0x00, 0x56, 0x50, 0x38, 0x20,
+    0x34, 0x00, 0x00, 0x00, 0xB0, 0x01, 0x00, 0x9D, 0x01, 0x2A, 0x02, 0x00,
+    0x02, 0x00, 0x00, 0xC0, 0x12, 0x25, 0x94, 0x02, 0x74, 0x01, 0x0E, 0xFE,
+    0x02, 0xEC, 0x00, 0xFE, 0x9B, 0x87, 0xFA, 0x8F, 0xF8, 0xA0, 0x1E, 0xD7,
+    0xC8, 0x70, 0x88, 0x0B, 0x6C, 0x54, 0x7A, 0xFB, 0xCA, 0x1D, 0x89, 0x90,
+    0xDD, 0x27, 0xEA, 0x7F, 0x28, 0x00, 0x00, 0x00};
+
+TEST(ImageResourceTest, WebPSniffing) {
+  KURL test_url(kTestURL);
+
+  // Test lossy WebP image.
+  ImageResource* image_resource = ImageResource::CreateForTest(test_url);
+  image_resource->AppendData(reinterpret_cast<const char*>(kLossyWebPImage),
+                             sizeof(kLossyWebPImage));
+  EXPECT_EQ(1, image_resource->GetContent()->GetCompressionFormat());
+
+  // Test lossless WebP image.
+  image_resource = ImageResource::CreateForTest(test_url);
+  image_resource->AppendData(reinterpret_cast<const char*>(kLosslessWebPImage),
+                             sizeof(kLosslessWebPImage));
+  EXPECT_EQ(2, image_resource->GetContent()->GetCompressionFormat());
+
+  // Test extended WebP image.
+  image_resource = ImageResource::CreateForTest(test_url);
+  image_resource->AppendData(reinterpret_cast<const char*>(kExtendedWebPImage),
+                             sizeof(kExtendedWebPImage));
+  EXPECT_EQ(1, image_resource->GetContent()->GetCompressionFormat());
+}
+
 }  // namespace
 
 class ImageResourceCounterTest : public testing::Test {
diff --git a/third_party/blink/renderer/core/streams/BUILD.gn b/third_party/blink/renderer/core/streams/BUILD.gn
index 2795fd64..24a5a05 100644
--- a/third_party/blink/renderer/core/streams/BUILD.gn
+++ b/third_party/blink/renderer/core/streams/BUILD.gn
@@ -32,9 +32,13 @@
     "stream_promise_resolver.h",
     "transform_stream.cc",
     "transform_stream.h",
+    "transform_stream_default_controller.cc",
+    "transform_stream_default_controller.h",
     "transform_stream_default_controller_interface.h",
     "transform_stream_default_controller_wrapper.cc",
     "transform_stream_default_controller_wrapper.h",
+    "transform_stream_native.cc",
+    "transform_stream_native.h",
     "transform_stream_transformer.h",
     "transform_stream_wrapper.cc",
     "transform_stream_wrapper.h",
diff --git a/third_party/blink/renderer/core/streams/README.md b/third_party/blink/renderer/core/streams/README.md
index 88e994b..6856924 100644
--- a/third_party/blink/renderer/core/streams/README.md
+++ b/third_party/blink/renderer/core/streams/README.md
@@ -26,6 +26,10 @@
     writable_stream_default_writer.idl
     writable_stream_native.cc
     writable_stream_native.h
+    transform_stream_default_controller.cc
+    transform_stream_default_controller.h
+    transform_stream_native.cc
+    transform_stream_native.h
 
 See also [Streams C++ port design doc][3].
 
diff --git a/third_party/blink/renderer/core/streams/transform_stream.cc b/third_party/blink/renderer/core/streams/transform_stream.cc
index 8454e2a..a88a0ef 100644
--- a/third_party/blink/renderer/core/streams/transform_stream.cc
+++ b/third_party/blink/renderer/core/streams/transform_stream.cc
@@ -6,6 +6,7 @@
 
 #include "third_party/blink/renderer/bindings/core/v8/script_value.h"
 #include "third_party/blink/renderer/core/streams/readable_stream.h"
+#include "third_party/blink/renderer/core/streams/transform_stream_native.h"
 #include "third_party/blink/renderer/core/streams/transform_stream_transformer.h"
 #include "third_party/blink/renderer/core/streams/transform_stream_wrapper.h"
 #include "third_party/blink/renderer/core/streams/writable_stream_wrapper.h"
@@ -56,20 +57,17 @@
                                          ScriptValue writable_strategy,
                                          ScriptValue readable_strategy,
                                          ExceptionState& exception_state) {
-  // Temporarily disable TransformStream constructor with the new implementation
-  // as it will create objects from the old implementation and break stuff.
-  // TODO(ricea): Make a C++ implementation of TransformStream.
-  if (RuntimeEnabledFeatures::StreamsNativeEnabled()) {
-    exception_state.ThrowTypeError(
-        "TransformStream disabled because StreamsNative is enabled");
-    return nullptr;
-  }
-
   auto* ts = MakeGarbageCollected<TransformStream>();
 
-  TransformStreamWrapper::InitFromJS(
-      script_state, transformer, writable_strategy, readable_strategy,
-      &ts->readable_, &ts->writable_, exception_state);
+  if (RuntimeEnabledFeatures::StreamsNativeEnabled()) {
+    TransformStreamNative::InitFromJS(
+        script_state, transformer, writable_strategy, readable_strategy,
+        &ts->readable_, &ts->writable_, exception_state);
+  } else {
+    TransformStreamWrapper::InitFromJS(
+        script_state, transformer, writable_strategy, readable_strategy,
+        &ts->readable_, &ts->writable_, exception_state);
+  }
 
   if (exception_state.HadException()) {
     return nullptr;
@@ -81,8 +79,13 @@
 void TransformStream::Init(TransformStreamTransformer* transformer,
                            ScriptState* script_state,
                            ExceptionState& exception_state) {
-  TransformStreamWrapper::Init(script_state, transformer, &readable_,
-                               &writable_, exception_state);
+  if (RuntimeEnabledFeatures::StreamsNativeEnabled()) {
+    TransformStreamNative::Init(script_state, transformer, &readable_,
+                                &writable_, exception_state);
+  } else {
+    TransformStreamWrapper::Init(script_state, transformer, &readable_,
+                                 &writable_, exception_state);
+  }
 
   if (exception_state.HadException()) {
     return;
diff --git a/third_party/blink/renderer/core/streams/transform_stream_default_controller.cc b/third_party/blink/renderer/core/streams/transform_stream_default_controller.cc
new file mode 100644
index 0000000..632416f
--- /dev/null
+++ b/third_party/blink/renderer/core/streams/transform_stream_default_controller.cc
@@ -0,0 +1,383 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/renderer/core/streams/transform_stream_default_controller.h"
+
+#include "third_party/blink/renderer/core/streams/miscellaneous_operations.h"
+#include "third_party/blink/renderer/core/streams/promise_handler.h"
+#include "third_party/blink/renderer/core/streams/readable_stream_default_controller.h"
+#include "third_party/blink/renderer/core/streams/readable_stream_native.h"
+#include "third_party/blink/renderer/core/streams/stream_algorithms.h"
+#include "third_party/blink/renderer/core/streams/transform_stream_native.h"
+#include "third_party/blink/renderer/core/streams/writable_stream_native.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
+#include "third_party/blink/renderer/platform/bindings/script_state.h"
+#include "third_party/blink/renderer/platform/bindings/to_v8.h"
+#include "third_party/blink/renderer/platform/bindings/v8_binding.h"
+#include "third_party/blink/renderer/platform/heap/heap.h"
+#include "third_party/blink/renderer/platform/heap/visitor.h"
+#include "third_party/blink/renderer/platform/wtf/assertions.h"
+
+namespace blink {
+
+TransformStreamDefaultController::TransformStreamDefaultController() = default;
+TransformStreamDefaultController::~TransformStreamDefaultController() = default;
+
+double TransformStreamDefaultController::desiredSize(bool& is_null) const {
+  // https://streams.spec.whatwg.org/#ts-default-controller-desired-size
+  // 2. Let readableController be
+  //    this.[[controlledTransformStream]].[[readable]].
+  //    [[readableStreamController]].
+  const auto* readable_controller =
+      controlled_transform_stream_->readable_->GetController();
+
+  // 3. Return !
+  //    ReadableStreamDefaultControllerGetDesiredSize(readableController).
+  // Use the accessor instead as it already has the semantics we need and can't
+  // be interfered with from JavaScript.
+  return readable_controller->desiredSize(is_null);
+}
+
+// The handling of undefined arguments is implicit in the standard, but needs to
+// be done explicitly with IDL.
+void TransformStreamDefaultController::enqueue(
+    ScriptState* script_state,
+    ExceptionState& exception_state) {
+  // https://streams.spec.whatwg.org/#ts-default-controller-enqueue
+  // 2. Perform ? TransformStreamDefaultControllerEnqueue(this, chunk).
+  Enqueue(script_state, this, v8::Undefined(script_state->GetIsolate()),
+          exception_state);
+}
+
+void TransformStreamDefaultController::enqueue(
+    ScriptState* script_state,
+    ScriptValue chunk,
+    ExceptionState& exception_state) {
+  // https://streams.spec.whatwg.org/#ts-default-controller-enqueue
+  // 2. Perform ? TransformStreamDefaultControllerEnqueue(this, chunk).
+  Enqueue(script_state, this, chunk.V8Value(), exception_state);
+}
+
+void TransformStreamDefaultController::error(ScriptState* script_state) {
+  // https://streams.spec.whatwg.org/#ts-default-controller-error
+  // 2. Perform ! TransformStreamDefaultControllerError(this, reason).
+  Error(script_state, this, v8::Undefined(script_state->GetIsolate()));
+}
+
+void TransformStreamDefaultController::error(ScriptState* script_state,
+                                             ScriptValue reason) {
+  // https://streams.spec.whatwg.org/#ts-default-controller-error
+  // 2. Perform ! TransformStreamDefaultControllerError(this, reason).
+  Error(script_state, this, reason.V8Value());
+}
+
+void TransformStreamDefaultController::terminate(ScriptState* script_state) {
+  // https://streams.spec.whatwg.org/#ts-default-controller-terminate
+  // 2. Perform ! TransformStreamDefaultControllerTerminate(this).
+  Terminate(script_state, this);
+}
+
+void TransformStreamDefaultController::Trace(Visitor* visitor) {
+  visitor->Trace(controlled_transform_stream_);
+  visitor->Trace(flush_algorithm_);
+  visitor->Trace(transform_algorithm_);
+  ScriptWrappable::Trace(visitor);
+}
+
+// This algorithm is not explicitly named, but is described as part of the
+// SetUpTransformStreamDefaultControllerFromTransformer abstract operation in
+// the standard.
+class TransformStreamDefaultController::DefaultTransformAlgorithm final
+    : public StreamAlgorithm {
+ public:
+  explicit DefaultTransformAlgorithm(
+      TransformStreamDefaultController* controller)
+      : controller_(controller) {}
+
+  v8::Local<v8::Promise> Run(ScriptState* script_state,
+                             int argc,
+                             v8::Local<v8::Value> argv[]) override {
+    DCHECK_EQ(argc, 1);
+    ExceptionState exception_state(script_state->GetIsolate(),
+                                   ExceptionState::kUnknownContext, "", "");
+
+    // https://streams.spec.whatwg.org/#set-up-transform-stream-default-controller-from-transformer
+    // 3. Let transformAlgorithm be the following steps, taking a chunk
+    //    argument:
+    //    a. Let result be TransformStreamDefaultControllerEnqueue(controller,
+    //       chunk).
+    Enqueue(script_state, controller_, argv[0], exception_state);
+
+    //    b. If result is an abrupt completion, return a promise rejected with
+    //       result.[[Value]].
+    if (exception_state.HadException()) {
+      v8::Local<v8::Value> exception = exception_state.GetException();
+      exception_state.ClearException();
+      return PromiseReject(script_state, exception);
+    }
+
+    //    c. Otherwise, return a promise resolved with undefined.
+    return PromiseResolveWithUndefined(script_state);
+  }
+
+  void Trace(Visitor* visitor) override {
+    visitor->Trace(controller_);
+    StreamAlgorithm::Trace(visitor);
+  }
+
+ private:
+  Member<TransformStreamDefaultController> controller_;
+};
+
+void TransformStreamDefaultController::SetUp(
+    TransformStreamNative* stream,
+    TransformStreamDefaultController* controller,
+    StreamAlgorithm* transform_algorithm,
+    StreamAlgorithm* flush_algorithm) {
+  // https://streams.spec.whatwg.org/#set-up-transform-stream-default-controller
+  // 1. Assert: ! IsTransformStream(stream) is true.
+  DCHECK(stream);
+
+  // 2. Assert: stream.[[transformStreamController]] is undefined.
+  DCHECK(!stream->transform_stream_controller_);
+
+  // 3. Set controller.[[controlledTransformStream]] to stream.
+  controller->controlled_transform_stream_ = stream;
+
+  // 4. Set stream.[[transformStreamController]] to controller.
+  stream->transform_stream_controller_ = controller;
+
+  // 5. Set controller.[[transformAlgorithm]] to transformAlgorithm.
+  controller->transform_algorithm_ = transform_algorithm;
+
+  // 6. Set controller.[[flushAlgorithm]] to flushAlgorithm.
+  controller->flush_algorithm_ = flush_algorithm;
+}
+
+v8::Local<v8::Value> TransformStreamDefaultController::SetUpFromTransformer(
+    ScriptState* script_state,
+    TransformStreamNative* stream,
+    v8::Local<v8::Object> transformer,
+    ExceptionState& exception_state) {
+  // https://streams.spec.whatwg.org/#set-up-transform-stream-default-controller-from-transformer
+  // 1. Assert: transformer is not undefined.
+  DCHECK(!transformer->IsUndefined());
+
+  // 2. Let controller be ObjectCreate(the original value of
+  //    TransformStreamDefaultController's prototype property).
+  auto* controller = MakeGarbageCollected<TransformStreamDefaultController>();
+
+  // This method is only called when a TransformStream is being constructed by
+  // JavaScript. So the execution context should be valid and this call should
+  // not crash.
+  auto controller_value = ToV8(controller, script_state);
+
+  // The following steps are reordered from the standard for efficiency, but the
+  // effect is the same.
+  StreamAlgorithm* transform_algorithm = nullptr;
+
+  // 4. Let transformMethod be ? GetV(transformer, "transform").
+  v8::MaybeLocal<v8::Value> method_maybe =
+      ResolveMethod(script_state, transformer, "transform",
+                    "transformer.transform", exception_state);
+  v8::Local<v8::Value> transform_method;
+  if (!method_maybe.ToLocal(&transform_method)) {
+    CHECK(exception_state.HadException());
+    return v8::Local<v8::Value>();
+  }
+  DCHECK(!exception_state.HadException());
+
+  if (transform_method->IsUndefined()) {
+    // 3. Let transformAlgorithm be the following steps, taking a chunk
+    // argument:
+    //    i. Let result be TransformStreamDefaultControllerEnqueue(controller,
+    //       chunk).
+    //   ii. If result is an abrupt completion, return a promise rejected with
+    //       result.[[Value]].
+    //  iii. Otherwise, return a promise resolved with undefined.
+    transform_algorithm =
+        MakeGarbageCollected<DefaultTransformAlgorithm>(controller);
+  } else {
+    // 5. If transformMethod is not undefined,
+    //    a. If ! IsCallable(transformMethod) is false, throw a TypeError
+    //       exception.
+    // (The IsCallable() check has already been done by ResolveMethod).
+
+    //    b. Set transformAlgorithm to the following steps, taking a chunk
+    //       argument:
+    //       i. Return ! PromiseCall(transformMethod, transformer, « chunk,
+    //          controller »).
+    transform_algorithm = CreateAlgorithmFromResolvedMethod(
+        script_state, transformer, transform_method, controller_value);
+  }
+
+  // 6. Let flushAlgorithm be ? CreateAlgorithmFromUnderlyingMethod(transformer,
+  //    "flush", 0, « controller »).
+  auto* flush_algorithm = CreateAlgorithmFromUnderlyingMethod(
+      script_state, transformer, "flush", "transformer.flush", controller_value,
+      exception_state);
+
+  // 7. Perform ! SetUpTransformStreamDefaultController(stream, controller,
+  //    transformAlgorithm, flushAlgorithm).
+  SetUp(stream, controller, transform_algorithm, flush_algorithm);
+
+  // This operation doesn't have a return value in the standard, but it's useful
+  // to return the JavaScript wrapper here so that it can be used when calling
+  // transformer.start().
+  return controller_value;
+}
+
+void TransformStreamDefaultController::ClearAlgorithms(
+    TransformStreamDefaultController* controller) {
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-clear-algorithms
+  // 1. Set controller.[[transformAlgorithm]] to undefined.
+  controller->transform_algorithm_ = nullptr;
+
+  // 2. Set controller.[[flushAlgorithm]] to undefined.
+  controller->flush_algorithm_ = nullptr;
+}
+
+void TransformStreamDefaultController::Enqueue(
+    ScriptState* script_state,
+    TransformStreamDefaultController* controller,
+    v8::Local<v8::Value> chunk,
+    ExceptionState& exception_state) {
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-enqueue
+  // 1. Let stream be controller.[[controlledTransformStream]].
+  TransformStreamNative* stream = controller->controlled_transform_stream_;
+
+  // 2. Let readableController be
+  //    stream.[[readable]].[[readableStreamController]].
+  auto* readable_controller = stream->readable_->GetController();
+
+  // 3. If !
+  //    ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) is
+  //    false, throw a TypeError exception.
+  if (!ReadableStreamDefaultController::CanCloseOrEnqueue(
+          readable_controller)) {
+    exception_state.ThrowTypeError(
+        ReadableStreamDefaultController::EnqueueExceptionMessage(
+            readable_controller));
+    return;
+  }
+
+  // 4. Let enqueueResult be ReadableStreamDefaultControllerEnqueue(
+  //    readableController, chunk).
+  ReadableStreamDefaultController::Enqueue(script_state, readable_controller,
+                                           chunk, exception_state);
+
+  // 5. If enqueueResult is an abrupt completion,
+  if (exception_state.HadException()) {
+    // a. Perform ! TransformStreamErrorWritableAndUnblockWrite(stream,
+    //    enqueueResult.[[Value]]).
+    TransformStreamNative::ErrorWritableAndUnblockWrite(
+        script_state, stream, exception_state.GetException());
+    exception_state.ClearException();
+
+    // b. Throw stream.[[readable]].[[storedError]].
+    exception_state.RethrowV8Exception(
+        stream->readable_->GetStoredError(script_state->GetIsolate()));
+    return;
+  }
+
+  // 6. Let backpressure be ! ReadableStreamDefaultControllerHasBackpressure(
+  //    readableController).
+  bool backpressure =
+      ReadableStreamDefaultController::HasBackpressure(readable_controller);
+
+  // 7. If backpressure is not stream.[[backpressure]],
+  if (backpressure != stream->had_backpressure_) {
+    // a. Assert: backpressure is true.
+    DCHECK(backpressure);
+
+    // b. Perform ! TransformStreamSetBackpressure(stream, true).
+    TransformStreamNative::SetBackpressure(script_state, stream, true);
+  }
+}
+
+void TransformStreamDefaultController::Error(
+    ScriptState* script_state,
+    TransformStreamDefaultController* controller,
+    v8::Local<v8::Value> e) {
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-error
+  // 1. Perform ! TransformStreamError(controller.[[controlledTransformStream]],
+  //    e).
+  TransformStreamNative::Error(script_state,
+                               controller->controlled_transform_stream_, e);
+}
+
+v8::Local<v8::Promise> TransformStreamDefaultController::PerformTransform(
+    ScriptState* script_state,
+    TransformStreamDefaultController* controller,
+    v8::Local<v8::Value> chunk) {
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-perform-transform
+  // 1. Let transformPromise be the result of performing controller.
+  //    [[transformAlgorithm]], passing chunk.
+  auto transform_promise =
+      controller->transform_algorithm_->Run(script_state, 1, &chunk);
+
+  class RejectFunction final : public PromiseHandlerWithValue {
+   public:
+    RejectFunction(ScriptState* script_state, TransformStreamNative* stream)
+        : PromiseHandlerWithValue(script_state), stream_(stream) {}
+
+    v8::Local<v8::Value> CallWithLocal(v8::Local<v8::Value> r) override {
+      // 2. Return the result of transforming transformPromise with a rejection
+      //    handler that, when called with argument r, performs the following
+      //    steps:
+      //    a. Perform ! TransformStreamError(controller.
+      //       [[controlledTransformStream]], r).
+      TransformStreamNative::Error(GetScriptState(), stream_, r);
+
+      //    b. Throw r.
+      return PromiseReject(GetScriptState(), r);
+    }
+
+    void Trace(Visitor* visitor) override {
+      visitor->Trace(stream_);
+      PromiseHandlerWithValue::Trace(visitor);
+    }
+
+   private:
+    Member<TransformStreamNative> stream_;
+  };
+
+  // 2. Return the result of transforming transformPromise ...
+  return StreamThenPromise(
+      script_state->GetContext(), transform_promise, nullptr,
+      MakeGarbageCollected<RejectFunction>(
+          script_state, controller->controlled_transform_stream_));
+}
+
+void TransformStreamDefaultController::Terminate(
+    ScriptState* script_state,
+    TransformStreamDefaultController* controller) {
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-terminate
+  // 1. Let stream be controller.[[controlledTransformStream]].
+  TransformStreamNative* stream = controller->controlled_transform_stream_;
+
+  // 2. Let readableController be
+  //    stream.[[readable]].[[readableStreamController]].
+  ReadableStreamDefaultController* readable_controller =
+      stream->readable_->GetController();
+
+  // 3. If !
+  //    ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) is
+  //    true, perform ! ReadableStreamDefaultControllerClose(
+  //    readableController).
+  if (ReadableStreamDefaultController::CanCloseOrEnqueue(readable_controller)) {
+    ReadableStreamDefaultController::Close(script_state, readable_controller);
+  }
+
+  // 4. Let error be a TypeError exception indicating that the stream has been
+  //    terminated.
+  const auto error = v8::Exception::TypeError(V8String(
+      script_state->GetIsolate(), "The transform stream has been terminated"));
+
+  // 5. Perform ! TransformStreamErrorWritableAndUnblockWrite(stream, error).
+  TransformStreamNative::ErrorWritableAndUnblockWrite(script_state, stream,
+                                                      error);
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/core/streams/transform_stream_default_controller.h b/third_party/blink/renderer/core/streams/transform_stream_default_controller.h
new file mode 100644
index 0000000..f04cce7
--- /dev/null
+++ b/third_party/blink/renderer/core/streams/transform_stream_default_controller.h
@@ -0,0 +1,92 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFORM_STREAM_DEFAULT_CONTROLLER_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFORM_STREAM_DEFAULT_CONTROLLER_H_
+
+#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
+#include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
+#include "v8/include/v8.h"
+
+namespace blink {
+
+class ExceptionState;
+class ScriptState;
+class StreamAlgorithm;
+class TransformStreamNative;
+class Visitor;
+
+class CORE_EXPORT TransformStreamDefaultController : public ScriptWrappable {
+  DEFINE_WRAPPERTYPEINFO();
+
+ public:
+  TransformStreamDefaultController();
+  ~TransformStreamDefaultController() override;
+
+  // https://streams.spec.whatwg.org/#ts-default-controller-desired-size
+  double desiredSize(bool& is_null) const;
+
+  // https://streams.spec.whatwg.org/#ts-default-controller-enqueue
+  void enqueue(ScriptState*, ExceptionState&);
+  void enqueue(ScriptState*, ScriptValue chunk, ExceptionState&);
+
+  // https://streams.spec.whatwg.org/#ts-default-controller-error
+  void error(ScriptState*);
+  void error(ScriptState*, ScriptValue reason);
+
+  // https://streams.spec.whatwg.org/#ts-default-controller-terminate
+  void terminate(ScriptState*);
+
+  void Trace(Visitor*) override;
+
+ private:
+  friend class TransformStreamNative;
+
+  class DefaultTransformAlgorithm;
+
+  // https://streams.spec.whatwg.org/#set-up-transform-stream-default-controller
+  static void SetUp(TransformStreamNative*,
+                    TransformStreamDefaultController*,
+                    StreamAlgorithm* transform_algorithm,
+                    StreamAlgorithm* flush_algorithm);
+
+  // https://streams.spec.whatwg.org/#set-up-transform-stream-default-controller-from-transformer
+  static v8::Local<v8::Value> SetUpFromTransformer(
+      ScriptState*,
+      TransformStreamNative*,
+      v8::Local<v8::Object> transformer,
+      ExceptionState&);
+
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-clear-algorithms
+  static void ClearAlgorithms(TransformStreamDefaultController*);
+
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-enqueue
+  static void Enqueue(ScriptState*,
+                      TransformStreamDefaultController*,
+                      v8::Local<v8::Value> chunk,
+                      ExceptionState&);
+
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-error
+  static void Error(ScriptState*,
+                    TransformStreamDefaultController*,
+                    v8::Local<v8::Value> e);
+
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-perform-transform
+  static v8::Local<v8::Promise> PerformTransform(
+      ScriptState*,
+      TransformStreamDefaultController*,
+      v8::Local<v8::Value> chunk);
+
+  // https://streams.spec.whatwg.org/#transform-stream-default-controller-terminate
+  static void Terminate(ScriptState*, TransformStreamDefaultController*);
+
+  Member<TransformStreamNative> controlled_transform_stream_;
+  Member<StreamAlgorithm> flush_algorithm_;
+  Member<StreamAlgorithm> transform_algorithm_;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFORM_STREAM_DEFAULT_CONTROLLER_H_
diff --git a/third_party/blink/renderer/core/streams/transform_stream_default_controller.idl b/third_party/blink/renderer/core/streams/transform_stream_default_controller.idl
new file mode 100644
index 0000000..19aebfb
--- /dev/null
+++ b/third_party/blink/renderer/core/streams/transform_stream_default_controller.idl
@@ -0,0 +1,18 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This is only used when the new C++ implementation is enabled.
+
+// https://streams.spec.whatwg.org/#rs-default-controller-class-definition
+[
+    Exposed=(Window,Worker,Worklet),
+    NoInterfaceObject,
+    RaisesException=Constructor
+] interface TransformStreamDefaultController {
+    [NotEnumerable] readonly attribute double? desiredSize;
+    [CallWith=ScriptState, NotEnumerable, RaisesException] void enqueue(
+        optional any chunk);
+    [CallWith=ScriptState, NotEnumerable] void error(optional any reason);
+    [CallWith=ScriptState, NotEnumerable] void terminate();
+};
diff --git a/third_party/blink/renderer/core/streams/transform_stream_native.cc b/third_party/blink/renderer/core/streams/transform_stream_native.cc
new file mode 100644
index 0000000..c73a920
--- /dev/null
+++ b/third_party/blink/renderer/core/streams/transform_stream_native.cc
@@ -0,0 +1,866 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/renderer/core/streams/transform_stream_native.h"
+
+#include "third_party/blink/renderer/core/execution_context/execution_context.h"
+#include "third_party/blink/renderer/core/frame/use_counter.h"
+#include "third_party/blink/renderer/core/streams/miscellaneous_operations.h"
+#include "third_party/blink/renderer/core/streams/promise_handler.h"
+#include "third_party/blink/renderer/core/streams/readable_stream_default_controller.h"
+#include "third_party/blink/renderer/core/streams/readable_stream_native.h"
+#include "third_party/blink/renderer/core/streams/stream_algorithms.h"
+#include "third_party/blink/renderer/core/streams/stream_promise_resolver.h"
+#include "third_party/blink/renderer/core/streams/transform_stream_default_controller.h"
+#include "third_party/blink/renderer/core/streams/transform_stream_default_controller_interface.h"
+#include "third_party/blink/renderer/core/streams/transform_stream_transformer.h"
+#include "third_party/blink/renderer/core/streams/writable_stream_default_controller.h"
+#include "third_party/blink/renderer/core/streams/writable_stream_native.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
+#include "third_party/blink/renderer/platform/bindings/script_state.h"
+#include "third_party/blink/renderer/platform/bindings/to_v8.h"
+#include "third_party/blink/renderer/platform/bindings/v8_binding.h"
+#include "third_party/blink/renderer/platform/heap/visitor.h"
+#include "third_party/blink/renderer/platform/wtf/allocator.h"
+#include "third_party/blink/renderer/platform/wtf/assertions.h"
+
+namespace blink {
+
+// The controller that is passed to TransformStreamTransformer implementations
+// is a stack-allocated wrapper of the real controller. This gives interface
+// compatibility with the V8 Extras implementation.
+class TransformStreamNative::ControllerInterface final
+    : public TransformStreamDefaultControllerInterface {
+  STACK_ALLOCATED();
+
+ public:
+  ControllerInterface(ScriptState* script_state,
+                      TransformStreamDefaultController* controller)
+      : script_state_(script_state), controller_(controller) {}
+
+  void Enqueue(v8::Local<v8::Value> chunk,
+               ExceptionState& exception_state) override {
+    TransformStreamDefaultController::Enqueue(script_state_, controller_, chunk,
+                                              exception_state);
+  }
+
+ private:
+  Member<ScriptState> script_state_;
+  Member<TransformStreamDefaultController> controller_;
+};
+
+// Implements a flush algorithm that delegates to a TransformStreamTransformer.
+// This is used when creating a TransformStream from C++.
+class TransformStreamNative::FlushAlgorithm final : public StreamAlgorithm {
+ public:
+  explicit FlushAlgorithm(TransformStreamTransformer* transformer)
+      : transformer_(transformer) {}
+
+  v8::Local<v8::Promise> Run(ScriptState* script_state,
+                             int argc,
+                             v8::Local<v8::Value> argv[]) override {
+    DCHECK_EQ(argc, 0);
+    DCHECK(controller_);
+    ExceptionState exception_state(script_state->GetIsolate(),
+                                   ExceptionState::kUnknownContext, "", "");
+    ControllerInterface controller_interface(script_state, controller_);
+    transformer_->Flush(&controller_interface, exception_state);
+    if (exception_state.HadException()) {
+      auto exception = exception_state.GetException();
+      exception_state.ClearException();
+      return PromiseReject(script_state, exception);
+    }
+
+    return PromiseResolveWithUndefined(script_state);
+  }
+
+  // SetController() must be called before Run() is.
+  void SetController(TransformStreamDefaultController* controller) {
+    controller_ = controller;
+  }
+
+  void Trace(Visitor* visitor) override {
+    visitor->Trace(transformer_);
+    visitor->Trace(controller_);
+    StreamAlgorithm::Trace(visitor);
+  }
+
+ private:
+  Member<TransformStreamTransformer> transformer_;
+  Member<TransformStreamDefaultController> controller_;
+};
+
+// Implements a transform algorithm that delegates to a
+// TransformStreamTransformer.
+class TransformStreamNative::TransformAlgorithm final : public StreamAlgorithm {
+ public:
+  explicit TransformAlgorithm(TransformStreamTransformer* transformer)
+      : transformer_(transformer) {}
+
+  v8::Local<v8::Promise> Run(ScriptState* script_state,
+                             int argc,
+                             v8::Local<v8::Value> argv[]) override {
+    DCHECK_EQ(argc, 1);
+    DCHECK(controller_);
+    ExceptionState exception_state(script_state->GetIsolate(),
+                                   ExceptionState::kUnknownContext, "", "");
+    ControllerInterface controller_interface(script_state, controller_);
+    transformer_->Transform(argv[0], &controller_interface, exception_state);
+    if (exception_state.HadException()) {
+      auto exception = exception_state.GetException();
+      exception_state.ClearException();
+      return PromiseReject(script_state, exception);
+    }
+
+    return PromiseResolveWithUndefined(script_state);
+  }
+
+  // SetController() must be called before Run() is.
+  void SetController(TransformStreamDefaultController* controller) {
+    controller_ = controller;
+  }
+
+  void Trace(Visitor* visitor) override {
+    visitor->Trace(transformer_);
+    visitor->Trace(controller_);
+    StreamAlgorithm::Trace(visitor);
+  }
+
+ private:
+  Member<TransformStreamTransformer> transformer_;
+  Member<TransformStreamDefaultController> controller_;
+};
+
+// static
+void TransformStreamNative::InitFromJS(ScriptState* script_state,
+                                       ScriptValue raw_transformer,
+                                       ScriptValue raw_writable_strategy,
+                                       ScriptValue raw_readable_strategy,
+                                       Member<ReadableStream>* readable,
+                                       Member<WritableStream>* writable,
+                                       ExceptionState& exception_state) {
+  const auto* stream = MakeGarbageCollected<TransformStreamNative>(
+      script_state, raw_transformer, raw_writable_strategy,
+      raw_readable_strategy, exception_state);
+  *readable = stream->readable_;
+  *writable = stream->writable_;
+  // We no longer need a direct reference to |stream|.
+}
+
+// static
+void TransformStreamNative::Init(ScriptState* script_state,
+                                 TransformStreamTransformer* transformer,
+                                 Member<ReadableStream>* readable,
+                                 Member<WritableStream>* writable,
+                                 ExceptionState& exception_state) {
+  auto* transform_algorithm =
+      MakeGarbageCollected<TransformAlgorithm>(transformer);
+  auto* flush_algorithm = MakeGarbageCollected<FlushAlgorithm>(transformer);
+  auto* size_algorithm = CreateDefaultSizeAlgorithm();
+  auto* stream = Create(script_state, CreateTrivialStartAlgorithm(),
+                        transform_algorithm, flush_algorithm, 1, size_algorithm,
+                        0, size_algorithm, exception_state);
+  DCHECK(stream);
+  DCHECK(!exception_state.HadException());
+  TransformStreamDefaultController* controller =
+      stream->transform_stream_controller_;
+  transform_algorithm->SetController(controller);
+  flush_algorithm->SetController(controller);
+  *readable = stream->readable_;
+  *writable = stream->writable_;
+  // We no longer need a direct reference to |stream|.
+}
+
+TransformStreamNative* TransformStreamNative::Create(
+    ScriptState* script_state,
+    StreamStartAlgorithm* start_algorithm,
+    StreamAlgorithm* transform_algorithm,
+    StreamAlgorithm* flush_algorithm,
+    double writable_high_water_mark,
+    StrategySizeAlgorithm* writable_size_algorithm,
+    double readable_high_water_mark,
+    StrategySizeAlgorithm* readable_size_algorithm,
+    ExceptionState& exception_state) {
+  // https://streams.spec.whatwg.org/#create-transform-stream
+  //
+  // In this implementation, all the arguments are compulsory, so the following
+  // steps aren't performed:
+  // 1. If writableHighWaterMark was not passed, set it to 1.
+  // 2. If writableSizeAlgorithm was not passed, set it to an algorithm that
+  //    returns 1.
+  // 3. If readableHighWaterMark was not passed, set it to 0.
+  // 4. If readableSizeAlgorithm was not passed, set it to an algorithm that
+  //    returns 1.
+
+  // 5. Assert: ! IsNonNegativeNumber(writableHighWaterMark) is true.
+  DCHECK_GE(writable_high_water_mark, 0);
+
+  // 6. Assert: ! IsNonNegativeNumber(readableHighWaterMark) is true.
+  DCHECK_GE(readable_high_water_mark, 0);
+
+  // 7. Let stream be ObjectCreate(the original value of TransformStream's
+  //    prototype property).
+  auto* stream = MakeGarbageCollected<TransformStreamNative>();
+
+  // 8. Let startPromise be a new promise.
+  auto* start_promise =
+      MakeGarbageCollected<StreamPromiseResolver>(script_state);
+
+  // 9. Perform ! InitializeTransformStream(stream, startPromise,
+  //    writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark,
+  //    readableSizeAlgorithm).
+  Initialize(script_state, stream, start_promise, writable_high_water_mark,
+             writable_size_algorithm, readable_high_water_mark,
+             readable_size_algorithm);
+
+  // 10. Let controller be ObjectCreate(the original value of
+  //     TransformStreamDefaultController's prototype property).
+  auto* controller = MakeGarbageCollected<TransformStreamDefaultController>();
+
+  // 11. Perform ! SetUpTransformStreamDefaultController(stream, controller,
+  //     transformAlgorithm, flushAlgorithm).
+  TransformStreamDefaultController::SetUp(stream, controller,
+                                          transform_algorithm, flush_algorithm);
+
+  // 12. Let startResult be the result of performing startAlgorithm. (This may
+  //     throw an exception.)
+  v8::MaybeLocal<v8::Promise> start_result_maybe =
+      start_algorithm->Run(script_state, exception_state);
+  v8::Local<v8::Promise> start_result;
+  if (!start_result_maybe.ToLocal(&start_result)) {
+    CHECK(exception_state.HadException());
+    return nullptr;
+  }
+  DCHECK(!exception_state.HadException());
+
+  // 13. Resolve startPromise with startResult.
+  start_promise->Resolve(script_state, start_result);
+
+  // 14. Return stream.
+  return stream;
+}
+
+// This constructor is only used internally.
+TransformStreamNative::TransformStreamNative() = default;
+
+TransformStreamNative::TransformStreamNative(ScriptState* script_state,
+                                             ScriptValue raw_transformer,
+                                             ScriptValue raw_writable_strategy,
+                                             ScriptValue raw_readable_strategy,
+                                             ExceptionState& exception_state) {
+  // TODO(ricea): Move this to IDL.
+  UseCounter::Count(ExecutionContext::From(script_state),
+                    WebFeature::kTransformStreamConstructor);
+
+  DCHECK(!raw_transformer.IsEmpty());
+  DCHECK(!raw_writable_strategy.IsEmpty());
+  DCHECK(!raw_readable_strategy.IsEmpty());
+
+  auto context = script_state->GetContext();
+  auto* isolate = script_state->GetIsolate();
+
+  // https://streams.spec.whatwg.org/#ts-constructor
+  // Perform the "transformer = {}" step from the function signature.
+  v8::Local<v8::Object> transformer;
+  ScriptValueToObject(script_state, raw_transformer, &transformer,
+                      exception_state);
+  if (exception_state.HadException()) {
+    return;
+  }
+
+  // Perform the "writableStrategy = {}" step from the function signature, and
+  // 1. Let writableSizeFunction be ? GetV(writableStrategy, "size").
+  // 2. Let writableHighWaterMark be ? GetV(writableStrategy, "highWaterMark").
+  StrategyUnpacker writable_strategy_unpacker(
+      script_state, raw_writable_strategy, exception_state);
+  if (exception_state.HadException()) {
+    return;
+  }
+
+  // Perform the "readableStrategy = {}" step from the function signature, and
+  // 3. Let readableSizeFunction be ? GetV(readableStrategy, "size").
+  // 4. Let readableHighWaterMark be ? GetV(readableStrategy, "highWaterMark").
+  StrategyUnpacker readable_strategy_unpacker(
+      script_state, raw_readable_strategy, exception_state);
+  if (exception_state.HadException()) {
+    return;
+  }
+
+  v8::TryCatch try_catch(isolate);
+
+  // 5. Let writableType be ? GetV(transformer, "writableType").
+  v8::Local<v8::Value> writable_type;
+  if (!transformer->Get(context, V8AtomicString(isolate, "writableType"))
+           .ToLocal(&writable_type)) {
+    exception_state.RethrowV8Exception(try_catch.Exception());
+    return;
+  }
+
+  // 6. If writableType is not undefined, throw a RangeError exception.
+  if (!writable_type->IsUndefined()) {
+    exception_state.ThrowRangeError("Invalid writableType was specified");
+    return;
+  }
+
+  // 7. Let writableSizeAlgorithm be ? MakeSizeAlgorithmFromSizeFunction(
+  //    writableSizeFunction).
+  auto* writable_size_algorithm = writable_strategy_unpacker.MakeSizeAlgorithm(
+      script_state, exception_state);
+  if (exception_state.HadException()) {
+    return;
+  }
+
+  // 8. If writableHighWaterMark is undefined, set writableHighWaterMark to 1.
+  // 9. Set writableHighWaterMark to ? ValidateAndNormalizeHighWaterMark(
+  //    writableHighWaterMark).
+  double writable_high_water_mark = writable_strategy_unpacker.GetHighWaterMark(
+      script_state, 1, exception_state);
+  if (exception_state.HadException()) {
+    return;
+  }
+
+  // 10. Let readableType be ? GetV(transformer, "readableType").
+  v8::Local<v8::Value> readable_type;
+  if (!transformer->Get(context, V8AtomicString(isolate, "readableType"))
+           .ToLocal(&readable_type)) {
+    exception_state.RethrowV8Exception(try_catch.Exception());
+    return;
+  }
+
+  // 11. If readableType is not undefined, throw a RangeError exception.
+  if (!readable_type->IsUndefined()) {
+    exception_state.ThrowRangeError("Invalid readableType was specified");
+    return;
+  }
+
+  // 12. Let readableSizeAlgorithm be ? MakeSizeAlgorithmFromSizeFunction(
+  //     readableSizeFunction).
+  auto* readable_size_algorithm = readable_strategy_unpacker.MakeSizeAlgorithm(
+      script_state, exception_state);
+  if (exception_state.HadException()) {
+    return;
+  }
+
+  // 13. If readableHighWaterMark is undefined, set readableHighWaterMark to 0.
+  // 14. Set readableHighWaterMark be ? ValidateAndNormalizeHighWaterMark(
+  //     readableHighWaterMark).
+  double readable_high_water_mark = readable_strategy_unpacker.GetHighWaterMark(
+      script_state, 0, exception_state);
+  if (exception_state.HadException()) {
+    return;
+  }
+
+  // 15. Let startPromise be a new promise.
+  auto* start_promise =
+      MakeGarbageCollected<StreamPromiseResolver>(script_state);
+
+  // 16. Perform ! InitializeTransformStream(this, startPromise,
+  //     writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark,
+  //     readableSizeAlgorithm).
+  Initialize(script_state, this, start_promise, writable_high_water_mark,
+             writable_size_algorithm, readable_high_water_mark,
+             readable_size_algorithm);
+
+  // 17. Perform ? SetUpTransformStreamDefaultControllerFromTransformer(this,
+  //     transformer).
+  const auto controller_value =
+      TransformStreamDefaultController::SetUpFromTransformer(
+          script_state, this, transformer, exception_state);
+  if (exception_state.HadException()) {
+    return;
+  }
+
+  // 18. Let startResult be ? InvokeOrNoop(transformer, "start", « this.
+  //     [[transformStreamController]] »).
+  v8::MaybeLocal<v8::Value> start_result_maybe =
+      CallOrNoop1(script_state, transformer, "start", "transformer.start",
+                  controller_value, exception_state);
+  v8::Local<v8::Value> start_result;
+  if (!start_result_maybe.ToLocal(&start_result)) {
+    CHECK(exception_state.HadException());
+    return;
+  }
+  DCHECK(!exception_state.HadException());
+
+  // 19. Resolve startPromise with startResult.
+  start_promise->Resolve(script_state, start_result);
+}
+
+void TransformStreamNative::Trace(Visitor* visitor) {
+  visitor->Trace(backpressure_change_promise_);
+  visitor->Trace(readable_);
+  visitor->Trace(transform_stream_controller_);
+  visitor->Trace(writable_);
+}
+
+// Implements the "an algorithm that returns startPromise" step from
+// InitializeTransformStream():
+// https://streams.spec.whatwg.org/#initialize-transform-stream.
+class TransformStreamNative::ReturnStartPromiseAlgorithm final
+    : public StreamStartAlgorithm {
+ public:
+  explicit ReturnStartPromiseAlgorithm(StreamPromiseResolver* start_promise)
+      : start_promise_(start_promise) {}
+
+  v8::MaybeLocal<v8::Promise> Run(ScriptState* script_state,
+                                  ExceptionState&) override {
+    return start_promise_->V8Promise(script_state->GetIsolate());
+  }
+
+  void Trace(Visitor* visitor) override {
+    visitor->Trace(start_promise_);
+    StreamStartAlgorithm::Trace(visitor);
+  }
+
+ private:
+  Member<StreamPromiseResolver> start_promise_;
+};
+
+//
+// The following algorithms are described as abstract operations in the
+// standard, but need to be implemented as classes in C++ so that the data they
+// store can be traced by the garbage collector correctly.
+//
+class TransformStreamNative::DefaultSinkWriteAlgorithm final
+    : public StreamAlgorithm {
+ public:
+  explicit DefaultSinkWriteAlgorithm(TransformStreamNative* stream)
+      : stream_(stream) {}
+
+  v8::Local<v8::Promise> Run(ScriptState* script_state,
+                             int argc,
+                             v8::Local<v8::Value> argv[]) override {
+    DCHECK_EQ(argc, 1);
+    const auto chunk = argv[0];
+
+    // https://streams.spec.whatwg.org/#transform-stream-default-sink-write-algorithm
+    // 1. Assert: stream.[[writable]].[[state]] is "writable".
+    DCHECK(stream_->writable_->IsWritable());
+
+    // 2. Let controller be stream.[[transformStreamController]].
+    TransformStreamDefaultController* controller =
+        stream_->transform_stream_controller_;
+
+    // 3. If stream.[[backpressure]] is true,
+    if (stream_->had_backpressure_) {
+      // a. Let backpressureChangePromise be
+      //    stream.[[backpressureChangePromise]].
+      StreamPromiseResolver* backpressure_change_promise =
+          stream_->backpressure_change_promise_;
+
+      // b. Assert: backpressureChangePromise is not undefined.
+      DCHECK(backpressure_change_promise);
+
+      class ResponseFunction final : public PromiseHandlerWithValue {
+       public:
+        ResponseFunction(ScriptState* script_state,
+                         TransformStreamNative* stream,
+                         v8::Local<v8::Value> chunk)
+            : PromiseHandlerWithValue(script_state),
+              stream_(stream),
+              chunk_(script_state->GetIsolate(), chunk) {}
+
+        v8::Local<v8::Value> CallWithLocal(v8::Local<v8::Value>) override {
+          auto* script_state = GetScriptState();
+          auto* isolate = script_state->GetIsolate();
+
+          // c. Return the result of transforming backpressureChangePromise with
+          //    a fulfillment handler which performs the following steps:
+          //    i. Let writable be stream.[[writable]].
+          WritableStreamNative* writable = stream_->writable_;
+
+          //   ii. Let state be writable.[[state]].
+          //  iii. If state is "erroring", throw writable.[[storedError]].
+          if (writable->IsErroring()) {
+            return PromiseReject(script_state,
+                                 writable->GetStoredError(isolate));
+          }
+
+          // 4. Assert: state is "writable".
+          DCHECK(writable->IsWritable());
+
+          // 5. Return ! TransformStreamDefaultControllerPerformTransform(
+          //    controller, chunk).
+          return TransformStreamDefaultController::PerformTransform(
+              script_state, stream_->transform_stream_controller_,
+              chunk_.NewLocal(isolate));
+        }
+
+        void Trace(Visitor* visitor) override {
+          visitor->Trace(stream_);
+          visitor->Trace(chunk_);
+          ScriptFunction::Trace(visitor);
+        }
+
+       private:
+        Member<TransformStreamNative> stream_;
+        TraceWrapperV8Reference<v8::Value> chunk_;
+      };
+
+      // c. Return the result of transforming backpressureChangePromise ...
+      return StreamThenPromise(
+          script_state->GetContext(),
+          backpressure_change_promise->V8Promise(script_state->GetIsolate()),
+          MakeGarbageCollected<ResponseFunction>(script_state, stream_, chunk));
+    }
+
+    //  4. Return ! TransformStreamDefaultControllerPerformTransform(controller,
+    //     chunk).
+    return TransformStreamDefaultController::PerformTransform(
+        script_state, controller, chunk);
+  }
+
+  void Trace(Visitor* visitor) override {
+    visitor->Trace(stream_);
+    StreamAlgorithm::Trace(visitor);
+  }
+
+ private:
+  Member<TransformStreamNative> stream_;
+};
+
+class TransformStreamNative::DefaultSinkAbortAlgorithm final
+    : public StreamAlgorithm {
+ public:
+  explicit DefaultSinkAbortAlgorithm(TransformStreamNative* stream)
+      : stream_(stream) {}
+
+  v8::Local<v8::Promise> Run(ScriptState* script_state,
+                             int argc,
+                             v8::Local<v8::Value> argv[]) override {
+    DCHECK_EQ(argc, 1);
+    const auto reason = argv[0];
+
+    // https://streams.spec.whatwg.org/#transform-stream-default-sink-abort-algorithm
+    // 1. Perform ! TransformStreamError(stream, reason).
+    Error(script_state, stream_, reason);
+
+    // 2. Return a promise resolved with undefined.
+    return PromiseResolveWithUndefined(script_state);
+  }
+
+  void Trace(Visitor* visitor) override {
+    visitor->Trace(stream_);
+    StreamAlgorithm::Trace(visitor);
+  }
+
+ private:
+  Member<TransformStreamNative> stream_;
+};
+
+class TransformStreamNative::DefaultSinkCloseAlgorithm final
+    : public StreamAlgorithm {
+ public:
+  explicit DefaultSinkCloseAlgorithm(TransformStreamNative* stream)
+      : stream_(stream) {}
+
+  v8::Local<v8::Promise> Run(ScriptState* script_state,
+                             int argc,
+                             v8::Local<v8::Value> argv[]) override {
+    DCHECK_EQ(argc, 0);
+    // https://streams.spec.whatwg.org/#transform-stream-default-sink-close-algorithm
+    // 1. Let readable be stream.[[readable]].
+    ReadableStreamNative* readable = stream_->readable_;
+
+    // 2. Let controller be stream.[[transformStreamController]].
+    TransformStreamDefaultController* controller =
+        stream_->transform_stream_controller_;
+
+    // 3. Let flushPromise be the result of performing
+    //    controller.[[flushAlgorithm]].
+    auto flush_promise =
+        controller->flush_algorithm_->Run(script_state, 0, nullptr);
+
+    // 4. Perform ! TransformStreamDefaultControllerClearAlgorithms(controller).
+    TransformStreamDefaultController::ClearAlgorithms(controller);
+
+    class ResolveFunction final : public PromiseHandlerWithValue {
+     public:
+      ResolveFunction(ScriptState* script_state, ReadableStreamNative* readable)
+          : PromiseHandlerWithValue(script_state), readable_(readable) {}
+
+      v8::Local<v8::Value> CallWithLocal(v8::Local<v8::Value>) override {
+        // 5. Return the result of transforming flushPromise with:
+        //    a. A fulfillment handler that performs the following steps:
+        //       i. If readable.[[state]] is "errored", throw
+        //          readable.[[storedError]].
+        if (ReadableStreamNative::IsErrored(readable_)) {
+          // Returning a rejection is equivalent to throwing here.
+          return PromiseReject(
+              GetScriptState(),
+              readable_->GetStoredError(GetScriptState()->GetIsolate()));
+        }
+
+        //      ii. Let readableController be
+        //          readable.[[readableStreamController]].
+        auto* readable_controller = readable_->GetController();
+
+        //     iii. If ! ReadableStreamDefaultControllerCanCloseOrEnqueue(
+        //          readableController) is true, perform !
+        //          ReadableStreamDefaultControllerClose(readableController).
+        if (ReadableStreamDefaultController::CanCloseOrEnqueue(
+                readable_controller)) {
+          ReadableStreamDefaultController::Close(GetScriptState(),
+                                                 readable_controller);
+        }
+
+        return v8::Undefined(GetScriptState()->GetIsolate());
+      }
+
+      void Trace(Visitor* visitor) override {
+        visitor->Trace(readable_);
+        PromiseHandlerWithValue::Trace(visitor);
+      }
+
+     private:
+      Member<ReadableStreamNative> readable_;
+    };
+
+    class RejectFunction final : public PromiseHandlerWithValue {
+     public:
+      RejectFunction(ScriptState* script_state, TransformStreamNative* stream)
+          : PromiseHandlerWithValue(script_state), stream_(stream) {}
+
+      v8::Local<v8::Value> CallWithLocal(v8::Local<v8::Value> r) override {
+        // b. A rejection handler that, when called with argument r, performs
+        //    the following steps:
+        //    i. Perform ! TransformStreamError(stream, r).
+        Error(GetScriptState(), stream_, r);
+
+        //   ii. Throw readable.[[storedError]].
+        return PromiseReject(
+            GetScriptState(),
+            stream_->readable_->GetStoredError(GetScriptState()->GetIsolate()));
+      }
+
+      void Trace(Visitor* visitor) override {
+        visitor->Trace(stream_);
+        PromiseHandlerWithValue::Trace(visitor);
+      }
+
+     private:
+      Member<TransformStreamNative> stream_;
+    };
+
+    // 5. Return the result of transforming flushPromise ...
+    return StreamThenPromise(
+        script_state->GetContext(), flush_promise,
+        MakeGarbageCollected<ResolveFunction>(script_state, readable),
+        MakeGarbageCollected<RejectFunction>(script_state, stream_));
+  }
+
+  void Trace(Visitor* visitor) override {
+    visitor->Trace(stream_);
+    StreamAlgorithm::Trace(visitor);
+  }
+
+ private:
+  Member<TransformStreamNative> stream_;
+};
+
+class TransformStreamNative::DefaultSourcePullAlgorithm final
+    : public StreamAlgorithm {
+ public:
+  explicit DefaultSourcePullAlgorithm(TransformStreamNative* stream)
+      : stream_(stream) {}
+
+  v8::Local<v8::Promise> Run(ScriptState* script_state,
+                             int argc,
+                             v8::Local<v8::Value> argv[]) override {
+    DCHECK_EQ(argc, 0);
+
+    // https://streams.spec.whatwg.org/#transform-stream-default-source-pull
+    // 1. Assert: stream.[[backpressure]] is true.
+    DCHECK(stream_->had_backpressure_);
+
+    // 2. Assert: stream.[[backpressureChangePromise]] is not undefined.
+    DCHECK(stream_->backpressure_change_promise_);
+
+    // 3. Perform ! TransformStreamSetBackpressure(stream, false).
+    SetBackpressure(script_state, stream_, false);
+
+    // 4. Return stream.[[backpressureChangePromise]].
+    return stream_->backpressure_change_promise_->V8Promise(
+        script_state->GetIsolate());
+  }
+
+  void Trace(Visitor* visitor) override {
+    visitor->Trace(stream_);
+    StreamAlgorithm::Trace(visitor);
+  }
+
+ private:
+  Member<TransformStreamNative> stream_;
+};
+
+// This algorithm isn't explicitly named in the standard, but instead is
+// described by a step in InitializeTransformStream.
+class TransformStreamNative::DefaultSourceCancelAlgorithm final
+    : public StreamAlgorithm {
+ public:
+  explicit DefaultSourceCancelAlgorithm(TransformStreamNative* stream)
+      : stream_(stream) {}
+
+  v8::Local<v8::Promise> Run(ScriptState* script_state,
+                             int argc,
+                             v8::Local<v8::Value> argv[]) override {
+    DCHECK_EQ(argc, 1);
+
+    // https://streams.spec.whatwg.org/#initialize-transform-stream
+    // 7. Let cancelAlgorithm be the following steps, taking a reason argument:
+    //    a. Perform ! TransformStreamErrorWritableAndUnblockWrite(stream,
+    //       reason).
+    ErrorWritableAndUnblockWrite(script_state, stream_, argv[0]);
+
+    //    b. Return a promise resolved with undefined.
+    return PromiseResolveWithUndefined(script_state);
+  }
+
+  void Trace(Visitor* visitor) override {
+    visitor->Trace(stream_);
+    StreamAlgorithm::Trace(visitor);
+  }
+
+ private:
+  Member<TransformStreamNative> stream_;
+};
+
+void TransformStreamNative::Initialize(
+    ScriptState* script_state,
+    TransformStreamNative* stream,
+    StreamPromiseResolver* start_promise,
+    double writable_high_water_mark,
+    StrategySizeAlgorithm* writable_size_algorithm,
+    double readable_high_water_mark,
+    StrategySizeAlgorithm* readable_size_algorithm) {
+  ExceptionState exception_state(script_state->GetIsolate(),
+                                 ExceptionState::kUnknownContext, "", "");
+
+  // https://streams.spec.whatwg.org/#initialize-transform-stream
+  // 1. Let startAlgorithm be an algorithm that returns startPromise.
+  auto* start_algorithm =
+      MakeGarbageCollected<ReturnStartPromiseAlgorithm>(start_promise);
+
+  // 2. Let writeAlgorithm be the following steps, taking a chunk argument:
+  //    a. Return ! TransformStreamDefaultSinkWriteAlgorithm(stream, chunk).
+  auto* write_algorithm =
+      MakeGarbageCollected<DefaultSinkWriteAlgorithm>(stream);
+
+  // 3. Let abortAlgorithm be the following steps, taking a reason argument:
+  //    a. Return ! TransformStreamDefaultSinkAbortAlgorithm(stream, reason).
+  auto* abort_algorithm =
+      MakeGarbageCollected<DefaultSinkAbortAlgorithm>(stream);
+
+  // 4. Let closeAlgorithm be the following steps:
+  //    a. Return ! TransformStreamDefaultSinkCloseAlgorithm(stream).
+  auto* close_algorithm =
+      MakeGarbageCollected<DefaultSinkCloseAlgorithm>(stream);
+
+  // 5. Set stream.[[writable]] to ! CreateWritableStream(startAlgorithm,
+  //    writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark,
+  //    writableSizeAlgorithm).
+  stream->writable_ = WritableStreamNative::Create(
+      script_state, start_algorithm, write_algorithm, close_algorithm,
+      abort_algorithm, writable_high_water_mark, writable_size_algorithm,
+      exception_state);
+  DCHECK(!exception_state.HadException());
+
+  // 6. Let pullAlgorithm be the following steps:
+  //    a. Return ! TransformStreamDefaultSourcePullAlgorithm(stream).
+  auto* pull_algorithm =
+      MakeGarbageCollected<DefaultSourcePullAlgorithm>(stream);
+
+  // 7. Let cancelAlgorithm be the following steps, taking a reason argument:
+  //    a. Perform ! TransformStreamErrorWritableAndUnblockWrite(stream,
+  //       reason).
+  //    b. Return a promise resolved with undefined.
+  auto* cancel_algorithm =
+      MakeGarbageCollected<DefaultSourceCancelAlgorithm>(stream);
+
+  // 8. Set stream.[[readable]] to ! CreateReadableStream(startAlgorithm,
+  //    pullAlgorithm, cancelAlgorithm, readableHighWaterMark,
+  //    readableSizeAlgorithm).
+  stream->readable_ = ReadableStreamNative::Create(
+      script_state, start_algorithm, pull_algorithm, cancel_algorithm,
+      readable_high_water_mark, readable_size_algorithm, exception_state);
+  DCHECK(!exception_state.HadException());
+
+  //  9. Set stream.[[backpressure]] and stream.[[backpressureChangePromise]] to
+  //     undefined.
+  // 10. Perform ! TransformStreamSetBackpressure(stream, true).
+  // |had_backpressure_| is bool and so can't be set to undefined; instead we
+  // take the equivalent steps to achieve the final result here.
+  DCHECK(stream->had_backpressure_);
+  DCHECK(!stream->backpressure_change_promise_);
+  stream->backpressure_change_promise_ =
+      MakeGarbageCollected<StreamPromiseResolver>(script_state);
+
+  // 11. Set stream.[[transformStreamController]] to undefined.
+  // (This is set by the constructor; just verify the value here).
+  DCHECK_EQ(stream->transform_stream_controller_, nullptr);
+}
+
+void TransformStreamNative::Error(ScriptState* script_state,
+                                  TransformStreamNative* stream,
+                                  v8::Local<v8::Value> e) {
+  // https://streams.spec.whatwg.org/#transform-stream-error
+  // 1. Perform ! ReadableStreamDefaultControllerError(stream.[[readable]].
+  //    [[readableStreamController]], e).
+  ReadableStreamNative* readable = stream->readable_;
+  ReadableStreamDefaultController::Error(script_state,
+                                         readable->GetController(), e);
+
+  // 2. Perform ! TransformStreamErrorWritableAndUnblockWrite(stream, e).
+  ErrorWritableAndUnblockWrite(script_state, stream, e);
+}
+
+void TransformStreamNative::ErrorWritableAndUnblockWrite(
+    ScriptState* script_state,
+    TransformStreamNative* stream,
+    v8::Local<v8::Value> e) {
+  // https://streams.spec.whatwg.org/#transform-stream-error-writable-and-unblock-write
+  // 1. Perform ! TransformStreamDefaultControllerClearAlgorithms(stream.
+  //    [[transformStreamController]]).
+  TransformStreamDefaultController::ClearAlgorithms(
+      stream->transform_stream_controller_);
+
+  // 2. Perform !
+  //    WritableStreamDefaultControllerErrorIfNeeded(stream.[[writable]].
+  //    [[writableStreamController]], e).
+  WritableStreamDefaultController::ErrorIfNeeded(
+      script_state, stream->writable_->Controller(), e);
+
+  // 3. If stream.[[backpressure]] is true, perform !
+  //    TransformStreamSetBackpressure(stream, false).
+  if (stream->had_backpressure_) {
+    SetBackpressure(script_state, stream, false);
+  }
+}
+
+void TransformStreamNative::SetBackpressure(ScriptState* script_state,
+                                            TransformStreamNative* stream,
+                                            bool backpressure) {
+  // https://streams.spec.whatwg.org/#transform-stream-set-backpressure
+  // 1. Assert: stream.[[backpressure]] is not backpressure.
+  DCHECK(stream->had_backpressure_ != backpressure);
+
+  // 2. If stream.[[backpressureChangePromise]] is not undefined, resolve
+  //    stream.[[backpressureChangePromise]] with undefined.
+  // In the standard, [[backpressureChangePromise]] is initialized by calling
+  // this function. However, in this implementation it is initialized in
+  // InitializeTransformStream() without calling this function. As a result,
+  // the function is never called without |backpressure_change_promise_| set
+  // and we don't need to test it.
+  DCHECK(stream->backpressure_change_promise_);
+  stream->backpressure_change_promise_->ResolveWithUndefined(script_state);
+
+  // 3. Set stream.[[backpressureChangePromise]] to a new promise.
+  stream->backpressure_change_promise_ =
+      MakeGarbageCollected<StreamPromiseResolver>(script_state);
+
+  // 4. Set stream.[[backpressure]] to backpressure.
+  stream->had_backpressure_ = backpressure;
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/core/streams/transform_stream_native.h b/third_party/blink/renderer/core/streams/transform_stream_native.h
new file mode 100644
index 0000000..e8275c0
--- /dev/null
+++ b/third_party/blink/renderer/core/streams/transform_stream_native.h
@@ -0,0 +1,127 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFORM_STREAM_NATIVE_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFORM_STREAM_NATIVE_H_
+
+#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
+#include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/platform/heap/heap.h"
+#include "v8/include/v8.h"
+
+namespace blink {
+
+class ExceptionState;
+class ReadableStream;
+class ReadableStreamNative;
+class ScriptState;
+class StrategySizeAlgorithm;
+class StreamAlgorithm;
+class StreamPromiseResolver;
+class StreamStartAlgorithm;
+class TransformStreamDefaultController;
+class TransformStreamTransformer;
+class Visitor;
+class WritableStream;
+class WritableStreamNative;
+
+// Implementation of TransformStream for Blink.  See
+// https://streams.spec.whatwg.org/#ts. The implementation closely follows the
+// standard, except where required for performance or integration with Blink.
+// In particular, classes, methods and abstract operations are implemented in
+// the same order as in the standard, to simplify side-by-side reading.
+
+class CORE_EXPORT TransformStreamNative final
+    : public GarbageCollected<TransformStreamNative> {
+ public:
+  // Implements the interface used by TransformStream to implement the
+  // JS-visible constructor.
+  static void InitFromJS(ScriptState*,
+                         ScriptValue raw_transformer,
+                         ScriptValue raw_writable_strategy,
+                         ScriptValue raw_readable_strategy,
+                         Member<ReadableStream>* readable,
+                         Member<WritableStream>* writable,
+                         ExceptionState&);
+
+  // Creates a TransformStream from a C++ object.
+  static void Init(ScriptState*,
+                   TransformStreamTransformer*,
+                   Member<ReadableStream>*,
+                   Member<WritableStream>*,
+                   ExceptionState&);
+
+  // https://streams.spec.whatwg.org/#create-transform-stream
+  static TransformStreamNative* Create(
+      ScriptState*,
+      StreamStartAlgorithm* start_algorithm,
+      StreamAlgorithm* transform_algorithm,
+      StreamAlgorithm* flush_algorithm,
+      double writable_high_water_mark,
+      StrategySizeAlgorithm* writable_size_algorithm,
+      double readable_high_water_mark,
+      StrategySizeAlgorithm* readable_size_algorithm,
+      ExceptionState&);
+
+  TransformStreamNative();
+
+  TransformStreamNative(ScriptState*,
+                        ScriptValue raw_transformer,
+                        ScriptValue raw_writable_strategy,
+                        ScriptValue raw_readable_strategy,
+                        ExceptionState&);
+
+  void Trace(Visitor*);
+
+ private:
+  friend class TransformStreamDefaultController;
+
+  class ControllerInterface;
+  class FlushAlgorithm;
+  class TransformAlgorithm;
+  class ReturnStartPromiseAlgorithm;
+  class DefaultSinkWriteAlgorithm;
+  class DefaultSinkAbortAlgorithm;
+  class DefaultSinkCloseAlgorithm;
+  class DefaultSourcePullAlgorithm;
+  class DefaultSourceCancelAlgorithm;
+
+  // https://streams.spec.whatwg.org/#initialize-transform-stream
+  static void Initialize(ScriptState*,
+                         TransformStreamNative*,
+                         StreamPromiseResolver* start_promise,
+                         double writable_high_water_mark,
+                         StrategySizeAlgorithm* writable_size_algorithm,
+                         double readable_high_water_mark,
+                         StrategySizeAlgorithm* readable_size_algorithm);
+
+  // https://streams.spec.whatwg.org/#transform-stream-error
+  static void Error(ScriptState*,
+                    TransformStreamNative*,
+                    v8::Local<v8::Value> e);
+
+  // https://streams.spec.whatwg.org/#transform-stream-error-writable-and-unblock-write
+  static void ErrorWritableAndUnblockWrite(ScriptState*,
+                                           TransformStreamNative*,
+                                           v8::Local<v8::Value> e);
+
+  // https://streams.spec.whatwg.org/#transform-stream-set-backpressure
+  static void SetBackpressure(ScriptState*,
+                              TransformStreamNative*,
+                              bool backpressure);
+
+  // The [[backpressure]] internal slot from the standard is here called
+  // |had_backpressure_| to conform to Blink style. The initial value is
+  // *undefined* in the standard, but it is set to *true* by
+  // InitializeTransformStream(), so that is the initial value used here.
+  bool had_backpressure_ = true;
+  Member<StreamPromiseResolver> backpressure_change_promise_;
+  Member<ReadableStreamNative> readable_;
+  Member<TransformStreamDefaultController> transform_stream_controller_;
+  Member<WritableStreamNative> writable_;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFORM_STREAM_NATIVE_H_
diff --git a/third_party/blink/renderer/core/streams/transform_stream_test.cc b/third_party/blink/renderer/core/streams/transform_stream_test.cc
index 95f34cd..3690693 100644
--- a/third_party/blink/renderer/core/streams/transform_stream_test.cc
+++ b/third_party/blink/renderer/core/streams/transform_stream_test.cc
@@ -14,7 +14,6 @@
 #include "third_party/blink/renderer/bindings/core/v8/v8_gc_controller.h"
 #include "third_party/blink/renderer/bindings/core/v8/v8_iterator_result_value.h"
 #include "third_party/blink/renderer/core/streams/readable_stream.h"
-#include "third_party/blink/renderer/core/streams/readable_stream_operations.h"
 #include "third_party/blink/renderer/core/streams/transform_stream_default_controller_interface.h"
 #include "third_party/blink/renderer/core/streams/transform_stream_transformer.h"
 #include "third_party/blink/renderer/core/streams/writable_stream.h"
@@ -23,6 +22,7 @@
 #include "third_party/blink/renderer/platform/bindings/script_state.h"
 #include "third_party/blink/renderer/platform/bindings/to_v8.h"
 #include "third_party/blink/renderer/platform/bindings/v8_binding.h"
+#include "third_party/blink/renderer/platform/testing/runtime_enabled_features_test_helpers.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 #include "v8/include/v8.h"
 
@@ -32,8 +32,10 @@
 using ::testing::_;
 using ::testing::Mock;
 
-class TransformStreamTest : public ::testing::Test {
+class TransformStreamTest : public ::testing::TestWithParam<bool> {
  public:
+  TransformStreamTest() : feature_(GetParam()) {}
+
   TransformStream* Stream() const { return stream_; }
 
   void Init(TransformStreamTransformer* transformer,
@@ -64,6 +66,7 @@
 
  private:
   Persistent<TransformStream> stream_;
+  ScopedStreamsNativeForTest feature_;
 };
 
 class IdentityTransformer final : public TransformStreamTransformer {
@@ -90,14 +93,14 @@
 };
 
 // If this doesn't work then nothing else will.
-TEST_F(TransformStreamTest, Construct) {
+TEST_P(TransformStreamTest, Construct) {
   V8TestingScope scope;
   Init(MakeGarbageCollected<IdentityTransformer>(), scope.GetScriptState(),
        ASSERT_NO_EXCEPTION);
   EXPECT_TRUE(Stream());
 }
 
-TEST_F(TransformStreamTest, Accessors) {
+TEST_P(TransformStreamTest, Accessors) {
   V8TestingScope scope;
   Init(MakeGarbageCollected<IdentityTransformer>(), scope.GetScriptState(),
        ASSERT_NO_EXCEPTION);
@@ -107,7 +110,7 @@
   EXPECT_TRUE(writable);
 }
 
-TEST_F(TransformStreamTest, TransformIsCalled) {
+TEST_P(TransformStreamTest, TransformIsCalled) {
   V8TestingScope scope;
   auto* mock = MakeGarbageCollected<MockTransformStreamTransformer>();
   Init(mock, scope.GetScriptState(), ASSERT_NO_EXCEPTION);
@@ -127,7 +130,7 @@
   Mock::AllowLeak(mock);
 }
 
-TEST_F(TransformStreamTest, FlushIsCalled) {
+TEST_P(TransformStreamTest, FlushIsCalled) {
   V8TestingScope scope;
   auto* mock = MakeGarbageCollected<MockTransformStreamTransformer>();
   Init(mock, scope.GetScriptState(), ASSERT_NO_EXCEPTION);
@@ -256,7 +259,7 @@
   bool* called_;
 };
 
-TEST_F(TransformStreamTest, EnqueueFromTransform) {
+TEST_P(TransformStreamTest, EnqueueFromTransform) {
   V8TestingScope scope;
   auto* script_state = scope.GetScriptState();
   Init(MakeGarbageCollected<IdentityTransformer>(), script_state,
@@ -269,16 +272,17 @@
                         "writer.write('a');\n");
 
   ReadableStream* readable = Stream()->Readable();
-  ScriptValue reader = readable->getReader(script_state, ASSERT_NO_EXCEPTION);
+  auto* read_handle =
+      readable->GetReadHandle(script_state, ASSERT_NO_EXCEPTION);
   bool chunk_seen = false;
-  ReadableStreamOperations::DefaultReaderRead(script_state, reader)
+  read_handle->Read(script_state)
       .Then(ExpectChunkIsString::Create(script_state, "a", &chunk_seen),
             ExpectNotReached::Create(script_state));
   v8::MicrotasksScope::PerformCheckpoint(scope.GetIsolate());
   EXPECT_TRUE(chunk_seen);
 }
 
-TEST_F(TransformStreamTest, EnqueueFromFlush) {
+TEST_P(TransformStreamTest, EnqueueFromFlush) {
   class EnqueueFromFlushTransformer : public TransformStreamTransformer {
    public:
     EnqueueFromFlushTransformer(v8::Local<v8::Object> global,
@@ -310,16 +314,17 @@
                         "writer.close();\n");
 
   ReadableStream* readable = Stream()->Readable();
-  ScriptValue reader = readable->getReader(script_state, ASSERT_NO_EXCEPTION);
+  auto* read_handle =
+      readable->GetReadHandle(script_state, ASSERT_NO_EXCEPTION);
   bool chunkSeen = false;
-  ReadableStreamOperations::DefaultReaderRead(script_state, reader)
+  read_handle->Read(script_state)
       .Then(ExpectChunkIsString::Create(script_state, "a", &chunkSeen),
             ExpectNotReached::Create(script_state));
   v8::MicrotasksScope::PerformCheckpoint(scope.GetIsolate());
   EXPECT_TRUE(chunkSeen);
 }
 
-TEST_F(TransformStreamTest, ThrowFromTransform) {
+TEST_P(TransformStreamTest, ThrowFromTransform) {
   static constexpr char kMessage[] = "errorInTransform";
   class ThrowFromTransformTransformer : public TransformStreamTransformer {
    public:
@@ -344,10 +349,11 @@
                             "writer.write('a');\n");
 
   ReadableStream* readable = Stream()->Readable();
-  ScriptValue reader = readable->getReader(script_state, ASSERT_NO_EXCEPTION);
+  auto* read_handle =
+      readable->GetReadHandle(script_state, ASSERT_NO_EXCEPTION);
   bool readableTypeErrorThrown = false;
   bool writableTypeErrorThrown = false;
-  ReadableStreamOperations::DefaultReaderRead(script_state, reader)
+  read_handle->Read(script_state)
       .Then(ExpectNotReached::Create(script_state),
             ExpectTypeError::Create(script_state, kMessage,
                                     &readableTypeErrorThrown));
@@ -360,7 +366,7 @@
   EXPECT_TRUE(writableTypeErrorThrown);
 }
 
-TEST_F(TransformStreamTest, ThrowFromFlush) {
+TEST_P(TransformStreamTest, ThrowFromFlush) {
   static constexpr char kMessage[] = "errorInFlush";
   class ThrowFromFlushTransformer : public TransformStreamTransformer {
    public:
@@ -385,10 +391,11 @@
                             "writer.close();\n");
 
   ReadableStream* readable = Stream()->Readable();
-  ScriptValue reader = readable->getReader(script_state, ASSERT_NO_EXCEPTION);
+  auto* read_handle =
+      readable->GetReadHandle(script_state, ASSERT_NO_EXCEPTION);
   bool readableTypeErrorThrown = false;
   bool writableTypeErrorThrown = false;
-  ReadableStreamOperations::DefaultReaderRead(script_state, reader)
+  read_handle->Read(script_state)
       .Then(ExpectNotReached::Create(script_state),
             ExpectTypeError::Create(script_state, kMessage,
                                     &readableTypeErrorThrown));
@@ -401,7 +408,7 @@
   EXPECT_TRUE(writableTypeErrorThrown);
 }
 
-TEST_F(TransformStreamTest, CreateFromReadableWritablePair) {
+TEST_P(TransformStreamTest, CreateFromReadableWritablePair) {
   V8TestingScope scope;
   ReadableStream* readable =
       ReadableStream::Create(scope.GetScriptState(), ASSERT_NO_EXCEPTION);
@@ -412,5 +419,7 @@
   EXPECT_EQ(writable, transform.Writable());
 }
 
+INSTANTIATE_TEST_SUITE_P(, TransformStreamTest, ::testing::Values(false, true));
+
 }  // namespace
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/streams/transform_stream_wrapper.h b/third_party/blink/renderer/core/streams/transform_stream_wrapper.h
index 0f26714..022a175c 100644
--- a/third_party/blink/renderer/core/streams/transform_stream_wrapper.h
+++ b/third_party/blink/renderer/core/streams/transform_stream_wrapper.h
@@ -6,6 +6,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFORM_STREAM_WRAPPER_H_
 
 #include "third_party/blink/renderer/bindings/core/v8/script_value.h"
+#include "third_party/blink/renderer/platform/heap/member.h"
 #include "third_party/blink/renderer/platform/wtf/allocator.h"
 #include "v8/include/v8.h"
 
diff --git a/third_party/blink/renderer/core/streams/writable_stream_native.h b/third_party/blink/renderer/core/streams/writable_stream_native.h
index 8907563..64f80fc2 100644
--- a/third_party/blink/renderer/core/streams/writable_stream_native.h
+++ b/third_party/blink/renderer/core/streams/writable_stream_native.h
@@ -158,6 +158,7 @@
   // Accessors for use by other stream classes.
   State GetState() const { return state_; }
   bool IsErrored() const { return state_ == kErrored; }
+  bool IsErroring() const { return state_ == kErroring; }
   bool IsWritable() const { return state_ == kWritable; }
 
   bool HasBackpressure() const { return has_backpressure_; }
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third_party/blink/renderer/core/workers/dedicated_worker.cc
index 60259c5..5990ae3 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker.cc
+++ b/third_party/blink/renderer/core/workers/dedicated_worker.cc
@@ -246,7 +246,6 @@
         script_request_url_, mojom::RequestContextType::WORKER,
         network::mojom::FetchRequestMode::kSameOrigin,
         network::mojom::FetchCredentialsMode::kSameOrigin,
-        GetExecutionContext()->GetSecurityContext().AddressSpace(),
         WTF::Bind(&DedicatedWorker::OnResponse, WrapPersistent(this)),
         WTF::Bind(&DedicatedWorker::OnFinished, WrapPersistent(this)));
     return;
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc b/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc
index 0d8dc7a..46a6ce4 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc
+++ b/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc
@@ -92,7 +92,6 @@
       *this, CreateOutsideSettingsFetcher(outside_settings_object), script_url,
       destination, network::mojom::FetchRequestMode::kSameOrigin,
       network::mojom::FetchCredentialsMode::kSameOrigin,
-      outside_settings_object.GetAddressSpace(),
       WTF::Bind(&DedicatedWorkerGlobalScope::DidReceiveResponseForClassicScript,
                 WrapWeakPersistent(this),
                 WrapPersistent(classic_script_loader)),
diff --git a/third_party/blink/renderer/core/workers/shared_worker_global_scope.cc b/third_party/blink/renderer/core/workers/shared_worker_global_scope.cc
index eea7b44f..6440d36 100644
--- a/third_party/blink/renderer/core/workers/shared_worker_global_scope.cc
+++ b/third_party/blink/renderer/core/workers/shared_worker_global_scope.cc
@@ -83,7 +83,6 @@
       *this, CreateOutsideSettingsFetcher(outside_settings_object), script_url,
       destination, network::mojom::FetchRequestMode::kSameOrigin,
       network::mojom::FetchCredentialsMode::kSameOrigin,
-      outside_settings_object.GetAddressSpace(),
       WTF::Bind(&SharedWorkerGlobalScope::DidReceiveResponseForClassicScript,
                 WrapWeakPersistent(this),
                 WrapPersistent(classic_script_loader)),
diff --git a/third_party/blink/renderer/core/workers/worker_backing_thread.cc b/third_party/blink/renderer/core/workers/worker_backing_thread.cc
index 3ca32526..e7366e7 100644
--- a/third_party/blink/renderer/core/workers/worker_backing_thread.cc
+++ b/third_party/blink/renderer/core/workers/worker_backing_thread.cc
@@ -75,8 +75,6 @@
   AddWorkerIsolate(isolate_);
   V8Initializer::InitializeWorker(isolate_);
 
-  ThreadState::Current()->RegisterTraceDOMWrappers(
-      isolate_, V8GCController::TraceDOMWrappers);
   if (RuntimeEnabledFeatures::V8IdleTasksEnabled()) {
     V8PerIsolateData::EnableIdleTasks(
         isolate_, std::make_unique<V8IdleTaskRunner>(scheduler));
diff --git a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
index e2134f5..d90b74ba 100644
--- a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
+++ b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
@@ -102,8 +102,7 @@
     ExecutionContext& execution_context,
     ResourceFetcher* fetch_client_settings_object_fetcher,
     const KURL& url,
-    mojom::RequestContextType request_context,
-    mojom::IPAddressSpace creation_address_space) {
+    mojom::RequestContextType request_context) {
   DCHECK(fetch_client_settings_object_fetcher);
   url_ = url;
   fetch_client_settings_object_fetcher_ = fetch_client_settings_object_fetcher;
@@ -111,7 +110,9 @@
   ResourceRequest request(url);
   request.SetHttpMethod(http_names::kGET);
   request.SetExternalRequestStateFromRequestorAddressSpace(
-      creation_address_space);
+      fetch_client_settings_object_fetcher_->GetProperties()
+          .GetFetchClientSettingsObject()
+          .GetAddressSpace());
   request.SetRequestContext(request_context);
 
   SECURITY_DCHECK(execution_context.IsWorkerGlobalScope());
@@ -134,7 +135,6 @@
     mojom::RequestContextType request_context,
     network::mojom::FetchRequestMode fetch_request_mode,
     network::mojom::FetchCredentialsMode fetch_credentials_mode,
-    mojom::IPAddressSpace creation_address_space,
     base::OnceClosure response_callback,
     base::OnceClosure finished_callback) {
   DCHECK(fetch_client_settings_object_fetcher);
@@ -150,7 +150,9 @@
   ResourceRequest request(url);
   request.SetHttpMethod(http_names::kGET);
   request.SetExternalRequestStateFromRequestorAddressSpace(
-      creation_address_space);
+      fetch_client_settings_object_fetcher_->GetProperties()
+          .GetFetchClientSettingsObject()
+          .GetAddressSpace());
   request.SetRequestContext(request_context);
   request.SetFetchRequestMode(fetch_request_mode);
   request.SetFetchCredentialsMode(fetch_credentials_mode);
diff --git a/third_party/blink/renderer/core/workers/worker_classic_script_loader.h b/third_party/blink/renderer/core/workers/worker_classic_script_loader.h
index 352c44e..f4f13bd 100644
--- a/third_party/blink/renderer/core/workers/worker_classic_script_loader.h
+++ b/third_party/blink/renderer/core/workers/worker_classic_script_loader.h
@@ -64,8 +64,7 @@
   void LoadSynchronously(ExecutionContext&,
                          ResourceFetcher* fetch_client_settings_object_fetcher,
                          const KURL&,
-                         mojom::RequestContextType,
-                         mojom::IPAddressSpace);
+                         mojom::RequestContextType);
 
   // Note that callbacks could be invoked before
   // LoadTopLevelScriptAsynchronously() returns.
@@ -79,7 +78,6 @@
       mojom::RequestContextType,
       network::mojom::FetchRequestMode,
       network::mojom::FetchCredentialsMode,
-      mojom::IPAddressSpace,
       base::OnceClosure response_callback,
       base::OnceClosure finished_callback);
 
diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.cc b/third_party/blink/renderer/core/workers/worker_global_scope.cc
index 2281433..2ab81ed 100644
--- a/third_party/blink/renderer/core/workers/worker_global_scope.cc
+++ b/third_party/blink/renderer/core/workers/worker_global_scope.cc
@@ -305,11 +305,7 @@
   EnsureFetcher();
   classic_script_loader->LoadSynchronously(*execution_context, Fetcher(),
                                            script_url,
-                                           mojom::RequestContextType::SCRIPT,
-                                           Fetcher()
-                                               ->GetProperties()
-                                               .GetFetchClientSettingsObject()
-                                               .GetAddressSpace());
+                                           mojom::RequestContextType::SCRIPT);
   if (classic_script_loader->Failed())
     return false;
   *out_response_url = classic_script_loader->ResponseURL();
diff --git a/third_party/blink/renderer/devtools/front_end/har_importer/HARFormat.js b/third_party/blink/renderer/devtools/front_end/har_importer/HARFormat.js
index 07a39899..c8178e09 100644
--- a/third_party/blink/renderer/devtools/front_end/har_importer/HARFormat.js
+++ b/third_party/blink/renderer/devtools/front_end/har_importer/HARFormat.js
@@ -73,6 +73,15 @@
       return;
     return value;
   }
+
+  /**
+   * @param {string} name
+   * @return {!Array|undefined}
+   */
+  customAsArray(name) {
+    const value = /** @type {!Object} */ (this)['_' + name];
+    return Array.isArray(value) ? value : undefined;
+  }
 };
 
 // Using any of these classes may throw.
@@ -164,6 +173,8 @@
       this._initiator = new HARImporter.HARInitiator(data['_initiator']);
     this._priority = HARImporter.HARBase._optionalString(data['_priority']);
     this._resourceType = HARImporter.HARBase._optionalString(data['_resourceType']);
+    if (Array.isArray(data['_webSocketMessages']))
+      this._webSocketMessages = data['_webSocketMessages'].map(message => new HARImporter.HARWebSocketMessage(message));
   }
 };
 
@@ -331,3 +342,16 @@
     this.lineNumber = HARImporter.HARBase._optionalNumber(data['lineNumber']);
   }
 };
+
+HARImporter.HARWebSocketMessage = class extends HARImporter.HARBase {
+  /**
+   * @param {*} data
+   */
+  constructor(data) {
+    super(data);
+    this.time = HARImporter.HARBase._optionalNumber(data['time']);
+    this.opcode = HARImporter.HARBase._optionalNumber(data['opcode']);
+    this.data = HARImporter.HARBase._optionalString(data['data']);
+    this.type = HARImporter.HARBase._optionalString(data['type']);
+  }
+};
diff --git a/third_party/blink/renderer/devtools/front_end/har_importer/HARImporter.js b/third_party/blink/renderer/devtools/front_end/har_importer/HARImporter.js
index aa982f44..9d675ef 100644
--- a/third_party/blink/renderer/devtools/front_end/har_importer/HARImporter.js
+++ b/third_party/blink/renderer/devtools/front_end/har_importer/HARImporter.js
@@ -122,6 +122,24 @@
     if (Protocol.Network.ResourcePriority.hasOwnProperty(priority))
       request.setPriority(/** @type {!Protocol.Network.ResourcePriority} */ (priority));
 
+    const messages = entry.customAsArray('webSocketMessages');
+    if (messages) {
+      for (const message of messages) {
+        if (message.time === undefined)
+          continue;
+        if (!Object.values(SDK.NetworkRequest.WebSocketFrameType).includes(message.type))
+          continue;
+        if (message.opcode === undefined)
+          continue;
+        if (message.data === undefined)
+          continue;
+
+        const mask = message.type === SDK.NetworkRequest.WebSocketFrameType.Send;
+        request.addFrame(
+            {time: message.time, text: message.data, opCode: message.opcode, mask: mask, type: message.type});
+      }
+    }
+
     request.finished = true;
   }
 
diff --git a/third_party/blink/renderer/devtools/front_end/network/NetworkLogView.js b/third_party/blink/renderer/devtools/front_end/network/NetworkLogView.js
index b1475ae..eedc90d 100644
--- a/third_party/blink/renderer/devtools/front_end/network/NetworkLogView.js
+++ b/third_party/blink/renderer/devtools/front_end/network/NetworkLogView.js
@@ -402,14 +402,6 @@
   }
 
   /**
-   * @param {!SDK.NetworkRequest} request
-   * @return {boolean}
-   */
-  static FinishedRequestsFilter(request) {
-    return request.finished;
-  }
-
-  /**
    * @param {number} windowStart
    * @param {number} windowEnd
    * @param {!SDK.NetworkRequest} request
@@ -1278,8 +1270,10 @@
   }
 
   _harRequests() {
-    const httpRequests = SDK.networkLog.requests().filter(Network.NetworkLogView.HTTPRequestsFilter);
-    return httpRequests.filter(Network.NetworkLogView.FinishedRequestsFilter);
+    return SDK.networkLog.requests().filter(Network.NetworkLogView.HTTPRequestsFilter).filter(request => {
+      return request.finished ||
+          (request.resourceType() === Common.resourceTypes.WebSocket && request.responseReceivedTime);
+    });
   }
 
   async _copyAll() {
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/HARLog.js b/third_party/blink/renderer/devtools/front_end/sdk/HARLog.js
index 15a4c78..21fa0e7 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/HARLog.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/HARLog.js
@@ -174,14 +174,24 @@
     };
 
     // Chrome specific.
+
     if (harEntry._request.cached())
       entry._fromCache = harEntry._request.cachedInMemory() ? 'memory' : 'disk';
 
     if (harEntry._request.connectionId !== '0')
       entry.connection = harEntry._request.connectionId;
+
     const page = SDK.NetworkLog.PageLoad.forRequest(harEntry._request);
     if (page)
       entry.pageref = 'page_' + page.id;
+
+    if (harEntry._request.resourceType() === Common.resourceTypes.WebSocket) {
+      const messages = [];
+      for (const message of harEntry._request.frames())
+        messages.push({type: message.type, time: message.time, opcode: message.opCode, data: message.text});
+      entry._webSocketMessages = messages;
+    }
+
     return entry;
   }
 
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/NetworkManager.js b/third_party/blink/renderer/devtools/front_end/sdk/NetworkManager.js
index 2956241..4bdd3006 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/NetworkManager.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/NetworkManager.js
@@ -681,7 +681,7 @@
     if (!networkRequest)
       return;
 
-    networkRequest.addFrame(response, time, false);
+    networkRequest.addProtocolFrame(response, time, false);
     networkRequest.responseReceivedTime = time;
 
     this._updateNetworkRequest(networkRequest);
@@ -698,7 +698,7 @@
     if (!networkRequest)
       return;
 
-    networkRequest.addFrame(response, time, true);
+    networkRequest.addProtocolFrame(response, time, true);
     networkRequest.responseReceivedTime = time;
 
     this._updateNetworkRequest(networkRequest);
@@ -715,7 +715,7 @@
     if (!networkRequest)
       return;
 
-    networkRequest.addFrameError(errorMessage, time);
+    networkRequest.addProtocolFrameError(errorMessage, time);
     networkRequest.responseReceivedTime = time;
 
     this._updateNetworkRequest(networkRequest);
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js b/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js
index ad523485..a5f1659 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js
@@ -1195,8 +1195,8 @@
    * @param {string} errorMessage
    * @param {number} time
    */
-  addFrameError(errorMessage, time) {
-    this._addFrame({
+  addProtocolFrameError(errorMessage, time) {
+    this.addFrame({
       type: SDK.NetworkRequest.WebSocketFrameType.Error,
       text: errorMessage,
       time: this.pseudoWallTime(time),
@@ -1210,9 +1210,9 @@
    * @param {number} time
    * @param {boolean} sent
    */
-  addFrame(response, time, sent) {
+  addProtocolFrame(response, time, sent) {
     const type = sent ? SDK.NetworkRequest.WebSocketFrameType.Send : SDK.NetworkRequest.WebSocketFrameType.Receive;
-    this._addFrame({
+    this.addFrame({
       type: type,
       text: response.payloadData,
       time: this.pseudoWallTime(time),
@@ -1224,7 +1224,7 @@
   /**
    * @param {!SDK.NetworkRequest.WebSocketFrame} frame
    */
-  _addFrame(frame) {
+  addFrame(frame) {
     this._frames.push(frame);
     this.dispatchEventToListeners(SDK.NetworkRequest.Events.WebsocketFrameAdded, frame);
   }
diff --git a/third_party/blink/renderer/modules/BUILD.gn b/third_party/blink/renderer/modules/BUILD.gn
index eb6f43aa..80d501c 100644
--- a/third_party/blink/renderer/modules/BUILD.gn
+++ b/third_party/blink/renderer/modules/BUILD.gn
@@ -277,6 +277,7 @@
     "canvas/offscreencanvas/offscreen_canvas_test.cc",
     "credentialmanager/credentials_container_test.cc",
     "credentialmanager/password_credential_test.cc",
+    "csspaint/main_thread_document_paint_definition_test.cc",
     "csspaint/paint_rendering_context_2d_test.cc",
     "csspaint/paint_worklet_global_scope_test.cc",
     "csspaint/paint_worklet_proxy_client_test.cc",
diff --git a/third_party/blink/renderer/modules/accessibility/ax_inline_text_box.cc b/third_party/blink/renderer/modules/accessibility/ax_inline_text_box.cc
index ce49b79..0fd8fa7 100644
--- a/third_party/blink/renderer/modules/accessibility/ax_inline_text_box.cc
+++ b/third_party/blink/renderer/modules/accessibility/ax_inline_text_box.cc
@@ -168,27 +168,27 @@
 }
 
 AXObject* AXInlineTextBox::NextOnLine() const {
+  if (inline_text_box_->IsLast())
+    return ParentObject()->NextOnLine();
+
   scoped_refptr<AbstractInlineTextBox> next_on_line =
       inline_text_box_->NextOnLine();
   if (next_on_line)
     return ax_object_cache_->GetOrCreate(next_on_line.get());
 
-  if (!inline_text_box_->IsLast())
-    return nullptr;
-
-  return ParentObject()->NextOnLine();
+  return nullptr;
 }
 
 AXObject* AXInlineTextBox::PreviousOnLine() const {
+  if (inline_text_box_->IsFirst())
+    return ParentObject()->PreviousOnLine();
+
   scoped_refptr<AbstractInlineTextBox> previous_on_line =
       inline_text_box_->PreviousOnLine();
   if (previous_on_line)
     return ax_object_cache_->GetOrCreate(previous_on_line.get());
 
-  if (!inline_text_box_->IsFirst())
-    return nullptr;
-
-  return ParentObject()->PreviousOnLine();
+  return nullptr;
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc b/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
index b3b8fb2..af1d7f7 100644
--- a/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
+++ b/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
@@ -69,6 +69,7 @@
 #include "third_party/blink/renderer/core/input_type_names.h"
 #include "third_party/blink/renderer/core/layout/api/line_layout_api_shim.h"
 #include "third_party/blink/renderer/core/layout/hit_test_result.h"
+#include "third_party/blink/renderer/core/layout/layout_box.h"
 #include "third_party/blink/renderer/core/layout/layout_file_upload_control.h"
 #include "third_party/blink/renderer/core/layout/layout_html_canvas.h"
 #include "third_party/blink/renderer/core/layout/layout_image.h"
@@ -76,6 +77,7 @@
 #include "third_party/blink/renderer/core/layout/layout_list_item.h"
 #include "third_party/blink/renderer/core/layout/layout_list_marker.h"
 #include "third_party/blink/renderer/core/layout/layout_menu_list.h"
+#include "third_party/blink/renderer/core/layout/layout_replaced.h"
 #include "third_party/blink/renderer/core/layout/layout_table.h"
 #include "third_party/blink/renderer/core/layout/layout_table_cell.h"
 #include "third_party/blink/renderer/core/layout/layout_table_row.h"
@@ -1266,7 +1268,9 @@
     result = NextOnLineInternalNG(*this);
   } else {
     InlineBox* inline_box = nullptr;
-    if (GetLayoutObject()->IsLayoutInline()) {
+    if (GetLayoutObject()->IsBox()) {
+      inline_box = ToLayoutBox(GetLayoutObject())->InlineBoxWrapper();
+    } else if (GetLayoutObject()->IsLayoutInline()) {
       inline_box = ToLayoutInline(GetLayoutObject())->LastLineBox();
     } else if (GetLayoutObject()->IsText()) {
       inline_box = ToLayoutText(GetLayoutObject())->LastTextBox();
@@ -1339,7 +1343,9 @@
     result = PreviousOnLineInlineNG(*this);
   } else {
     InlineBox* inline_box = nullptr;
-    if (GetLayoutObject()->IsLayoutInline()) {
+    if (GetLayoutObject()->IsBox()) {
+      inline_box = ToLayoutBox(GetLayoutObject())->InlineBoxWrapper();
+    } else if (GetLayoutObject()->IsLayoutInline()) {
       inline_box = ToLayoutInline(GetLayoutObject())->FirstLineBox();
     } else if (GetLayoutObject()->IsText()) {
       inline_box = ToLayoutText(GetLayoutObject())->FirstTextBox();
diff --git a/third_party/blink/renderer/modules/accessibility/ax_selection_test.cc b/third_party/blink/renderer/modules/accessibility/ax_selection_test.cc
index c707b80..0121dd4 100644
--- a/third_party/blink/renderer/modules/accessibility/ax_selection_test.cc
+++ b/third_party/blink/renderer/modules/accessibility/ax_selection_test.cc
@@ -1571,7 +1571,11 @@
   RunSelectionTest("list");
 }
 
-TEST_F(AccessibilitySelectionTest, table) {
+TEST_F(AccessibilitySelectionTest, SVG) {
+  RunSelectionTest("svg");
+}
+
+TEST_F(AccessibilitySelectionTest, Table) {
   RunSelectionTest("table");
 }
 
diff --git a/third_party/blink/renderer/modules/accessibility/testing/data/selection/svg-ax.txt b/third_party/blink/renderer/modules/accessibility/testing/data/selection/svg-ax.txt
new file mode 100644
index 0000000..7a736f17
--- /dev/null
+++ b/third_party/blink/renderer/modules/accessibility/testing/data/selection/svg-ax.txt
@@ -0,0 +1,27 @@
+
+================================================================================
+AXSelection from AX text position in "StaticText": "Some text. ", 0 to AX text position in "StaticText": " More text.", 0
+================================================================================
+++<GenericContainer>
+++++<Paragraph>
+^++++++<StaticText: ^Some text. >
+++++++<Image: Square>
+|++++++<StaticText: | More text.>
+
+================================================================================
+AXSelection from AX text position in "StaticText": "Some text. ", 10 to AX text position in "StaticText": " More text.", 1
+================================================================================
+++<GenericContainer>
+++++<Paragraph>
+++++++<StaticText: Some text.^ >
+++++++<Image: Square>
+++++++<StaticText:  |More text.>
+
+================================================================================
+AXSelection from AX text position in "StaticText": "Some text. ", 11 to AX text position in "StaticText": " More text.", 11
+================================================================================
+++<GenericContainer>
+++++<Paragraph>
+++++++<StaticText: Some text. ^>
+++++++<Image: Square>
+++++++<StaticText:  More text.|>
diff --git a/third_party/blink/renderer/modules/accessibility/testing/data/selection/svg.html b/third_party/blink/renderer/modules/accessibility/testing/data/selection/svg.html
new file mode 100644
index 0000000..ae6603a
--- /dev/null
+++ b/third_party/blink/renderer/modules/accessibility/testing/data/selection/svg.html
@@ -0,0 +1,11 @@
+<div contenteditable>
+  <p>^Some text.^
+    ^<img alt="Square"
+        src="data:image/svg+xml;utf8,
+        <svg xmlns='http://www.w3.org/2000/svg'
+            width='9' height='9'>
+          <rect width='9' height='9' fill='green'/>
+        </svg>">|
+    |More text.|
+  </p>
+</div>
diff --git a/third_party/blink/renderer/modules/csspaint/BUILD.gn b/third_party/blink/renderer/modules/csspaint/BUILD.gn
index fe5e7878..c1333741 100644
--- a/third_party/blink/renderer/modules/csspaint/BUILD.gn
+++ b/third_party/blink/renderer/modules/csspaint/BUILD.gn
@@ -14,6 +14,8 @@
     "css_paint_worklet.h",
     "document_paint_definition.cc",
     "document_paint_definition.h",
+    "main_thread_document_paint_definition.cc",
+    "main_thread_document_paint_definition.h",
     "paint_rendering_context_2d.cc",
     "paint_rendering_context_2d.h",
     "paint_size.h",
diff --git a/third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.cc b/third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.cc
new file mode 100644
index 0000000..fd55eff
--- /dev/null
+++ b/third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.cc
@@ -0,0 +1,32 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.h"
+
+#include "third_party/blink/renderer/modules/csspaint/css_paint_definition.h"
+
+namespace blink {
+
+MainThreadDocumentPaintDefinition::MainThreadDocumentPaintDefinition(
+    CSSPaintDefinition* definition)
+    : native_invalidation_properties_(
+          definition->NativeInvalidationProperties()),
+      alpha_(definition->GetPaintRenderingContext2DSettings()->alpha()) {
+  // MainThreadDocumentPaintDefinition is sent cross-thread from the
+  // PaintWorklet thread to the main thread, so we have to make isolated copies
+  // of the custom properties.
+  const Vector<AtomicString>& custom_invalidation_properties =
+      definition->CustomInvalidationProperties();
+  custom_invalidation_properties_.ReserveInitialCapacity(
+      custom_invalidation_properties.size());
+  for (const AtomicString& property : custom_invalidation_properties) {
+    custom_invalidation_properties_.push_back(
+        property.GetString().IsolatedCopy());
+  }
+}
+
+MainThreadDocumentPaintDefinition::~MainThreadDocumentPaintDefinition() =
+    default;
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.h b/third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.h
new file mode 100644
index 0000000..e58309ca
--- /dev/null
+++ b/third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.h
@@ -0,0 +1,49 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_CSSPAINT_MAIN_THREAD_DOCUMENT_PAINT_DEFINITION_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_CSSPAINT_MAIN_THREAD_DOCUMENT_PAINT_DEFINITION_H_
+
+#include "third_party/blink/renderer/core/css/css_property_names.h"
+#include "third_party/blink/renderer/modules/modules_export.h"
+#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
+#include "third_party/blink/renderer/platform/wtf/vector.h"
+
+namespace blink {
+
+class CSSPaintDefinition;
+
+// MainThreadDocumentPaintDefinition is a version of DocumentPaintDefinition for
+// the OffMainThreadCSSPaint project. It is created on the worklet thread and
+// then sent to the main thread, so makes a copy of the input CSSPaintDefinition
+// data when created.
+//
+// MainThreadDocumentPaintDefinition consists of:
+//   * A input properties which is a list of DOMStrings.
+//   * A input argument syntaxes which is a list of parsed CSS Properties and
+//     Values - not currently supported.
+//   * A context alpha flag.
+class MODULES_EXPORT MainThreadDocumentPaintDefinition {
+ public:
+  explicit MainThreadDocumentPaintDefinition(CSSPaintDefinition*);
+  virtual ~MainThreadDocumentPaintDefinition();
+
+  const Vector<CSSPropertyID>& NativeInvalidationProperties() const {
+    return native_invalidation_properties_;
+  }
+  const Vector<String>& CustomInvalidationProperties() const {
+    return custom_invalidation_properties_;
+  }
+
+  double alpha() const { return alpha_; }
+
+ private:
+  Vector<CSSPropertyID> native_invalidation_properties_;
+  Vector<String> custom_invalidation_properties_;
+  double alpha_;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_CSSPAINT_MAIN_THREAD_DOCUMENT_PAINT_DEFINITION_H_
diff --git a/third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition_test.cc b/third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition_test.cc
new file mode 100644
index 0000000..9ac180b
--- /dev/null
+++ b/third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition_test.cc
@@ -0,0 +1,94 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.h"
+
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h"
+#include "third_party/blink/renderer/core/css/css_property_names.h"
+#include "third_party/blink/renderer/core/css/css_syntax_descriptor.h"
+#include "third_party/blink/renderer/modules/csspaint/css_paint_definition.h"
+#include "third_party/blink/renderer/modules/csspaint/paint_rendering_context_2d_settings.h"
+#include "third_party/blink/renderer/platform/heap/heap.h"
+#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
+#include "third_party/blink/renderer/platform/wtf/vector.h"
+
+namespace blink {
+
+TEST(MainThreadDocumentPaintDefinitionTest, NativeInvalidationProperties) {
+  V8TestingScope scope;
+  Vector<CSSPropertyID> native_invalidation_properties = {
+      CSSPropertyID::kColor,
+      CSSPropertyID::kZoom,
+      CSSPropertyID::kTop,
+  };
+  Vector<AtomicString> custom_invalidation_properties;
+  Vector<CSSSyntaxDescriptor> input_argument_types;
+  PaintRenderingContext2DSettings* context_settings =
+      PaintRenderingContext2DSettings::Create();
+  context_settings->setAlpha(true);
+  CSSPaintDefinition* definition = MakeGarbageCollected<CSSPaintDefinition>(
+      scope.GetScriptState(), nullptr, nullptr, native_invalidation_properties,
+      custom_invalidation_properties, input_argument_types, context_settings);
+
+  MainThreadDocumentPaintDefinition document_definition(definition);
+  EXPECT_EQ(document_definition.NativeInvalidationProperties().size(), 3u);
+  for (size_t i = 0; i < 3; i++) {
+    EXPECT_EQ(native_invalidation_properties[i],
+              document_definition.NativeInvalidationProperties()[i]);
+  }
+}
+
+TEST(MainThreadDocumentPaintDefinitionTest, CustomInvalidationProperties) {
+  V8TestingScope scope;
+  Vector<CSSPropertyID> native_invalidation_properties;
+  Vector<AtomicString> custom_invalidation_properties = {
+      "--my-property",
+      "--another-property",
+  };
+  Vector<CSSSyntaxDescriptor> input_argument_types;
+  PaintRenderingContext2DSettings* context_settings =
+      PaintRenderingContext2DSettings::Create();
+  context_settings->setAlpha(true);
+  CSSPaintDefinition* definition = MakeGarbageCollected<CSSPaintDefinition>(
+      scope.GetScriptState(), /*constructor=*/nullptr, /*paint=*/nullptr,
+      native_invalidation_properties, custom_invalidation_properties,
+      input_argument_types, context_settings);
+
+  MainThreadDocumentPaintDefinition document_definition(definition);
+  EXPECT_EQ(document_definition.CustomInvalidationProperties().size(), 2u);
+  // Since the native_invalidation_properties are AtomicStrings,
+  // MainThreadDocumentPaintDefinition needs to copy them to make it safe to be
+  // sent to another thread.
+  for (size_t i = 0; i < 2; i++) {
+    EXPECT_TRUE(document_definition.CustomInvalidationProperties()[i]
+                    .IsSafeToSendToAnotherThread());
+    EXPECT_EQ(custom_invalidation_properties[i],
+              document_definition.CustomInvalidationProperties()[i]);
+  }
+}
+
+TEST(MainThreadDocumentPaintDefinitionTest, Alpha) {
+  V8TestingScope scope;
+  Vector<CSSPropertyID> native_invalidation_properties;
+  Vector<AtomicString> custom_invalidation_properties;
+  Vector<CSSSyntaxDescriptor> input_argument_types;
+  PaintRenderingContext2DSettings* context_settings =
+      PaintRenderingContext2DSettings::Create();
+  context_settings->setAlpha(true);
+  CSSPaintDefinition* definition = MakeGarbageCollected<CSSPaintDefinition>(
+      scope.GetScriptState(), /*constructor=*/nullptr, /*paint=*/nullptr,
+      native_invalidation_properties, custom_invalidation_properties,
+      input_argument_types, context_settings);
+
+  MainThreadDocumentPaintDefinition document_definition_with_alpha(definition);
+  context_settings->setAlpha(false);
+  MainThreadDocumentPaintDefinition document_definition_without_alpha(
+      definition);
+
+  EXPECT_TRUE(document_definition_with_alpha.alpha());
+  EXPECT_FALSE(document_definition_without_alpha.alpha());
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet.cc b/third_party/blink/renderer/modules/csspaint/paint_worklet.cc
index 08b668f..cd0fbe1e 100644
--- a/third_party/blink/renderer/modules/csspaint/paint_worklet.cc
+++ b/third_party/blink/renderer/modules/csspaint/paint_worklet.cc
@@ -101,8 +101,7 @@
                                          const ImageResourceObserver& observer,
                                          const FloatSize& container_size,
                                          const CSSStyleValueVector* data) {
-  if (RuntimeEnabledFeatures::OffMainThreadCSSPaintEnabled())
-    return nullptr;
+  DCHECK(!RuntimeEnabledFeatures::OffMainThreadCSSPaintEnabled());
 
   if (!document_definition_map_.Contains(name))
     return nullptr;
@@ -146,6 +145,14 @@
   Supplement<LocalDOMWindow>::Trace(visitor);
 }
 
+void PaintWorklet::RegisterMainThreadDocumentPaintDefinition(
+    const String& name,
+    std::unique_ptr<MainThreadDocumentPaintDefinition> definition) {
+  DCHECK(!main_thread_document_definition_map_.Contains(name));
+  main_thread_document_definition_map_.insert(name, std::move(definition));
+  pending_generator_registry_->NotifyGeneratorReady(name);
+}
+
 bool PaintWorklet::NeedsToCreateGlobalScope() {
   return GetNumberOfGlobalScopes() < kNumGlobalScopes;
 }
diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet.h b/third_party/blink/renderer/modules/csspaint/paint_worklet.h
index df9201c..4c91a48 100644
--- a/third_party/blink/renderer/modules/csspaint/paint_worklet.h
+++ b/third_party/blink/renderer/modules/csspaint/paint_worklet.h
@@ -8,6 +8,7 @@
 #include "base/macros.h"
 #include "third_party/blink/renderer/core/workers/worklet.h"
 #include "third_party/blink/renderer/modules/csspaint/document_paint_definition.h"
+#include "third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.h"
 #include "third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.h"
 #include "third_party/blink/renderer/modules/csspaint/paint_worklet_pending_generator_registry.h"
 #include "third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client.h"
@@ -43,13 +44,26 @@
                              const FloatSize& container_size,
                              const CSSStyleValueVector*);
 
+  int WorkletId() const { return worklet_id_; }
+  void Trace(blink::Visitor*) override;
+
+  // Used for main-thread CSS Paint. The DocumentDefinitionMap tracks
+  // definitions registered via registerProperty; definitions are only
+  // considered valid once all global scopes have registered the same definition
+  // for the same thread.
   typedef HeapHashMap<String, Member<DocumentPaintDefinition>>
       DocumentDefinitionMap;
   DocumentDefinitionMap& GetDocumentDefinitionMap() {
     return document_definition_map_;
   }
-  int WorkletId() const { return worklet_id_; }
-  void Trace(blink::Visitor*) override;
+
+  // Used for off-thread CSS Paint. In this mode we are not responsible for
+  // tracking whether a definition is valid - this method should only be called
+  // once all global scopes have registered the same
+  // |MainThreadDocumentPaintDefinition| for the same |name|.
+  void RegisterMainThreadDocumentPaintDefinition(
+      const String& name,
+      std::unique_ptr<MainThreadDocumentPaintDefinition>);
 
  protected:
   // Since paint worklet has more than one global scope, we MUST override this
@@ -92,6 +106,10 @@
   // to ensure that all global scopes get the same proxy client.
   Member<PaintWorkletProxyClient> proxy_client_;
 
+  // Used in off-thread CSS Paint, where it tracks valid definitions.
+  HashMap<String, std::unique_ptr<MainThreadDocumentPaintDefinition>>
+      main_thread_document_definition_map_;
+
   DISALLOW_COPY_AND_ASSIGN(PaintWorklet);
 };
 
diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.cc b/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.cc
index 8f872e7c..065a744 100644
--- a/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.cc
+++ b/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.cc
@@ -220,9 +220,11 @@
       input_argument_types, context_settings);
   paint_definitions_.Set(name, definition);
 
-  // TODO(xidachen): the following steps should be done with a PostTask when
-  // we move PaintWorklet off main thread.
-  if (!RuntimeEnabledFeatures::OffMainThreadCSSPaintEnabled()) {
+  if (RuntimeEnabledFeatures::OffMainThreadCSSPaintEnabled()) {
+    PaintWorkletProxyClient* proxy_client =
+        PaintWorkletProxyClient::From(Clients());
+    proxy_client->RegisterCSSPaintDefinition(name, definition, exception_state);
+  } else {
     PaintWorklet* paint_worklet =
         PaintWorklet::From(*GetFrame()->GetDocument()->domWindow());
     PaintWorklet::DocumentDefinitionMap& document_definition_map =
diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_test.cc b/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_test.cc
index c7e7b380..393825a8 100644
--- a/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_test.cc
+++ b/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_test.cc
@@ -36,7 +36,7 @@
 
     dispatcher_ = base::MakeRefCounted<PaintWorkletPaintDispatcher>();
     proxy_client_ =
-        MakeGarbageCollected<PaintWorkletProxyClient>(1, dispatcher_);
+        MakeGarbageCollected<PaintWorkletProxyClient>(1, nullptr, dispatcher_);
     reporting_proxy_ = std::make_unique<WorkerReportingProxy>();
   }
 
diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client.cc b/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client.cc
index 915f8cb..063505a 100644
--- a/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client.cc
+++ b/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client.cc
@@ -11,6 +11,7 @@
 #include "third_party/blink/renderer/core/frame/web_local_frame_impl.h"
 #include "third_party/blink/renderer/core/workers/worker_thread.h"
 #include "third_party/blink/renderer/modules/csspaint/css_paint_definition.h"
+#include "third_party/blink/renderer/modules/csspaint/main_thread_document_paint_definition.h"
 #include "third_party/blink/renderer/modules/csspaint/paint_worklet.h"
 #include "third_party/blink/renderer/platform/cross_thread_functional.h"
 #include "third_party/blink/renderer/platform/graphics/image.h"
@@ -26,23 +27,27 @@
                                                          int worklet_id) {
   WebLocalFrameImpl* local_frame =
       WebLocalFrameImpl::FromFrame(document->GetFrame());
-
+  PaintWorklet* paint_worklet = PaintWorklet::From(*document->domWindow());
   scoped_refptr<PaintWorkletPaintDispatcher> compositor_painter_dispatcher =
       local_frame->LocalRootFrameWidget()->EnsureCompositorPaintDispatcher();
   return MakeGarbageCollected<PaintWorkletProxyClient>(
-      worklet_id, std::move(compositor_painter_dispatcher));
+      worklet_id, paint_worklet, std::move(compositor_painter_dispatcher));
 }
 
 PaintWorkletProxyClient::PaintWorkletProxyClient(
     int worklet_id,
+    PaintWorklet* paint_worklet,
     scoped_refptr<PaintWorkletPaintDispatcher> compositor_paintee)
     : compositor_paintee_(std::move(compositor_paintee)),
       worklet_id_(worklet_id),
-      state_(RunState::kUninitialized) {
+      state_(RunState::kUninitialized),
+      main_thread_runner_(Thread::MainThread()->GetTaskRunner()),
+      paint_worklet_(paint_worklet) {
   DCHECK(IsMainThread());
 }
 
 void PaintWorkletProxyClient::Trace(blink::Visitor* visitor) {
+  visitor->Trace(document_definition_map_);
   Supplement<WorkerClients>::Trace(visitor);
   PaintWorkletPainter::Trace(visitor);
 }
@@ -71,6 +76,44 @@
   compositor_paintee_->RegisterPaintWorkletPainter(this, global_scope_runner);
 }
 
+void PaintWorkletProxyClient::RegisterCSSPaintDefinition(
+    const String& name,
+    CSSPaintDefinition* definition,
+    ExceptionState& exception_state) {
+  DocumentPaintDefinition* document_definition;
+  if (document_definition_map_.Contains(name)) {
+    document_definition = document_definition_map_.at(name);
+    if (document_definition == kInvalidDocumentPaintDefinition)
+      return;
+    if (!document_definition->RegisterAdditionalPaintDefinition(*definition)) {
+      document_definition_map_.Set(name, kInvalidDocumentPaintDefinition);
+      exception_state.ThrowDOMException(
+          DOMExceptionCode::kNotSupportedError,
+          "A class with name:'" + name +
+              "' was registered with a different definition.");
+      return;
+    }
+  } else {
+    document_definition =
+        MakeGarbageCollected<DocumentPaintDefinition>(definition);
+    document_definition_map_.Set(name, document_definition);
+  }
+
+  // Notify the main thread only once all global scopes have registered the same
+  // named paint definition (with the same definition as well).
+  if (document_definition->GetRegisteredDefinitionCount() ==
+      PaintWorklet::kNumGlobalScopes) {
+    auto main_thread_definition =
+        std::make_unique<MainThreadDocumentPaintDefinition>(definition);
+    PostCrossThreadTask(
+        *main_thread_runner_, FROM_HERE,
+        CrossThreadBind(
+            &PaintWorklet::RegisterMainThreadDocumentPaintDefinition,
+            paint_worklet_, name,
+            WTF::Passed(std::move(main_thread_definition))));
+  }
+}
+
 void PaintWorkletProxyClient::Dispose() {
   if (state_ == RunState::kWorking) {
     compositor_paintee_->UnregisterPaintWorkletPainter(this);
diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client.h b/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client.h
index d7d5f311..9657633 100644
--- a/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client.h
+++ b/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client.h
@@ -38,6 +38,7 @@
 
   PaintWorkletProxyClient(
       int worklet_id,
+      PaintWorklet*,
       scoped_refptr<PaintWorkletPaintDispatcher> compositor_paintee);
   ~PaintWorkletProxyClient() override = default;
 
@@ -52,10 +53,28 @@
   GetGlobalScopesForTesting() const {
     return global_scopes_;
   }
+
+  void RegisterCSSPaintDefinition(const String& name,
+                                  CSSPaintDefinition*,
+                                  ExceptionState&);
+
   void Dispose();
 
   static PaintWorkletProxyClient* From(WorkerClients*);
 
+  const HeapHashMap<String, Member<DocumentPaintDefinition>>&
+  DocumentDefinitionMapForTesting() const {
+    return document_definition_map_;
+  }
+  scoped_refptr<base::SingleThreadTaskRunner> MainThreadTaskRunnerForTesting()
+      const {
+    return main_thread_runner_;
+  }
+  void SetMainThreadTaskRunnerForTesting(
+      scoped_refptr<base::SingleThreadTaskRunner> runner) {
+    main_thread_runner_ = runner;
+  }
+
  private:
   friend class PaintWorkletGlobalScopeTest;
   friend class PaintWorkletProxyClientTest;
@@ -66,6 +85,14 @@
   const int worklet_id_;
   Vector<CrossThreadPersistent<PaintWorkletGlobalScope>> global_scopes_;
   enum RunState { kUninitialized, kWorking, kDisposed } state_;
+
+  // Stores the definitions for each paint that is registered.
+  HeapHashMap<String, Member<DocumentPaintDefinition>> document_definition_map_;
+
+  // Used for OffMainThreadPaintWorklet; we post to the main-thread PaintWorklet
+  // instance to store the definitions for each paint that is registered.
+  scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner_;
+  CrossThreadWeakPersistent<PaintWorklet> paint_worklet_;
 };
 
 void MODULES_EXPORT ProvidePaintWorkletProxyClientTo(WorkerClients*,
diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client_test.cc b/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client_test.cc
index bcd763c..081c7722 100644
--- a/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client_test.cc
+++ b/third_party/blink/renderer/modules/csspaint/paint_worklet_proxy_client_test.cc
@@ -30,42 +30,12 @@
     RenderingTest::SetUp();
     dispatcher_ = base::MakeRefCounted<PaintWorkletPaintDispatcher>();
 
-    proxy_client_ =
-        MakeGarbageCollected<PaintWorkletProxyClient>(1, dispatcher_);
+    paint_worklet_ = MakeGarbageCollected<PaintWorklet>(&GetFrame());
+    proxy_client_ = MakeGarbageCollected<PaintWorkletProxyClient>(
+        1, paint_worklet_, dispatcher_);
     reporting_proxy_ = std::make_unique<WorkerReportingProxy>();
   }
 
-  void RunAddGlobalScopesTest(WorkerThread* thread,
-                              PaintWorkletProxyClient* proxy_client,
-                              base::WaitableEvent* waitable_event) {
-    // For this test, we cheat and reuse the same global scope object from a
-    // single WorkerThread. In real code these would be different global scopes.
-
-    // First, add all but one of the global scopes. The proxy client should not
-    // yet register itself.
-    for (size_t i = 0; i < PaintWorklet::kNumGlobalScopes - 1; i++) {
-      proxy_client->AddGlobalScope(
-          To<WorkletGlobalScope>(thread->GlobalScope()));
-    }
-
-    EXPECT_EQ(proxy_client->global_scopes_.size(),
-              PaintWorklet::kNumGlobalScopes - 1);
-    EXPECT_EQ(dispatcher_->painter_map_.size(), 0u);
-
-    // Now add the final global scope. This should trigger the registration.
-    proxy_client->AddGlobalScope(To<WorkletGlobalScope>(thread->GlobalScope()));
-    EXPECT_EQ(proxy_client->global_scopes_.size(),
-              PaintWorklet::kNumGlobalScopes);
-    EXPECT_EQ(dispatcher_->painter_map_.size(), 1u);
-
-    waitable_event->Signal();
-  }
-
-  using TestCallback =
-      void (PaintWorkletProxyClientTest::*)(WorkerThread*,
-                                            PaintWorkletProxyClient*,
-                                            base::WaitableEvent*);
-
   void AddGlobalScopeOnWorkletThread(WorkerThread* worker_thread,
                                      PaintWorkletProxyClient* proxy_client,
                                      base::WaitableEvent* waitable_event) {
@@ -80,6 +50,10 @@
     waitable_event->Signal();
   }
 
+  using TestCallback = void (*)(WorkerThread*,
+                                PaintWorkletProxyClient*,
+                                base::WaitableEvent*);
+
   void RunMultipleGlobalScopeTestsOnWorklet(TestCallback callback) {
     // PaintWorklet is stateless, and this is enforced via having multiple
     // global scopes (which are switched between). To mimic the real world,
@@ -112,8 +86,7 @@
     PostCrossThreadTask(
         *worklet_threads[0]->GetTaskRunner(TaskType::kInternalTest), FROM_HERE,
         CrossThreadBind(
-            callback, CrossThreadUnretained(this),
-            CrossThreadUnretained(worklet_threads[0].get()),
+            callback, CrossThreadUnretained(worklet_threads[0].get()),
             CrossThreadPersistent<PaintWorkletProxyClient>(proxy_client_),
             CrossThreadUnretained(&waitable_event)));
     waitable_event.Wait();
@@ -125,53 +98,55 @@
     }
   }
 
-  void RunPaintOnWorklet(WorkerThread* thread,
-                         PaintWorkletProxyClient* proxy_client,
-                         base::WaitableEvent* waitable_event) {
-    // Assert that all global scopes have been registered. Note that we don't
-    // use ASSERT_EQ here as that would crash the worklet thread and the test
-    // would timeout rather than fail.
-    EXPECT_EQ(proxy_client->GetGlobalScopesForTesting().size(),
-              PaintWorklet::kNumGlobalScopes);
-
-    // Register the painter on all global scopes.
-    for (const auto& global_scope : proxy_client->GetGlobalScopesForTesting()) {
-      global_scope->ScriptController()->Evaluate(
-          ScriptSourceCode("registerPaint('foo', class { paint() { } });"),
-          SanitizeScriptErrors::kDoNotSanitize);
-    }
-
-    PaintWorkletStylePropertyMap::CrossThreadData data;
-    scoped_refptr<PaintWorkletInput> input =
-        base::MakeRefCounted<PaintWorkletInput>("foo", FloatSize(100, 100),
-                                                1.0f, 1, std::move(data));
-    sk_sp<PaintRecord> record = proxy_client->Paint(input.get());
-    EXPECT_NE(record, nullptr);
-
-    waitable_event->Signal();
-  }
-
   scoped_refptr<PaintWorkletPaintDispatcher> dispatcher_;
+  Persistent<PaintWorklet> paint_worklet_;
   Persistent<PaintWorkletProxyClient> proxy_client_;
   std::unique_ptr<WorkerReportingProxy> reporting_proxy_;
 };
 
 TEST_F(PaintWorkletProxyClientTest, PaintWorkletProxyClientConstruction) {
   PaintWorkletProxyClient* proxy_client =
-      MakeGarbageCollected<PaintWorkletProxyClient>(1, nullptr);
+      MakeGarbageCollected<PaintWorkletProxyClient>(1, nullptr, nullptr);
   EXPECT_EQ(proxy_client->worklet_id_, 1);
   EXPECT_EQ(proxy_client->compositor_paintee_, nullptr);
 
   scoped_refptr<PaintWorkletPaintDispatcher> dispatcher =
       base::MakeRefCounted<PaintWorkletPaintDispatcher>();
 
-  proxy_client =
-      MakeGarbageCollected<PaintWorkletProxyClient>(1, std::move(dispatcher));
+  proxy_client = MakeGarbageCollected<PaintWorkletProxyClient>(
+      1, nullptr, std::move(dispatcher));
   EXPECT_EQ(proxy_client->worklet_id_, 1);
   EXPECT_NE(proxy_client->compositor_paintee_, nullptr);
 }
 
-TEST_F(PaintWorkletProxyClientTest, AddGlobalScope) {
+void RunAddGlobalScopesTestOnWorklet(
+    WorkerThread* thread,
+    PaintWorkletProxyClient* proxy_client,
+    scoped_refptr<PaintWorkletPaintDispatcher> dispatcher,
+    base::WaitableEvent* waitable_event) {
+  // For this test, we cheat and reuse the same global scope object from a
+  // single WorkerThread. In real code these would be different global scopes.
+
+  // First, add all but one of the global scopes. The proxy client should not
+  // yet register itself.
+  for (size_t i = 0; i < PaintWorklet::kNumGlobalScopes - 1; i++) {
+    proxy_client->AddGlobalScope(To<WorkletGlobalScope>(thread->GlobalScope()));
+  }
+
+  EXPECT_EQ(proxy_client->GetGlobalScopesForTesting().size(),
+            PaintWorklet::kNumGlobalScopes - 1);
+  EXPECT_EQ(dispatcher->PainterMapForTesting().size(), 0u);
+
+  // Now add the final global scope. This should trigger the registration.
+  proxy_client->AddGlobalScope(To<WorkletGlobalScope>(thread->GlobalScope()));
+  EXPECT_EQ(proxy_client->GetGlobalScopesForTesting().size(),
+            PaintWorklet::kNumGlobalScopes);
+  EXPECT_EQ(dispatcher->PainterMapForTesting().size(), 1u);
+
+  waitable_event->Signal();
+}
+
+TEST_F(PaintWorkletProxyClientTest, AddGlobalScopes) {
   ScopedOffMainThreadCSSPaintForTest off_main_thread_css_paint(true);
   // Global scopes must be created on worker threads.
   std::unique_ptr<WorkerThread> worklet_thread =
@@ -184,21 +159,218 @@
   PostCrossThreadTask(
       *worklet_thread->GetTaskRunner(TaskType::kInternalTest), FROM_HERE,
       CrossThreadBind(
-          &PaintWorkletProxyClientTest::RunAddGlobalScopesTest,
-          CrossThreadUnretained(this),
+          &RunAddGlobalScopesTestOnWorklet,
           CrossThreadUnretained(worklet_thread.get()),
           CrossThreadPersistent<PaintWorkletProxyClient>(proxy_client_),
-          CrossThreadUnretained(&waitable_event)));
+          dispatcher_, CrossThreadUnretained(&waitable_event)));
   waitable_event.Wait();
 
   worklet_thread->Terminate();
   worklet_thread->WaitForShutdownForTesting();
 }
 
+void RunPaintTestOnWorklet(WorkerThread* thread,
+                           PaintWorkletProxyClient* proxy_client,
+                           base::WaitableEvent* waitable_event) {
+  // Assert that all global scopes have been registered. Note that we don't
+  // use ASSERT_EQ here as that would crash the worklet thread and the test
+  // would timeout rather than fail.
+  EXPECT_EQ(proxy_client->GetGlobalScopesForTesting().size(),
+            PaintWorklet::kNumGlobalScopes);
+
+  // Register the painter on all global scopes.
+  for (const auto& global_scope : proxy_client->GetGlobalScopesForTesting()) {
+    global_scope->ScriptController()->Evaluate(
+        ScriptSourceCode("registerPaint('foo', class { paint() { } });"),
+        SanitizeScriptErrors::kDoNotSanitize);
+  }
+
+  PaintWorkletStylePropertyMap::CrossThreadData data;
+  scoped_refptr<PaintWorkletInput> input =
+      base::MakeRefCounted<PaintWorkletInput>("foo", FloatSize(100, 100), 1.0f,
+                                              1, std::move(data));
+  sk_sp<PaintRecord> record = proxy_client->Paint(input.get());
+  EXPECT_NE(record, nullptr);
+
+  waitable_event->Signal();
+}
+
 TEST_F(PaintWorkletProxyClientTest, Paint) {
   ScopedOffMainThreadCSSPaintForTest off_main_thread_css_paint(true);
+  RunMultipleGlobalScopeTestsOnWorklet(&RunPaintTestOnWorklet);
+}
+
+void RunDefinitionsMustBeCompatibleTestOnWorklet(
+    WorkerThread* thread,
+    PaintWorkletProxyClient* proxy_client,
+    base::WaitableEvent* waitable_event) {
+  // Assert that all global scopes have been registered. Note that we don't
+  // use ASSERT_EQ here as that would crash the worklet thread and the test
+  // would timeout rather than fail.
+  EXPECT_EQ(proxy_client->GetGlobalScopesForTesting().size(),
+            PaintWorklet::kNumGlobalScopes);
+
+  // This test doesn't make sense if there's only one global scope!
+  EXPECT_GT(PaintWorklet::kNumGlobalScopes, 1u);
+
+  const Vector<CrossThreadPersistent<PaintWorkletGlobalScope>>& global_scopes =
+      proxy_client->GetGlobalScopesForTesting();
+
+  // Things that can be different: alpha different, native properties
+  // different, custom properties different, input type args different.
+  const HeapHashMap<String, Member<DocumentPaintDefinition>>&
+      document_definition_map = proxy_client->DocumentDefinitionMapForTesting();
+
+  // Differing native properties.
+  global_scopes[0]->ScriptController()->Evaluate(
+      ScriptSourceCode(R"JS(registerPaint('test1', class {
+        static get inputProperties() { return ['border-image', 'color']; }
+        paint() { }
+      });)JS"),
+      SanitizeScriptErrors::kDoNotSanitize);
+  EXPECT_NE(document_definition_map.at("test1"), nullptr);
+  global_scopes[1]->ScriptController()->Evaluate(
+      ScriptSourceCode(R"JS(registerPaint('test1', class {
+        static get inputProperties() { return ['left']; }
+        paint() { }
+      });)JS"),
+      SanitizeScriptErrors::kDoNotSanitize);
+  EXPECT_EQ(document_definition_map.at("test1"), nullptr);
+
+  // Differing custom properties.
+  global_scopes[0]->ScriptController()->Evaluate(
+      ScriptSourceCode(R"JS(registerPaint('test2', class {
+        static get inputProperties() { return ['--foo', '--bar']; }
+        paint() { }
+      });)JS"),
+      SanitizeScriptErrors::kDoNotSanitize);
+  EXPECT_NE(document_definition_map.at("test2"), nullptr);
+  global_scopes[1]->ScriptController()->Evaluate(
+      ScriptSourceCode(R"JS(registerPaint('test2', class {
+        static get inputProperties() { return ['--zoinks']; }
+        paint() { }
+      });)JS"),
+      SanitizeScriptErrors::kDoNotSanitize);
+  EXPECT_EQ(document_definition_map.at("test2"), nullptr);
+
+  // Differing alpha values. The default is 'true'.
+  global_scopes[0]->ScriptController()->Evaluate(
+      ScriptSourceCode("registerPaint('test3', class { paint() { } });"),
+      SanitizeScriptErrors::kDoNotSanitize);
+  EXPECT_NE(document_definition_map.at("test3"), nullptr);
+  global_scopes[1]->ScriptController()->Evaluate(
+      ScriptSourceCode(R"JS(registerPaint('test3', class {
+        static get contextOptions() { return {alpha: false}; }
+        paint() { }
+      });)JS"),
+      SanitizeScriptErrors::kDoNotSanitize);
+  EXPECT_EQ(document_definition_map.at("test3"), nullptr);
+
+  waitable_event->Signal();
+}
+
+TEST_F(PaintWorkletProxyClientTest, DefinitionsMustBeCompatible) {
+  ScopedOffMainThreadCSSPaintForTest off_main_thread_css_paint(true);
   RunMultipleGlobalScopeTestsOnWorklet(
-      &PaintWorkletProxyClientTest::RunPaintOnWorklet);
+      &RunDefinitionsMustBeCompatibleTestOnWorklet);
+}
+
+namespace {
+// Calling registerPaint can cause the PaintWorkletProxyClient to post back from
+// the worklet thread to the main thread. This is safe in the general case,
+// since the task will just queue up to run after the test has finished, but
+// the following tests want to know whether or not the task has posted; this
+// class provides that information.
+class ScopedFakePaintWorkletProxyClientTaskRunner {
+ private:
+  class FakeTaskRunner;
+
+ public:
+  ScopedFakePaintWorkletProxyClientTaskRunner(
+      PaintWorkletProxyClient* proxy_client)
+      : proxy_client_(proxy_client), fake_task_runner_(new FakeTaskRunner) {
+    original_task_runner_ = proxy_client->MainThreadTaskRunnerForTesting();
+    proxy_client_->SetMainThreadTaskRunnerForTesting(fake_task_runner_);
+  }
+
+  ~ScopedFakePaintWorkletProxyClientTaskRunner() {
+    proxy_client_->SetMainThreadTaskRunnerForTesting(original_task_runner_);
+  }
+
+  void ResetTaskHasBeenPosted() { fake_task_runner_->task_posted_ = false; }
+  bool TaskHasBeenPosted() const { return fake_task_runner_->task_posted_; }
+
+ private:
+  // The PaintWorkletProxyClient is held on the main test thread, but we are
+  // constructed on the worklet thread so we have to hold the client reference
+  // in a CrossThreadPersistent.
+  CrossThreadPersistent<PaintWorkletProxyClient> proxy_client_;
+  scoped_refptr<FakeTaskRunner> fake_task_runner_;
+  scoped_refptr<base::SingleThreadTaskRunner> original_task_runner_;
+
+  class FakeTaskRunner : public base::SingleThreadTaskRunner {
+   public:
+    FakeTaskRunner() : task_posted_(false) {}
+
+    bool PostNonNestableDelayedTask(const base::Location& from_here,
+                                    base::OnceClosure task,
+                                    base::TimeDelta delay) override {
+      task_posted_ = true;
+      return true;
+    }
+    bool PostDelayedTask(const base::Location& from_here,
+                         base::OnceClosure task,
+                         base::TimeDelta delay) override {
+      task_posted_ = true;
+      return true;
+    }
+    bool RunsTasksInCurrentSequence() const override { return true; }
+
+    bool task_posted_;
+
+   protected:
+    ~FakeTaskRunner() override {}
+  };
+};
+}  // namespace
+
+void RunAllDefinitionsMustBeRegisteredBeforePostingTestOnWorklet(
+    WorkerThread* thread,
+    PaintWorkletProxyClient* proxy_client,
+    base::WaitableEvent* waitable_event) {
+  ScopedFakePaintWorkletProxyClientTaskRunner fake_runner(proxy_client);
+
+  // Assert that all global scopes have been registered. Note that we don't
+  // use ASSERT_EQ here as that would crash the worklet thread and the test
+  // would timeout rather than fail.
+  EXPECT_EQ(proxy_client->GetGlobalScopesForTesting().size(),
+            PaintWorklet::kNumGlobalScopes);
+
+  // Register a new paint function on all but one global scope. They should not
+  // end up posting a task to the PaintWorklet.
+  const Vector<CrossThreadPersistent<PaintWorkletGlobalScope>>& global_scopes =
+      proxy_client->GetGlobalScopesForTesting();
+  for (size_t i = 0; i < global_scopes.size() - 1; i++) {
+    global_scopes[i]->ScriptController()->Evaluate(
+        ScriptSourceCode("registerPaint('foo', class { paint() { } });"),
+        SanitizeScriptErrors::kDoNotSanitize);
+    EXPECT_FALSE(fake_runner.TaskHasBeenPosted());
+  }
+
+  // Now register the final one; the task should then be posted.
+  global_scopes.back()->ScriptController()->Evaluate(
+      ScriptSourceCode("registerPaint('foo', class { paint() { } });"),
+      SanitizeScriptErrors::kDoNotSanitize);
+  EXPECT_TRUE(fake_runner.TaskHasBeenPosted());
+
+  waitable_event->Signal();
+}
+
+TEST_F(PaintWorkletProxyClientTest,
+       AllDefinitionsMustBeRegisteredBeforePosting) {
+  ScopedOffMainThreadCSSPaintForTest off_main_thread_css_paint(true);
+  RunMultipleGlobalScopeTestsOnWorklet(
+      &RunAllDefinitionsMustBeRegisteredBeforePostingTestOnWorklet);
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/encoding/text_decoder_stream.cc b/third_party/blink/renderer/modules/encoding/text_decoder_stream.cc
index cf8e6ea..195b710 100644
--- a/third_party/blink/renderer/modules/encoding/text_decoder_stream.cc
+++ b/third_party/blink/renderer/modules/encoding/text_decoder_stream.cc
@@ -41,6 +41,10 @@
   void Transform(v8::Local<v8::Value> chunk,
                  TransformStreamDefaultControllerInterface* controller,
                  ExceptionState& exception_state) override {
+    // This is needed to ensure that exception objects are created in the
+    // correct realm (ie. v8::Context).
+    // TODO(ricea): Move this to the caller. See https://crbug.com/954476.
+    ScriptState::Scope scope(script_state_);
     ArrayBufferOrArrayBufferView bufferSource;
     V8ArrayBufferOrArrayBufferView::ToImpl(
         script_state_->GetIsolate(), chunk, bufferSource,
@@ -69,6 +73,7 @@
   // Implements the "encode and flush" algorithm.
   void Flush(TransformStreamDefaultControllerInterface* controller,
              ExceptionState& exception_state) override {
+    ScriptState::Scope scope(script_state_);
     DecodeAndEnqueue(nullptr, 0u, WTF::FlushBehavior::kDataEOF, controller,
                      exception_state);
   }
diff --git a/third_party/blink/renderer/modules/encoding/text_encoder_stream.cc b/third_party/blink/renderer/modules/encoding/text_encoder_stream.cc
index a78e072..43a8b42 100644
--- a/third_party/blink/renderer/modules/encoding/text_encoder_stream.cc
+++ b/third_party/blink/renderer/modules/encoding/text_encoder_stream.cc
@@ -38,6 +38,10 @@
   void Transform(v8::Local<v8::Value> chunk,
                  TransformStreamDefaultControllerInterface* controller,
                  ExceptionState& exception_state) override {
+    // This is needed to ensure that the UInt8Array is created in the correct
+    // realm (ie. v8::Context).
+    // TODO(ricea): Move this to the caller. See https://crbug.com/954476.
+    ScriptState::Scope scope(script_state_);
     // Let |input| be the result of converting |chunk| to a DOMString. If this
     // throws an exception, then return a promise rejected with that exception.
     V8StringResource<> input_resource = chunk;
@@ -74,6 +78,7 @@
   // Implements the "encode and flush" algorithm.
   void Flush(TransformStreamDefaultControllerInterface* controller,
              ExceptionState& exception_state) override {
+    ScriptState::Scope scope(script_state_);
     if (!pending_high_surrogate_.has_value())
       return;
 
diff --git a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
index 230770de..13a259bb5 100644
--- a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
+++ b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
@@ -323,8 +323,7 @@
       *shadow_page_->GetDocument(), shadow_page_->GetDocument()->Fetcher(),
       worker_start_data_.script_url, mojom::RequestContextType::SERVICE_WORKER,
       network::mojom::FetchRequestMode::kSameOrigin,
-      network::mojom::FetchCredentialsMode::kSameOrigin,
-      worker_start_data_.address_space, base::OnceClosure(),
+      network::mojom::FetchCredentialsMode::kSameOrigin, base::OnceClosure(),
       Bind(&WebEmbeddedWorkerImpl::OnScriptLoaderFinished,
            WTF::Unretained(this)));
   // Do nothing here since OnScriptLoaderFinished() might have been already
diff --git a/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc b/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc
index 420fc9b..3794975 100644
--- a/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc
+++ b/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc
@@ -64,8 +64,6 @@
     : MediaControlSliderElement(media_controls) {
   SetShadowPseudoId(AtomicString("-webkit-media-controls-timeline"));
 
-  setAttribute(html_names::kAriaLiveAttr, "polite");
-
   if (MediaControlsImpl::IsModern()) {
     Element& track = GetTrackElement();
 
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
index de76cc8..e4e4a02 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
@@ -181,7 +181,6 @@
       *this, CreateOutsideSettingsFetcher(outside_settings_object), script_url,
       destination, network::mojom::FetchRequestMode::kSameOrigin,
       network::mojom::FetchCredentialsMode::kSameOrigin,
-      outside_settings_object.GetAddressSpace(),
       WTF::Bind(&ServiceWorkerGlobalScope::DidReceiveResponseForClassicScript,
                 WrapWeakPersistent(this),
                 WrapPersistent(classic_script_loader)),
diff --git a/third_party/blink/renderer/modules/worklet/worklet_thread_test_common.cc b/third_party/blink/renderer/modules/worklet/worklet_thread_test_common.cc
index 86fadfc..3291c50 100644
--- a/third_party/blink/renderer/modules/worklet/worklet_thread_test_common.cc
+++ b/third_party/blink/renderer/modules/worklet/worklet_thread_test_common.cc
@@ -51,7 +51,7 @@
     WorkerReportingProxy* reporting_proxy,
     PaintWorkletProxyClient* proxy_client) {
   if (!proxy_client)
-    proxy_client = MakeGarbageCollected<PaintWorkletProxyClient>(1, nullptr);
+    proxy_client = PaintWorkletProxyClient::Create(document, 1);
   WorkerClients* clients = MakeGarbageCollected<WorkerClients>();
   ProvidePaintWorkletProxyClientTo(clients, proxy_client);
 
diff --git a/third_party/blink/renderer/platform/graphics/paint_worklet_paint_dispatcher.h b/third_party/blink/renderer/platform/graphics/paint_worklet_paint_dispatcher.h
index 6534033..6364325 100644
--- a/third_party/blink/renderer/platform/graphics/paint_worklet_paint_dispatcher.h
+++ b/third_party/blink/renderer/platform/graphics/paint_worklet_paint_dispatcher.h
@@ -42,14 +42,16 @@
 
   sk_sp<cc::PaintRecord> Paint(cc::PaintWorkletInput*);
 
- private:
-  friend class PaintWorkletProxyClientTest;
-  // We can have more than one task-runner because using a worklet inside a
-  // frame with a different origin causes a new global scope => new thread.
   using PaintWorkletPainterToTaskRunnerMap =
       HashMap<CrossThreadPersistent<PaintWorkletPainter>,
               scoped_refptr<base::SingleThreadTaskRunner>>;
+  const PaintWorkletPainterToTaskRunnerMap& PainterMapForTesting() const {
+    return painter_map_;
+  }
 
+ private:
+  // We can have more than one task-runner because using a worklet inside a
+  // frame with a different origin causes a new global scope => new thread.
   PaintWorkletPainterToTaskRunnerMap painter_map_;
 
   // The (Un)registerPaintWorkletPainter comes from the worklet thread, and the
diff --git a/third_party/blink/renderer/platform/image-decoders/DEPS b/third_party/blink/renderer/platform/image-decoders/DEPS
index c6ae663..f75a1da 100644
--- a/third_party/blink/renderer/platform/image-decoders/DEPS
+++ b/third_party/blink/renderer/platform/image-decoders/DEPS
@@ -11,6 +11,7 @@
     "+third_party/blink/renderer/platform/graphics",
     "+third_party/blink/renderer/platform/histogram.h",
     "+third_party/blink/renderer/platform/instrumentation",
+    "+third_party/blink/renderer/platform/network/mime/mime_type_registry.h",
     "+third_party/blink/renderer/platform/platform_export.h",
     "+third_party/blink/renderer/platform/shared_buffer.h",
     "+third_party/blink/renderer/platform/testing",
diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
index cd3399c..d30e6974 100644
--- a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
+++ b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
@@ -32,6 +32,7 @@
 #include "third_party/blink/renderer/platform/image-decoders/png/png_image_decoder.h"
 #include "third_party/blink/renderer/platform/image-decoders/webp/webp_image_decoder.h"
 #include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
+#include "third_party/blink/renderer/platform/network/mime/mime_type_registry.h"
 
 namespace blink {
 
@@ -163,6 +164,71 @@
   return String();
 }
 
+// static
+ImageDecoder::CompressionFormat ImageDecoder::GetCompressionFormat(
+    scoped_refptr<SharedBuffer> image_data,
+    String mime_type) {
+  // Attempt to sniff the image content to determine the true MIME type of the
+  // image, and fall back on the provided MIME type if this is not possible.
+  //
+  // Note that if the type cannot be sniffed AND the provided type is incorrect
+  // (for example, due to a misconfigured web server), then it is possible that
+  // the wrong compression format will be returned. However, this case should be
+  // exceedingly rare.
+  if (image_data &&
+      ImageDecoder::HasSufficientDataToSniffImageType(*image_data.get())) {
+    mime_type = SniffImageType(image_data);
+  }
+  if (!mime_type)
+    return kUndefinedFormat;
+
+  // Attempt to sniff whether a WebP image is using a lossy or lossless
+  // compression algorithm.
+  size_t available_data = image_data ? image_data->size() : 0;
+  if (EqualIgnoringASCIICase(mime_type, "image/webp") && available_data >= 16) {
+    // Attempt to sniff only 8 bytes (the second half of the first 16). This
+    // will be sufficient to determine lossy vs. lossless in most WebP images
+    // (all but the extended format).
+    const FastSharedBufferReader fast_reader(
+        SegmentReader::CreateFromSharedBuffer(image_data));
+    char buffer[8];
+    const unsigned char* contents = reinterpret_cast<const unsigned char*>(
+        fast_reader.GetConsecutiveData(8, 8, buffer));
+    if (!memcmp(contents, "WEBPVP8 ", 8)) {
+      // Simple lossy WebP format.
+      return kLossyFormat;
+    }
+    if (!memcmp(contents, "WEBPVP8L", 8)) {
+      // Simple Lossless WebP format.
+      return kLosslessFormat;
+    }
+    if (!memcmp(contents, "WEBPVP8X", 8)) {
+      // Extended WebP format; more content will need to be sniffed to make a
+      // determination.
+      std::unique_ptr<char[]> long_buffer(new char[available_data]);
+      contents = reinterpret_cast<const unsigned char*>(
+          fast_reader.GetConsecutiveData(0, available_data, long_buffer.get()));
+      WebPBitstreamFeatures webp_features{};
+      VP8StatusCode status =
+          WebPGetFeatures(contents, available_data, &webp_features);
+      // It is possible that there is not have enough image data available to
+      // make a determination.
+      if (status == VP8_STATUS_OK)
+        return static_cast<CompressionFormat>(webp_features.format);
+      DCHECK_EQ(status, VP8_STATUS_NOT_ENOUGH_DATA);
+    } else {
+      NOTREACHED();
+    }
+  }
+
+  if (MIMETypeRegistry::IsLossyImageMIMEType(mime_type))
+    return kLossyFormat;
+  if (MIMETypeRegistry::IsLosslessImageMIMEType(mime_type))
+    return kLosslessFormat;
+
+  return kUndefinedFormat;
+}
+
 size_t ImageDecoder::FrameCount() {
   const size_t old_size = frame_buffer_cache_.size();
   const size_t new_size = DecodeFrameCount();
diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.h b/third_party/blink/renderer/platform/image-decoders/image_decoder.h
index 56488d7a..26ba164d 100644
--- a/third_party/blink/renderer/platform/image-decoders/image_decoder.h
+++ b/third_party/blink/renderer/platform/image-decoders/image_decoder.h
@@ -128,6 +128,13 @@
     kHighBitDepthToHalfFloat
   };
 
+  // As defined in webp/decode.h.
+  enum CompressionFormat {
+    kUndefinedFormat = 0,
+    kLossyFormat = 1,
+    kLosslessFormat = 2
+  };
+
   virtual ~ImageDecoder() = default;
 
   // Returns a caller-owned decoder of the appropriate type.  Returns nullptr if
@@ -171,6 +178,11 @@
   // Looks at the image data to determine and return the image MIME type.
   static String SniffImageType(scoped_refptr<SharedBuffer> image_data);
 
+  // Returns the image data's compression format.
+  static CompressionFormat GetCompressionFormat(
+      scoped_refptr<SharedBuffer> image_data,
+      String mime_type);
+
   void SetData(scoped_refptr<SegmentReader> data, bool all_data_received) {
     if (failed_)
       return;
diff --git a/third_party/blink/web_tests/FlagExpectations/README.txt b/third_party/blink/web_tests/FlagExpectations/README.txt
index e05fd8c..aa9621c78 100644
--- a/third_party/blink/web_tests/FlagExpectations/README.txt
+++ b/third_party/blink/web_tests/FlagExpectations/README.txt
@@ -3,9 +3,16 @@
 
   run_web_tests.py --additional-driver-flag=--name-of-flag
 
-In addition to passing --name-of-flag to the binary, run_web_tests.py will look
-for test expectations in
+Create a new file:
 
   FlagExpectations/name-of-flag
 
+These are formatted:
+  crbug.com/123456 path/to/your/test.html [ Expectation ]
+
+Then run the tests with --additional-expectations:
+
+  run_web_tests.py --additional-driver-flag=--name-of-flag
+  --additional-expectations=path/to/FlagExpectations/name-of-flag
+
 which will override the main TestExpectations file.
diff --git a/third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer b/third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer
new file mode 100644
index 0000000..362c2640
--- /dev/null
+++ b/third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer
@@ -0,0 +1,5 @@
+# Tests fail even with a fuzzy pixel diff. They require a re-baseline.
+crbug.com/954328 compositing/lots-of-img-layers.html [ Failure ]
+crbug.com/954328 css3/filters/effect-blur-hw.html [ Failure ]
+crbug.com/954328 media/video-layer-crash.html [ Failure ]
+crbug.com/954328 transforms/3d/point-mapping/3d-point-mapping-deep.html [ Failure ]
diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites
index b8d8d56..e657c6e2 100644
--- a/third_party/blink/web_tests/VirtualTestSuites
+++ b/third_party/blink/web_tests/VirtualTestSuites
@@ -1024,22 +1024,27 @@
   {
     "prefix": "streams-native",
     "base": "external/wpt/streams",
-    "args": ["--enable-blink-features=StreamsNative", "--enable-features=BlinkHeapUnifiedGarbageCollection"]
+    "args": ["--enable-blink-features=StreamsNative"]
   },
   {
     "prefix": "streams-native",
     "base": "http/tests/streams",
-    "args": ["--enable-blink-features=StreamsNative", "--enable-features=BlinkHeapUnifiedGarbageCollection"]
+    "args": ["--enable-blink-features=StreamsNative"]
   },
   {
     "prefix": "streams-native",
     "base": "http/tests/fetch",
-    "args": ["--enable-blink-features=StreamsNative", "--enable-features=BlinkHeapUnifiedGarbageCollection"]
+    "args": ["--enable-blink-features=StreamsNative"]
   },
   {
     "prefix": "streams-native",
     "base": "external/wpt/fetch",
-    "args": ["--enable-blink-features=StreamsNative", "--enable-features=BlinkHeapUnifiedGarbageCollection"]
+    "args": ["--enable-blink-features=StreamsNative"]
+  },
+  {
+    "prefix": "streams-native",
+    "base": "external/wpt/encoding/streams",
+    "args": ["--enable-blink-features=StreamsNative"]
   },
   {
     "prefix": "bidi-caret-affinity",
diff --git a/third_party/blink/web_tests/accessibility/svg-is-part-of-same-line.html b/third_party/blink/web_tests/accessibility/svg-is-part-of-same-line.html
new file mode 100644
index 0000000..0dd76128
--- /dev/null
+++ b/third_party/blink/web_tests/accessibility/svg-is-part-of-same-line.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+
+<div contenteditable>
+  <p id="paragraph">Some text.
+    <img alt="Square"
+        src="data:image/svg+xml;utf8,
+        <svg xmlns='http://www.w3.org/2000/svg'
+            width='9' height='9'>
+          <rect width='9' height='9' fill='green'/>
+        </svg>">
+    More text.
+  </p>
+</div>
+
+<script>
+  test(() => {
+    let axParagraph = accessibilityController.accessibleElementById('paragraph');
+    assert_not_equals(axParagraph, undefined);
+    assert_equals(axParagraph.childrenCount, 3);
+
+    let axText1 = axParagraph.childAtIndex(0);
+    assert_not_equals(axText1, undefined);
+    assert_equals(axText1.role, 'AXRole: AXStaticText');
+    let axInline1 = axText1.childAtIndex(0);
+    assert_not_equals(axInline1, undefined);
+    assert_equals(axInline1.role, 'AXRole: AXInlineTextBox');
+    assert_equals(axInline1.name, 'Some text. ');
+    let axSvg = axParagraph.childAtIndex(1);
+    assert_not_equals(axSvg, undefined);
+    assert_equals(axSvg.role, 'AXRole: AXImage');
+    let axText2 = axParagraph.childAtIndex(2);
+    assert_not_equals(axText2, undefined);
+    assert_equals(axText2.role, 'AXRole: AXStaticText');
+    let axInline2= axText2.childAtIndex(0);
+    assert_not_equals(axInline2, undefined);
+    assert_equals(axInline2.role, 'AXRole: AXInlineTextBox');
+    assert_equals(axInline2.name, ' ');
+    let axInline3 = axText2.childAtIndex(1);
+    assert_not_equals(axInline3, undefined);
+    assert_equals(axInline3.role, 'AXRole: AXInlineTextBox');
+    assert_equals(axInline3.name, 'More text.');
+
+    assert_equals(axText1.previousOnLine(), undefined, 'axText1.previousOnLine()');
+    assert_equals(axText1.nextOnLine(), axSvg, 'axText1.nextOnLine()');
+    assert_equals(axInline1.previousOnLine(), undefined, 'axInline1.previousOnLine()');
+    assert_equals(axInline1.nextOnLine(), axSvg, 'axInline1.nextOnLine()');
+    assert_equals(axSvg.previousOnLine(), axInline1, 'axSvg.previousOnLine()');
+    assert_equals(axSvg.nextOnLine(), axInline2, 'axSvg.nextOnLine()');
+    assert_equals(axText2.previousOnLine(), axSvg, 'axText2.previousOnLine()');
+    assert_equals(axText2.nextOnLine(), undefined, 'axText2.nextOnLine()');
+    assert_equals(axInline2.previousOnLine(), axSvg, 'axInline2.previousOnLine()');
+    assert_equals(axInline2.nextOnLine(), axInline3, 'axInline2.nextOnLine()');
+    assert_equals(axInline3.previousOnLine(), axInline2, 'axInline3.previousOnLine()');
+    assert_equals(axInline3.nextOnLine(), undefined, 'axInline3.nextOnLine()');
+  }, 'Test that the SVG is on the same line as the static text surrounding it.');
+</script>
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
index c03f97d..26cea39 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
@@ -35965,6 +35965,18 @@
      {}
     ]
    ],
+   "css/css-color/composited-filters-under-opacity.html": [
+    [
+     "css/css-color/composited-filters-under-opacity.html",
+     [
+      [
+       "/css/css-color/composited-filters-under-opacity-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-color/currentcolor-001.html": [
     [
      "css/css-color/currentcolor-001.html",
@@ -119655,6 +119667,11 @@
      {}
     ]
    ],
+   "animation-worklet/resources/iframe.html": [
+    [
+     {}
+    ]
+   ],
    "animation-worklet/worklet-animation-cancel-ref.html": [
     [
      {}
@@ -124495,6 +124512,11 @@
      {}
     ]
    ],
+   "cookies/samesite/resources/puppet.html": [
+    [
+     {}
+    ]
+   ],
    "cookies/secure/set-from-http.https.sub.html.headers": [
     [
      {}
@@ -130890,6 +130912,11 @@
      {}
     ]
    ],
+   "css/css-color/composited-filters-under-opacity-ref.html": [
+    [
+     {}
+    ]
+   ],
    "css/css-color/greensquare-ref.html": [
     [
      {}
@@ -220260,6 +220287,12 @@
      {}
     ]
    ],
+   "animation-worklet/worklet-animation-with-effects-from-different-frames.https.html": [
+    [
+     "animation-worklet/worklet-animation-with-effects-from-different-frames.https.html",
+     {}
+    ]
+   ],
    "animation-worklet/worklet-animation-with-fill-mode.https.html": [
     [
      "animation-worklet/worklet-animation-with-fill-mode.https.html",
@@ -225582,6 +225615,12 @@
      {}
     ]
    ],
+   "cookies/samesite/setcookie-lax.html": [
+    [
+     "cookies/samesite/setcookie-lax.html",
+     {}
+    ]
+   ],
    "cookies/samesite/window-open-reload.html": [
     [
      "cookies/samesite/window-open-reload.html",
@@ -341526,6 +341565,10 @@
    "f9a5fab9b7b74c5ce58f6783d0513143bd2be9b6",
    "support"
   ],
+  "animation-worklet/resources/iframe.html": [
+   "e128fa53e45e819dce04a1fb05e39241e2c11b2c",
+   "support"
+  ],
   "animation-worklet/scroll-timeline-writing-modes.https.html": [
    "761e66e7d76f4aaf64c7744d0d04a06e3ba16cd1",
    "testharness"
@@ -341543,7 +341586,7 @@
    "reftest"
   ],
   "animation-worklet/worklet-animation-creation.https.html": [
-   "3e403feb4366457a800f38030481a7b12f9d24f2",
+   "02886c444dc6c1d68afed9ee6c130b2f85b25240",
    "testharness"
   ],
   "animation-worklet/worklet-animation-duration.https.html": [
@@ -341606,6 +341649,10 @@
    "c8683f7daccb40b85c56f098a8061854f4ed293a",
    "reftest"
   ],
+  "animation-worklet/worklet-animation-with-effects-from-different-frames.https.html": [
+   "152b13839c1cae1607f5b6a05c5a495820a6243a",
+   "testharness"
+  ],
   "animation-worklet/worklet-animation-with-fill-mode.https.html": [
    "725d10de438ce60d1b6eece5109e9016cc3fc9e8",
    "testharness"
@@ -348579,7 +348626,7 @@
    "testharness"
   ],
   "cookies/resources/cookie-helper.sub.js": [
-   "2974da9af069d0fa82779c7c250eb467283f558a",
+   "1cd924a0c93203d211cffb3133083867b754cce6",
    "support"
   ],
   "cookies/resources/drop.py": [
@@ -348674,6 +348721,14 @@
    "b1b04340b796ec93ef26d178678ddc745d43e988",
    "testharness"
   ],
+  "cookies/samesite/resources/puppet.html": [
+   "9f4f8e2242c71f8e79ed3424dcbca0c76426b095",
+   "support"
+  ],
+  "cookies/samesite/setcookie-lax.html": [
+   "2826f676a5b18bae6ef88b90238de2e74692b0a8",
+   "testharness"
+  ],
   "cookies/samesite/window-open-reload.html": [
    "fd9c7a6d5a8c2ca8ac184dadf72b8d397e8af8cb",
    "testharness"
@@ -368118,6 +368173,14 @@
    "b3d1c740c57bab9b8daf8842d6f50e1435aa75a4",
    "testharness"
   ],
+  "css/css-color/composited-filters-under-opacity-ref.html": [
+   "73b420189ec8bc073e8b6a2e4bfd628653bd4a78",
+   "support"
+  ],
+  "css/css-color/composited-filters-under-opacity.html": [
+   "f613748af3ac5bb59c9fa207937ae6207d71062e",
+   "reftest"
+  ],
   "css/css-color/currentcolor-001.html": [
    "e08129ee52272c1ef3d98cecd3f2890f39cca98d",
    "reftest"
@@ -458051,7 +458114,7 @@
    "reftest"
   ],
   "lint.whitelist": [
-   "f354fd95df3f7968a621043760f4765bd96469bd",
+   "27f70db20fe607ddcb03829fc40e6efd00f0c1c7",
    "support"
   ],
   "loading/preloader-css-import-no-quote.tentative.html": [
@@ -471363,7 +471426,7 @@
    "testharness"
   ],
   "portals/portals-adopt-predecessor.html": [
-   "27e4052a67ecf42c2296850c5d0619f3e5596292",
+   "90da91864235f9f1c107ea4e3edaa861493e931c",
    "testharness"
   ],
   "portals/portals-cross-origin-load.sub.html": [
@@ -471479,7 +471542,7 @@
    "support"
   ],
   "portals/resources/portals-adopt-predecessor-portal.html": [
-   "14d1018b906e82897466af556bc97b567bf58934",
+   "5181748d887af70aa17ffba197e32ada6ad18963",
    "support"
   ],
   "portals/resources/portals-adopt-predecessor.html": [
@@ -494239,7 +494302,7 @@
    "support"
   ],
   "tools/wpt/browser.py": [
-   "d77b5f01dfae2b50ec3ab6ca5dedccfbd3b1d531",
+   "3f578c09481c8e323baf2dc146be922e19c301cd",
    "support"
   ],
   "tools/wpt/commands.json": [
diff --git a/third_party/blink/web_tests/external/wpt/tools/wpt/browser.py b/third_party/blink/web_tests/external/wpt/tools/wpt/browser.py
index d77b5f0..3f578c0 100644
--- a/third_party/blink/web_tests/external/wpt/tools/wpt/browser.py
+++ b/third_party/blink/web_tests/external/wpt/tools/wpt/browser.py
@@ -464,29 +464,31 @@
     def _latest_chromedriver_url(self, browser_binary=None):
         latest = None
         chrome_version = self.version(browser_binary)
-        if chrome_version is not None:
-            parts = chrome_version.split(".")
-            if len(parts) == 4:
-                latest_url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_%s.%s.%s" % (
-                    parts[0], parts[1], parts[2])
+        assert chrome_version, "Cannot detect the version of Chrome"
+
+        # Remove channel suffixes (e.g. " dev").
+        chrome_version = chrome_version.split(' ')[0]
+        parts = chrome_version.split(".")
+        if len(parts) == 4:
+            latest_url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_%s.%s.%s" % tuple(parts[:-1])
+            try:
+                latest = get(latest_url).text.strip()
+            except requests.RequestException:
+                latest_url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_%s" % parts[0]
                 try:
                     latest = get(latest_url).text.strip()
                 except requests.RequestException:
-                    latest_url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_%s" % parts[0]
-                    try:
-                        latest = get(latest_url).text.strip()
-                    except requests.RequestException:
-                        pass
+                    pass
         if latest is None:
-            # Fall back to the tip-of-tree *Chromium* build.
-            latest_url = "https://storage.googleapis.com/chromium-browser-snapshots/%s/LAST_CHANGE" % (
-                self.chromium_platform_string())
-            latest = get(latest_url).text.strip()
+            # Fall back to *Chromium* build archives.
+            omaha = get("https://omahaproxy.appspot.com/deps.json?version=" + chrome_version).json()
+            revision = omaha['chromium_base_position']
             url = "https://storage.googleapis.com/chromium-browser-snapshots/%s/%s/chromedriver_%s.zip" % (
-                self.chromium_platform_string(), latest, self.platform_string())
+                self.chromium_platform_string(), revision, self.platform_string())
         else:
             url = "https://chromedriver.storage.googleapis.com/%s/chromedriver_%s.zip" % (
                 latest, self.platform_string())
+
         return url
 
     def install_webdriver(self, dest=None, channel=None, browser_binary=None):
diff --git a/third_party/blink/web_tests/http/tests/devtools/har-importer-expected.txt b/third_party/blink/web_tests/http/tests/devtools/har-importer-expected.txt
index dc4385c..f096c3b 100644
--- a/third_party/blink/web_tests/http/tests/devtools/har-importer-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/har-importer-expected.txt
@@ -64,7 +64,8 @@
       "pushEnd": 0,
       "receiveHeadersEnd": 5.624447982991114
     },
-    "endTime": 1542746587.7661417
+    "endTime": 1542746587.7661417,
+    "frames": []
   },
   {
     "url": "http://localhost:8000/post-endpoint",
@@ -122,7 +123,8 @@
       "pushEnd": 0,
       "receiveHeadersEnd": 2.828536113491282
     },
-    "endTime": 1542746587.8738945
+    "endTime": 1542746587.8738945,
+    "frames": []
   },
   {
     "url": "http://localhost:8000/js_file.js",
@@ -180,7 +182,8 @@
       "pushEnd": 0,
       "receiveHeadersEnd": 2.828536113491282
     },
-    "endTime": 1542746587.8738945
+    "endTime": 1542746587.8738945,
+    "frames": []
   },
   {
     "url": "http://localhost:8000/endpoint",
@@ -236,7 +239,173 @@
       "pushEnd": 0,
       "receiveHeadersEnd": 2.828536113491282
     },
-    "endTime": 1542746587.8738945
+    "endTime": 1542746587.8738945,
+    "frames": []
+  },
+  {
+    "url": "ws://localhost:8880/echo",
+    "documentURL": "ws://localhost:8880/echo",
+    "initiator": {
+      "type": "script"
+    },
+    "requestFormData": null,
+    "connectionId": "",
+    "requestMethod": "GET",
+    "requestHeaders": [
+      {
+        "name": "Pragma",
+        "value": "no-cache"
+      },
+      {
+        "name": "Origin",
+        "value": "http://localhost:8000"
+      },
+      {
+        "name": "Accept-Encoding",
+        "value": "gzip, deflate, br"
+      },
+      {
+        "name": "Host",
+        "value": "localhost:8880"
+      },
+      {
+        "name": "Accept-Language",
+        "value": "en-US,en;q=0.9"
+      },
+      {
+        "name": "Sec-WebSocket-Key",
+        "value": "EBTeYTo1PMrIJhQV3KCyLA=="
+      },
+      {
+        "name": "User-Agent",
+        "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3762.0 Safari/537.36"
+      },
+      {
+        "name": "Upgrade",
+        "value": "websocket"
+      },
+      {
+        "name": "Sec-WebSocket-Extensions",
+        "value": "permessage-deflate; client_max_window_bits"
+      },
+      {
+        "name": "Cache-Control",
+        "value": "no-cache"
+      },
+      {
+        "name": "Connection",
+        "value": "Upgrade"
+      },
+      {
+        "name": "Sec-WebSocket-Version",
+        "value": "13"
+      }
+    ],
+    "responseHeaders": [
+      {
+        "name": "Sec-WebSocket-Accept",
+        "value": "U81HpQbqlT7cIvlTLbf4dTv7m5w="
+      },
+      {
+        "name": "Connection",
+        "value": "Upgrade"
+      },
+      {
+        "name": "Sec-WebSocket-Extensions",
+        "value": "permessage-deflate"
+      },
+      {
+        "name": "Upgrade",
+        "value": "websocket"
+      }
+    ],
+    "statusCode": 101,
+    "statusText": "Switching Protocols",
+    "protocol": "http/1.1",
+    "resourceSize": 175,
+    "transferSize": 0,
+    "cached": false,
+    "cachedInMemory": false,
+    "contentData": {
+      "error": null,
+      "content": null,
+      "encoded": false
+    },
+    "remoteAddress": ":80",
+    "resourceType": {
+      "_name": "websocket",
+      "_title": "WebSocket",
+      "_category": {
+        "title": "WebSockets",
+        "shortTitle": "WS"
+      },
+      "_isTextType": false
+    },
+    "priority": null,
+    "finished": true,
+    "timing": {
+      "proxyStart": -1,
+      "proxyEnd": -1,
+      "requestTime": 1555608228.174,
+      "dnsStart": -1,
+      "dnsEnd": -1,
+      "connectStart": -1,
+      "connectEnd": -1,
+      "sslStart": -1,
+      "sslEnd": -1,
+      "workerStart": -1,
+      "workerReady": -1,
+      "sendStart": 0,
+      "sendEnd": 0,
+      "pushStart": 0,
+      "pushEnd": 0,
+      "receiveHeadersEnd": 33045.93599960208
+    },
+    "endTime": 1555608261.2199361,
+    "frames": [
+      {
+        "time": 1555608234.452854,
+        "text": "message one",
+        "opCode": 1,
+        "mask": true,
+        "type": "send"
+      },
+      {
+        "time": 1555608234.454548,
+        "text": "message one",
+        "opCode": 1,
+        "mask": false,
+        "type": "receive"
+      },
+      {
+        "time": 1555608237.98099,
+        "text": "message two",
+        "opCode": 1,
+        "mask": true,
+        "type": "send"
+      },
+      {
+        "time": 1555608237.9821968,
+        "text": "message two",
+        "opCode": 1,
+        "mask": false,
+        "type": "receive"
+      },
+      {
+        "time": 1555608261.219595,
+        "text": "YmluYXJ5IG1lc3NhZ2U=",
+        "opCode": 2,
+        "mask": true,
+        "type": "send"
+      },
+      {
+        "time": 1555608261.2207098,
+        "text": "YmluYXJ5IG1lc3NhZ2U=",
+        "opCode": 2,
+        "mask": false,
+        "type": "receive"
+      }
+    ]
   }
 ]
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/har-importer.js b/third_party/blink/web_tests/http/tests/devtools/har-importer.js
index dd772218..216462a3 100644
--- a/third_party/blink/web_tests/http/tests/devtools/har-importer.js
+++ b/third_party/blink/web_tests/http/tests/devtools/har-importer.js
@@ -14,7 +14,7 @@
       url: request.url(),
       documentURL: request.documentURL,
       initiator: request.initiator(),
-      requestFormData: await(request.requestFormData()),
+      requestFormData: await (request.requestFormData()),
       connectionId: request.connectionId,
       requestMethod: request.requestMethod,
       requestHeaders: request.requestHeaders(),
@@ -27,13 +27,14 @@
       transferSize: request.transferSize,
       cached: request.cached(),
       cachedInMemory: request.cachedInMemory(),
-      contentData: await(request.contentData()),
+      contentData: await (request.contentData()),
       remoteAddress: request.remoteAddress(),
       resourceType: request.resourceType(),
       priority: request.priority(),
       finished: request.finished,
       timing: request.timing,
-      endTime: request.endTime
+      endTime: request.endTime,
+      frames: request.frames()
     };
   }));
   TestRunner.addResult(
@@ -258,6 +259,168 @@
         '_resourceType': 'fetch',
         'connection': '2945',
         'pageref': 'page_1'
+      },
+      {
+        'startedDateTime': '2019-04-18T17:23:48.174Z',
+        'time': 33045.93599960208,
+        'request': {
+          'method': 'GET',
+          'url': 'ws://localhost:8880/echo',
+          'httpVersion': 'HTTP/1.1',
+          'headers': [
+            {
+              'name': 'Pragma',
+              'value': 'no-cache'
+            },
+            {
+              'name': 'Origin',
+              'value': 'http://localhost:8000'
+            },
+            {
+              'name': 'Accept-Encoding',
+              'value': 'gzip, deflate, br'
+            },
+            {
+              'name': 'Host',
+              'value': 'localhost:8880'
+            },
+            {
+              'name': 'Accept-Language',
+              'value': 'en-US,en;q=0.9'
+            },
+            {
+              'name': 'Sec-WebSocket-Key',
+              'value': 'EBTeYTo1PMrIJhQV3KCyLA=='
+            },
+            {
+              'name': 'User-Agent',
+              'value': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3762.0 Safari/537.36'
+            },
+            {
+              'name': 'Upgrade',
+              'value': 'websocket'
+            },
+            {
+              'name': 'Sec-WebSocket-Extensions',
+              'value': 'permessage-deflate; client_max_window_bits'
+            },
+            {
+              'name': 'Cache-Control',
+              'value': 'no-cache'
+            },
+            {
+              'name': 'Connection',
+              'value': 'Upgrade'
+            },
+            {
+              'name': 'Sec-WebSocket-Version',
+              'value': '13'
+            }
+          ],
+          'queryString': [],
+          'cookies': [],
+          'headersSize': 506,
+          'bodySize': 0
+        },
+        'response': {
+          'status': 101,
+          'statusText': 'Switching Protocols',
+          'httpVersion': 'HTTP/1.1',
+          'headers': [
+            {
+              'name': 'Sec-WebSocket-Accept',
+              'value': 'U81HpQbqlT7cIvlTLbf4dTv7m5w='
+            },
+            {
+              'name': 'Connection',
+              'value': 'Upgrade'
+            },
+            {
+              'name': 'Sec-WebSocket-Extensions',
+              'value': 'permessage-deflate'
+            },
+            {
+              'name': 'Upgrade',
+              'value': 'websocket'
+            }
+          ],
+          'cookies': [],
+          'content': {
+            'size': 0,
+            'mimeType': 'x-unknown',
+            'compression': 175
+          },
+          'redirectURL': '',
+          'headersSize': 175,
+          'bodySize': -175,
+          '_transferSize': 0
+        },
+        'cache': {},
+        'timings': {
+          'blocked': -1,
+          'dns': -1,
+          'ssl': -1,
+          'connect': -1,
+          'send': 0,
+          'wait': 33045.93599960208,
+          'receive': 0,
+          '_blocked_queueing': -1
+        },
+        'serverIPAddress': '',
+        '_initiator': {
+          'type': 'script',
+          'stack': {
+            'callFrames': [
+              {
+                'functionName': '',
+                'scriptId': '73',
+                'url': '',
+                'lineNumber': 0,
+                'columnNumber': 5
+              }
+            ]
+          }
+        },
+        '_priority': null,
+        '_resourceType': 'websocket',
+        '_webSocketMessages': [
+          {
+            'type': 'send',
+            'time': 1555608234.452854,
+            'opcode': 1,
+            'data': 'message one'
+          },
+          {
+            'type': 'receive',
+            'time': 1555608234.454548,
+            'opcode': 1,
+            'data': 'message one'
+          },
+          {
+            'type': 'send',
+            'time': 1555608237.98099,
+            'opcode': 1,
+            'data': 'message two'
+          },
+          {
+            'type': 'receive',
+            'time': 1555608237.9821968,
+            'opcode': 1,
+            'data': 'message two'
+          },
+          {
+            'type': 'send',
+            'time': 1555608261.219595,
+            'opcode': 2,
+            'data': 'YmluYXJ5IG1lc3NhZ2U='
+          },
+          {
+            'type': 'receive',
+            'time': 1555608261.2207098,
+            'opcode': 2,
+            'data': 'YmluYXJ5IG1lc3NhZ2U='
+          }
+        ]
       }
     ]
   }
diff --git a/third_party/blink/web_tests/http/tests/devtools/websocket/har-websocket-expected.txt b/third_party/blink/web_tests/http/tests/devtools/websocket/har-websocket-expected.txt
new file mode 100644
index 0000000..0c4ec95
--- /dev/null
+++ b/third_party/blink/web_tests/http/tests/devtools/websocket/har-websocket-expected.txt
@@ -0,0 +1,34 @@
+Verifies that HAR exports contain websocket messages
+messages: [
+  {
+    "type": "receive",
+    "opcode": 1,
+    "data": "last message"
+  },
+  {
+    "type": "receive",
+    "opcode": 1,
+    "data": "text message"
+  },
+  {
+    "type": "receive",
+    "opcode": 2,
+    "data": "YmluYXJ5IG1lc3NhZ2U="
+  },
+  {
+    "type": "send",
+    "opcode": 1,
+    "data": "last message"
+  },
+  {
+    "type": "send",
+    "opcode": 1,
+    "data": "text message"
+  },
+  {
+    "type": "send",
+    "opcode": 2,
+    "data": "YmluYXJ5IG1lc3NhZ2U="
+  }
+]
+
diff --git a/third_party/blink/web_tests/http/tests/devtools/websocket/har-websocket.js b/third_party/blink/web_tests/http/tests/devtools/websocket/har-websocket.js
new file mode 100644
index 0000000..80676029
--- /dev/null
+++ b/third_party/blink/web_tests/http/tests/devtools/websocket/har-websocket.js
@@ -0,0 +1,57 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+(async function() {
+  TestRunner.addResult('Verifies that HAR exports contain websocket messages');
+  await TestRunner.loadModule('network_test_runner');
+  await TestRunner.showPanel('network');
+  await TestRunner.NetworkAgent.setCacheDisabled(true);
+
+  const lastMessagePromise = new Promise(resolve => {
+    TestRunner.networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
+      const request = event.data;
+      if (!request.frames().length)
+        return;
+      const lastFrame = request.frames()[request.frames().length - 1];
+      if (lastFrame.text === 'last message' && lastFrame.type === SDK.NetworkRequest.WebSocketFrameType.Receive)
+        resolve();
+    });
+  });
+
+  await TestRunner.evaluateInPagePromise(`
+      new Promise(resolve => {
+        ws = new WebSocket('ws://127.0.0.1:8880/echo');
+        ws.onopen = () => {
+          ws.send('text message');
+          ws.send(new TextEncoder().encode('binary message'));
+          ws.send('last message');
+        };
+      });
+    `);
+  await lastMessagePromise;
+
+
+  const harString = await new Promise(async resolve => {
+    const stream = new TestRunner.StringOutputStream(resolve);
+    const progress = new Common.Progress();
+    await Network.HARWriter.write(
+        stream, NetworkTestRunner.networkRequests(), progress);
+    progress.done();
+    stream.close();
+  });
+  const har = JSON.parse(harString);
+
+  const websocketEntry = har.log.entries.find(entry => entry.request.url.endsWith('/echo'));
+  const messages = websocketEntry._webSocketMessages.map(message => {
+    return {
+      type: message.type,
+      opcode: message.opcode,
+      data: message.data
+    };
+  }).sort((messageOne, messageTwo) => {
+    return (messageOne.type + messageOne.data).localeCompare(messageTwo.type + messageTwo.data);
+  });
+  TestRunner.addResult('messages: ' + JSON.stringify(messages, null, 2));
+  TestRunner.completeTest();
+})();
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any-expected.txt
deleted file mode 100644
index 74ac5946..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Piping through an identity transform stream should close the destination when the source closes Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any.serviceworker-expected.txt
deleted file mode 100644
index 74ac5946..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Piping through an identity transform stream should close the destination when the source closes Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any.sharedworker-expected.txt
deleted file mode 100644
index 74ac5946..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Piping through an identity transform stream should close the destination when the source closes Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any.worker-expected.txt
deleted file mode 100644
index 74ac5946..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/piping/transform-streams.any.worker-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Piping through an identity transform stream should close the destination when the source closes Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/readable-streams/tee.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/readable-streams/tee.any-expected.txt
deleted file mode 100644
index 0ad6737..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/readable-streams/tee.any-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-This is a testharness.js-based test.
-PASS ReadableStream teeing: rs.tee() returns an array of two ReadableStreams
-PASS ReadableStream teeing: should be able to read one branch to the end without affecting the other
-PASS ReadableStream teeing: values should be equal across each branch
-PASS ReadableStream teeing: errors in the source should propagate to both branches
-PASS ReadableStream teeing: canceling branch1 should not impact branch2
-PASS ReadableStream teeing: canceling branch2 should not impact branch1
-PASS ReadableStream teeing: canceling both branches should aggregate the cancel reasons into an array
-PASS ReadableStream teeing: canceling both branches in reverse order should aggregate the cancel reasons into an array
-PASS ReadableStream teeing: failing to cancel the original stream should cause cancel() to reject on branches
-PASS ReadableStream teeing: erroring a teed stream should properly handle canceled branches
-PASS ReadableStream teeing: erroring a teed stream should error both branches
-PASS ReadableStream teeing: closing the original should immediately close the branches
-PASS ReadableStream teeing: erroring the original should immediately error the branches
-PASS ReadableStreamTee should not use a modified ReadableStream constructor from the global object
-FAIL ReadableStreamTee should not pull more chunks than can fit in the branch queue assert_array_equals: pull should only be called once lengths differ, expected 1 got 2
-PASS ReadableStreamTee should only pull enough to fill the emptiest queue
-PASS ReadableStreamTee should not pull when original is already errored
-FAIL ReadableStreamTee stops pulling when original stream errors while branch 1 is reading assert_array_equals: pull should be called once lengths differ, expected 1 got 2
-FAIL ReadableStreamTee stops pulling when original stream errors while branch 2 is reading assert_array_equals: pull should be called once lengths differ, expected 1 got 2
-FAIL ReadableStreamTee stops pulling when original stream errors while both branches are reading assert_array_equals: pull should be called once lengths differ, expected 1 got 2
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any-expected.txt
deleted file mode 100644
index 8a83a2f3..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-This is a testharness.js-based test.
-FAIL backpressure allows no transforms with a default identity transform and no reader Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL backpressure only allows one transform() with a identity transform with a readable HWM of 1 and no reader Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL transform() should keep being called as long as there is no backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writes should resolve as soon as transform completes Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL calling pull() before the first write() with backpressure should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL transform() should be able to read the chunk it just enqueued Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL blocking transform() should cause backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled during start Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled with backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled with no backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable should cause a pending write to resolve Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort an empty pipe Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort an empty pipe after startup Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort a full pipe Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any.serviceworker-expected.txt
deleted file mode 100644
index 8a83a2f3..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-This is a testharness.js-based test.
-FAIL backpressure allows no transforms with a default identity transform and no reader Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL backpressure only allows one transform() with a identity transform with a readable HWM of 1 and no reader Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL transform() should keep being called as long as there is no backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writes should resolve as soon as transform completes Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL calling pull() before the first write() with backpressure should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL transform() should be able to read the chunk it just enqueued Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL blocking transform() should cause backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled during start Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled with backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled with no backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable should cause a pending write to resolve Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort an empty pipe Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort an empty pipe after startup Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort a full pipe Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any.sharedworker-expected.txt
deleted file mode 100644
index 8a83a2f3..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-This is a testharness.js-based test.
-FAIL backpressure allows no transforms with a default identity transform and no reader Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL backpressure only allows one transform() with a identity transform with a readable HWM of 1 and no reader Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL transform() should keep being called as long as there is no backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writes should resolve as soon as transform completes Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL calling pull() before the first write() with backpressure should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL transform() should be able to read the chunk it just enqueued Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL blocking transform() should cause backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled during start Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled with backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled with no backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable should cause a pending write to resolve Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort an empty pipe Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort an empty pipe after startup Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort a full pipe Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any.worker-expected.txt
deleted file mode 100644
index 8a83a2f3..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/backpressure.any.worker-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-This is a testharness.js-based test.
-FAIL backpressure allows no transforms with a default identity transform and no reader Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL backpressure only allows one transform() with a identity transform with a readable HWM of 1 and no reader Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL transform() should keep being called as long as there is no backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writes should resolve as soon as transform completes Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL calling pull() before the first write() with backpressure should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL transform() should be able to read the chunk it just enqueued Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL blocking transform() should cause backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled during start Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled with backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.closed should resolve after readable is canceled with no backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable should cause a pending write to resolve Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort an empty pipe Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort an empty pipe after startup Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL cancelling the readable side of a TransformStream should abort a full pipe Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any-expected.txt
deleted file mode 100644
index 78c3340d..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL brand-checks Uncaught TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any.serviceworker-expected.txt
deleted file mode 100644
index 437e8a5..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL brand-checks Failed to register a ServiceWorker: ServiceWorker script evaluation failed
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any.sharedworker-expected.txt
deleted file mode 100644
index 78c3340d..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL brand-checks Uncaught TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any.worker-expected.txt
deleted file mode 100644
index 78c3340d..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/brand-checks.any.worker-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL brand-checks Uncaught TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any-expected.txt
deleted file mode 100644
index 61ce50d..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream constructor should stop after get on size (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable)" but got ""
-FAIL TransformStream constructor should stop after get on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after get on size (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable)" but got ""
-FAIL TransformStream constructor should stop after get on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after get on writableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after validate on writableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after validate on size (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after tonumber on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after validate on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after get on readableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after validate on readableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after validate on size (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after tonumber on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after validate on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after get on transform fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform" but got ""
-FAIL TransformStream constructor should stop after validate on transform fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform" but got ""
-FAIL TransformStream constructor should stop after get on flush fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush" but got ""
-FAIL TransformStream constructor should stop after validate on flush fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush" but got ""
-FAIL TransformStream constructor should stop after get on start fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush,get on start" but got ""
-FAIL TransformStream constructor should stop after validate on start fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush,get on start" but got ""
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any.serviceworker-expected.txt
deleted file mode 100644
index 61ce50d..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream constructor should stop after get on size (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable)" but got ""
-FAIL TransformStream constructor should stop after get on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after get on size (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable)" but got ""
-FAIL TransformStream constructor should stop after get on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after get on writableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after validate on writableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after validate on size (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after tonumber on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after validate on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after get on readableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after validate on readableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after validate on size (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after tonumber on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after validate on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after get on transform fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform" but got ""
-FAIL TransformStream constructor should stop after validate on transform fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform" but got ""
-FAIL TransformStream constructor should stop after get on flush fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush" but got ""
-FAIL TransformStream constructor should stop after validate on flush fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush" but got ""
-FAIL TransformStream constructor should stop after get on start fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush,get on start" but got ""
-FAIL TransformStream constructor should stop after validate on start fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush,get on start" but got ""
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any.sharedworker-expected.txt
deleted file mode 100644
index 61ce50d..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream constructor should stop after get on size (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable)" but got ""
-FAIL TransformStream constructor should stop after get on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after get on size (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable)" but got ""
-FAIL TransformStream constructor should stop after get on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after get on writableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after validate on writableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after validate on size (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after tonumber on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after validate on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after get on readableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after validate on readableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after validate on size (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after tonumber on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after validate on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after get on transform fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform" but got ""
-FAIL TransformStream constructor should stop after validate on transform fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform" but got ""
-FAIL TransformStream constructor should stop after get on flush fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush" but got ""
-FAIL TransformStream constructor should stop after validate on flush fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush" but got ""
-FAIL TransformStream constructor should stop after get on start fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush,get on start" but got ""
-FAIL TransformStream constructor should stop after validate on start fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush,get on start" but got ""
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any.worker-expected.txt
deleted file mode 100644
index 61ce50d..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/constructor.any.worker-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream constructor should stop after get on size (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable)" but got ""
-FAIL TransformStream constructor should stop after get on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after get on size (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable)" but got ""
-FAIL TransformStream constructor should stop after get on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after get on writableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after validate on writableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after validate on size (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType" but got ""
-FAIL TransformStream constructor should stop after tonumber on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after validate on highWaterMark (writable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable)" but got ""
-FAIL TransformStream constructor should stop after get on readableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after validate on readableType fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after validate on size (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType" but got ""
-FAIL TransformStream constructor should stop after tonumber on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after validate on highWaterMark (readable) fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable)" but got ""
-FAIL TransformStream constructor should stop after get on transform fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform" but got ""
-FAIL TransformStream constructor should stop after validate on transform fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform" but got ""
-FAIL TransformStream constructor should stop after get on flush fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush" but got ""
-FAIL TransformStream constructor should stop after validate on flush fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush" but got ""
-FAIL TransformStream constructor should stop after get on start fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush,get on start" but got ""
-FAIL TransformStream constructor should stop after validate on start fails assert_equals: operations should be performed in the right order expected "get on size (writable),get on highWaterMark (writable),get on size (readable),get on highWaterMark (readable),get on writableType,tonumber on highWaterMark (writable),get on readableType,tonumber on highWaterMark (readable),get on transform,get on flush,get on start" but got ""
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any-expected.txt
deleted file mode 100644
index 6f0e513..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any-expected.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream errors thrown in transform put the writable and readable in an errored state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream errors thrown in flush put the writable and readable in an errored state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL errored TransformStream should not enqueue new chunks Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream transformer.start() rejected promise should error the stream Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL when controller.error is followed by a rejection, the error reason should come from controller.error Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream constructor should throw when start does assert_throws: constructor should throw function "() => new TransformStream({
-    start() { throw new URIError('start thrown error'); },
-    transform() {}
-  })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL when strategy.size throws inside start(), the constructor should throw the same error assert_throws: constructor should throw the same error strategy.size throws function "() => new TransformStream({
-    start(c) {
-      c.enqueue('a');
-    },
-    transform() {}
-  }, undefined, strategy)" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL when strategy.size calls controller.error() then throws, the constructor should throw the first error assert_throws: the first error should be thrown function "() => new TransformStream({
-    start(c) {
-      controller = c;
-      c.enqueue('a');
-    },
-    transform() {}
-  }, undefined, strategy)" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL cancelling the readable side should error the writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL it should be possible to error the readable between close requested and complete Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL an exception from transform() should error the stream if terminate has been requested but not completed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL abort should set the close reason for the writable when it happens before cancel during start, but cancel should still succeed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL abort should set the close reason for the writable when it happens before cancel during underlying sink write, but cancel should still succeed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing the second time it is called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after writable.abort() has completed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after a transformer method has thrown an exception Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL erroring during write with backpressure should result in the write failing Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a write() that was waiting for backpressure should reject if the writable is aborted Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL the readable should be errored with the reason passed to the writable abort() method Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any.serviceworker-expected.txt
deleted file mode 100644
index 6f0e513..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream errors thrown in transform put the writable and readable in an errored state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream errors thrown in flush put the writable and readable in an errored state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL errored TransformStream should not enqueue new chunks Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream transformer.start() rejected promise should error the stream Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL when controller.error is followed by a rejection, the error reason should come from controller.error Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream constructor should throw when start does assert_throws: constructor should throw function "() => new TransformStream({
-    start() { throw new URIError('start thrown error'); },
-    transform() {}
-  })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL when strategy.size throws inside start(), the constructor should throw the same error assert_throws: constructor should throw the same error strategy.size throws function "() => new TransformStream({
-    start(c) {
-      c.enqueue('a');
-    },
-    transform() {}
-  }, undefined, strategy)" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL when strategy.size calls controller.error() then throws, the constructor should throw the first error assert_throws: the first error should be thrown function "() => new TransformStream({
-    start(c) {
-      controller = c;
-      c.enqueue('a');
-    },
-    transform() {}
-  }, undefined, strategy)" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL cancelling the readable side should error the writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL it should be possible to error the readable between close requested and complete Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL an exception from transform() should error the stream if terminate has been requested but not completed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL abort should set the close reason for the writable when it happens before cancel during start, but cancel should still succeed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL abort should set the close reason for the writable when it happens before cancel during underlying sink write, but cancel should still succeed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing the second time it is called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after writable.abort() has completed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after a transformer method has thrown an exception Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL erroring during write with backpressure should result in the write failing Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a write() that was waiting for backpressure should reject if the writable is aborted Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL the readable should be errored with the reason passed to the writable abort() method Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any.sharedworker-expected.txt
deleted file mode 100644
index 6f0e513..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream errors thrown in transform put the writable and readable in an errored state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream errors thrown in flush put the writable and readable in an errored state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL errored TransformStream should not enqueue new chunks Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream transformer.start() rejected promise should error the stream Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL when controller.error is followed by a rejection, the error reason should come from controller.error Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream constructor should throw when start does assert_throws: constructor should throw function "() => new TransformStream({
-    start() { throw new URIError('start thrown error'); },
-    transform() {}
-  })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL when strategy.size throws inside start(), the constructor should throw the same error assert_throws: constructor should throw the same error strategy.size throws function "() => new TransformStream({
-    start(c) {
-      c.enqueue('a');
-    },
-    transform() {}
-  }, undefined, strategy)" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL when strategy.size calls controller.error() then throws, the constructor should throw the first error assert_throws: the first error should be thrown function "() => new TransformStream({
-    start(c) {
-      controller = c;
-      c.enqueue('a');
-    },
-    transform() {}
-  }, undefined, strategy)" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL cancelling the readable side should error the writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL it should be possible to error the readable between close requested and complete Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL an exception from transform() should error the stream if terminate has been requested but not completed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL abort should set the close reason for the writable when it happens before cancel during start, but cancel should still succeed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL abort should set the close reason for the writable when it happens before cancel during underlying sink write, but cancel should still succeed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing the second time it is called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after writable.abort() has completed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after a transformer method has thrown an exception Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL erroring during write with backpressure should result in the write failing Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a write() that was waiting for backpressure should reject if the writable is aborted Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL the readable should be errored with the reason passed to the writable abort() method Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any.worker-expected.txt
deleted file mode 100644
index 6f0e513..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/errors.any.worker-expected.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream errors thrown in transform put the writable and readable in an errored state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream errors thrown in flush put the writable and readable in an errored state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL errored TransformStream should not enqueue new chunks Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream transformer.start() rejected promise should error the stream Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL when controller.error is followed by a rejection, the error reason should come from controller.error Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream constructor should throw when start does assert_throws: constructor should throw function "() => new TransformStream({
-    start() { throw new URIError('start thrown error'); },
-    transform() {}
-  })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL when strategy.size throws inside start(), the constructor should throw the same error assert_throws: constructor should throw the same error strategy.size throws function "() => new TransformStream({
-    start(c) {
-      c.enqueue('a');
-    },
-    transform() {}
-  }, undefined, strategy)" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL when strategy.size calls controller.error() then throws, the constructor should throw the first error assert_throws: the first error should be thrown function "() => new TransformStream({
-    start(c) {
-      controller = c;
-      c.enqueue('a');
-    },
-    transform() {}
-  }, undefined, strategy)" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "URIError" ("URIError")
-FAIL cancelling the readable side should error the writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL it should be possible to error the readable between close requested and complete Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL an exception from transform() should error the stream if terminate has been requested but not completed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL abort should set the close reason for the writable when it happens before cancel during start, but cancel should still succeed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL abort should set the close reason for the writable when it happens before cancel during underlying sink write, but cancel should still succeed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing the second time it is called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after writable.abort() has completed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() should do nothing after a transformer method has thrown an exception Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL erroring during write with backpressure should result in the write failing Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a write() that was waiting for backpressure should reject if the writable is aborted Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL the readable should be errored with the reason passed to the writable abort() method Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any-expected.txt
deleted file mode 100644
index ba6060c..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream flush is called immediately when the writable is closed, if no writes are queued Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush is called after all queued writes finish, once the writable is closed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush gets a chance to enqueue more into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush gets a chance to enqueue more into the readable, and can then async close Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL error() during flush should cause writer.close() to reject Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any.serviceworker-expected.txt
deleted file mode 100644
index ba6060c..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream flush is called immediately when the writable is closed, if no writes are queued Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush is called after all queued writes finish, once the writable is closed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush gets a chance to enqueue more into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush gets a chance to enqueue more into the readable, and can then async close Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL error() during flush should cause writer.close() to reject Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any.sharedworker-expected.txt
deleted file mode 100644
index ba6060c..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream flush is called immediately when the writable is closed, if no writes are queued Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush is called after all queued writes finish, once the writable is closed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush gets a chance to enqueue more into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush gets a chance to enqueue more into the readable, and can then async close Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL error() during flush should cause writer.close() to reject Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any.worker-expected.txt
deleted file mode 100644
index ba6060c..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/flush.any.worker-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream flush is called immediately when the writable is closed, if no writes are queued Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush is called after all queued writes finish, once the writable is closed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush gets a chance to enqueue more into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream flush gets a chance to enqueue more into the readable, and can then async close Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL error() during flush should cause writer.close() to reject Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any-expected.txt
deleted file mode 100644
index b4d549b..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream can be constructed with a transform function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream can be constructed with no transform function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream instances must have writable and readable properties of the correct types Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream writable starts in the writable state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Identity TransformStream: can read from readable what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser sync TransformStream: can read from readable transformed version of what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser-doubler sync TransformStream: can read both chunks put into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser async TransformStream: can read from readable transformed version of what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser-doubler async TransformStream: can read both chunks put into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable (when there are no queued writes) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable waits for transforms to finish before closing both Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable after sync enqueues and async done Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable after async enqueues and async done Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Transform stream should call transformer methods as methods Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL methods should not not have .apply() or .call() called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream start, transform, and flush should be strictly ordered Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL it should be possible to call transform() synchronously Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL closing the writable should close the readable when there are no queued chunks, even with backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL enqueue() should throw after controller.terminate() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL enqueue() should throw after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() should do nothing the second time it is called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL terminate() should do nothing after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL start() should not be called twice Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL specifying a defined readableType should throw assert_throws: constructor should throw function "() => new TransformStream({ readableType: 'bytes' })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL specifying a defined writableType should throw assert_throws: constructor should throw function "() => new TransformStream({ writableType: 'bytes' })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL Subclassing TransformStream should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any.serviceworker-expected.txt
deleted file mode 100644
index b4d549b..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream can be constructed with a transform function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream can be constructed with no transform function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream instances must have writable and readable properties of the correct types Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream writable starts in the writable state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Identity TransformStream: can read from readable what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser sync TransformStream: can read from readable transformed version of what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser-doubler sync TransformStream: can read both chunks put into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser async TransformStream: can read from readable transformed version of what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser-doubler async TransformStream: can read both chunks put into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable (when there are no queued writes) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable waits for transforms to finish before closing both Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable after sync enqueues and async done Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable after async enqueues and async done Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Transform stream should call transformer methods as methods Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL methods should not not have .apply() or .call() called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream start, transform, and flush should be strictly ordered Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL it should be possible to call transform() synchronously Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL closing the writable should close the readable when there are no queued chunks, even with backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL enqueue() should throw after controller.terminate() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL enqueue() should throw after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() should do nothing the second time it is called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL terminate() should do nothing after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL start() should not be called twice Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL specifying a defined readableType should throw assert_throws: constructor should throw function "() => new TransformStream({ readableType: 'bytes' })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL specifying a defined writableType should throw assert_throws: constructor should throw function "() => new TransformStream({ writableType: 'bytes' })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL Subclassing TransformStream should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any.sharedworker-expected.txt
deleted file mode 100644
index b4d549b..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream can be constructed with a transform function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream can be constructed with no transform function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream instances must have writable and readable properties of the correct types Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream writable starts in the writable state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Identity TransformStream: can read from readable what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser sync TransformStream: can read from readable transformed version of what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser-doubler sync TransformStream: can read both chunks put into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser async TransformStream: can read from readable transformed version of what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser-doubler async TransformStream: can read both chunks put into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable (when there are no queued writes) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable waits for transforms to finish before closing both Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable after sync enqueues and async done Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable after async enqueues and async done Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Transform stream should call transformer methods as methods Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL methods should not not have .apply() or .call() called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream start, transform, and flush should be strictly ordered Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL it should be possible to call transform() synchronously Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL closing the writable should close the readable when there are no queued chunks, even with backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL enqueue() should throw after controller.terminate() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL enqueue() should throw after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() should do nothing the second time it is called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL terminate() should do nothing after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL start() should not be called twice Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL specifying a defined readableType should throw assert_throws: constructor should throw function "() => new TransformStream({ readableType: 'bytes' })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL specifying a defined writableType should throw assert_throws: constructor should throw function "() => new TransformStream({ writableType: 'bytes' })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL Subclassing TransformStream should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any.worker-expected.txt
deleted file mode 100644
index b4d549b..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/general.any.worker-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream can be constructed with a transform function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream can be constructed with no transform function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream instances must have writable and readable properties of the correct types Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream writable starts in the writable state Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Identity TransformStream: can read from readable what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser sync TransformStream: can read from readable transformed version of what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser-doubler sync TransformStream: can read both chunks put into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser async TransformStream: can read from readable transformed version of what is put into writable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Uppercaser-doubler async TransformStream: can read both chunks put into the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable (when there are no queued writes) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable waits for transforms to finish before closing both Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable after sync enqueues and async done Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream: by default, closing the writable closes the readable after async enqueues and async done Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL Transform stream should call transformer methods as methods Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL methods should not not have .apply() or .call() called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream start, transform, and flush should be strictly ordered Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL it should be possible to call transform() synchronously Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL closing the writable should close the readable when there are no queued chunks, even with backpressure Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL enqueue() should throw after controller.terminate() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL enqueue() should throw after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() should do nothing the second time it is called Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL terminate() should do nothing after readable.cancel() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL start() should not be called twice Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL specifying a defined readableType should throw assert_throws: constructor should throw function "() => new TransformStream({ readableType: 'bytes' })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL specifying a defined writableType should throw assert_throws: constructor should throw function "() => new TransformStream({ writableType: 'bytes' })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL Subclassing TransformStream should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any-expected.txt
deleted file mode 100644
index 6f51247..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-This is a testharness.js-based test.
-FAIL testing "" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "" (length 0) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "z{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}q" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in1}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in1},}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1,}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{,in1}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{,{in1}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{,in1}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{," (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{,{,i,n,1,},}" (length 7) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in2}}{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{wrong}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{wron,g}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{quine}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{bogusPartial}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{bogusPartial}}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any.serviceworker-expected.txt
deleted file mode 100644
index 6f51247..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-This is a testharness.js-based test.
-FAIL testing "" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "" (length 0) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "z{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}q" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in1}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in1},}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1,}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{,in1}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{,{in1}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{,in1}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{," (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{,{,i,n,1,},}" (length 7) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in2}}{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{wrong}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{wron,g}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{quine}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{bogusPartial}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{bogusPartial}}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any.sharedworker-expected.txt
deleted file mode 100644
index 6f51247..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-This is a testharness.js-based test.
-FAIL testing "" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "" (length 0) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "z{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}q" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in1}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in1},}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1,}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{,in1}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{,{in1}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{,in1}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{," (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{,{,i,n,1,},}" (length 7) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in2}}{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{wrong}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{wron,g}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{quine}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{bogusPartial}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{bogusPartial}}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any.worker-expected.txt
deleted file mode 100644
index 6f51247..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/lipfuzz.any.worker-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-This is a testharness.js-based test.
-FAIL testing "" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "" (length 0) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "z{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}q" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in1}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in1},}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1,}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{,in1}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{,{in1}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{,in1}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{," (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{,{,i,n,1,},}" (length 7) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{in1}}{{in2}}{{in1}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{wrong}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{wron,g}}" (length 2) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{quine}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{bogusPartial}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL testing "{{bogusPartial}}}" (length 1) Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any-expected.txt
deleted file mode 100644
index d76a151..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream constructor should not call setters for highWaterMark or size Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream should use the original value of ReadableStream and WritableStream Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any.serviceworker-expected.txt
deleted file mode 100644
index d76a151..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream constructor should not call setters for highWaterMark or size Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream should use the original value of ReadableStream and WritableStream Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any.sharedworker-expected.txt
deleted file mode 100644
index d76a151..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream constructor should not call setters for highWaterMark or size Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream should use the original value of ReadableStream and WritableStream Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any.worker-expected.txt
deleted file mode 100644
index d76a151..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/patched-global.any.worker-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a testharness.js-based test.
-FAIL TransformStream constructor should not call setters for highWaterMark or size Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL TransformStream should use the original value of ReadableStream and WritableStream Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any-expected.txt
index 5a2a25b..927b2d9b 100644
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any-expected.txt
+++ b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any-expected.txt
@@ -1,5 +1,31 @@
 This is a testharness.js-based test.
-Harness Error. harness_status.status = 1 , harness_status.message = Uncaught TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
 PASS TransformStreamDefaultController should not be exported on the global object
+PASS TransformStream.prototype.constructor should have standard properties
+PASS TransformStream.prototype.constructor should be a constructor
+PASS TransformStream.prototype.readable should have standard properties
+PASS TransformStream.prototype.readable should be a getter
+PASS TransformStream.prototype.writable should have standard properties
+PASS TransformStream.prototype.writable should be a getter
+PASS TransformStream.prototype should have exactly the expected properties
+PASS TransformStreamDefaultController.prototype.constructor should have standard properties
+PASS TransformStreamDefaultController.prototype.constructor should be a constructor
+PASS TransformStreamDefaultController.prototype.desiredSize should have standard properties
+PASS TransformStreamDefaultController.prototype.desiredSize should be a getter
+PASS TransformStreamDefaultController.prototype.enqueue should have standard properties
+FAIL TransformStreamDefaultController.prototype.enqueue should be a method assert_equals: enqueue should take 1 arguments expected 1 but got 0
+PASS TransformStreamDefaultController.prototype.error should have standard properties
+FAIL TransformStreamDefaultController.prototype.error should be a method assert_equals: error should take 1 arguments expected 1 but got 0
+PASS TransformStreamDefaultController.prototype.terminate should have standard properties
+PASS TransformStreamDefaultController.prototype.terminate should be a method
+PASS TransformStreamDefaultController.prototype should have exactly the expected properties
+PASS transformer method start should be called with the right number of arguments
+PASS transformer method start should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method start
+PASS transformer method transform should be called with the right number of arguments
+PASS transformer method transform should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method transform
+PASS transformer method flush should be called with the right number of arguments
+PASS transformer method flush should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method flush
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.serviceworker-expected.txt
index 3a9ecca..927b2d9b 100644
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.serviceworker-expected.txt
+++ b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.serviceworker-expected.txt
@@ -1,4 +1,31 @@
 This is a testharness.js-based test.
-FAIL properties Failed to register a ServiceWorker: ServiceWorker script evaluation failed
+PASS TransformStreamDefaultController should not be exported on the global object
+PASS TransformStream.prototype.constructor should have standard properties
+PASS TransformStream.prototype.constructor should be a constructor
+PASS TransformStream.prototype.readable should have standard properties
+PASS TransformStream.prototype.readable should be a getter
+PASS TransformStream.prototype.writable should have standard properties
+PASS TransformStream.prototype.writable should be a getter
+PASS TransformStream.prototype should have exactly the expected properties
+PASS TransformStreamDefaultController.prototype.constructor should have standard properties
+PASS TransformStreamDefaultController.prototype.constructor should be a constructor
+PASS TransformStreamDefaultController.prototype.desiredSize should have standard properties
+PASS TransformStreamDefaultController.prototype.desiredSize should be a getter
+PASS TransformStreamDefaultController.prototype.enqueue should have standard properties
+FAIL TransformStreamDefaultController.prototype.enqueue should be a method assert_equals: enqueue should take 1 arguments expected 1 but got 0
+PASS TransformStreamDefaultController.prototype.error should have standard properties
+FAIL TransformStreamDefaultController.prototype.error should be a method assert_equals: error should take 1 arguments expected 1 but got 0
+PASS TransformStreamDefaultController.prototype.terminate should have standard properties
+PASS TransformStreamDefaultController.prototype.terminate should be a method
+PASS TransformStreamDefaultController.prototype should have exactly the expected properties
+PASS transformer method start should be called with the right number of arguments
+PASS transformer method start should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method start
+PASS transformer method transform should be called with the right number of arguments
+PASS transformer method transform should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method transform
+PASS transformer method flush should be called with the right number of arguments
+PASS transformer method flush should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method flush
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.sharedworker-expected.txt
index 5a2a25b..927b2d9b 100644
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.sharedworker-expected.txt
+++ b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.sharedworker-expected.txt
@@ -1,5 +1,31 @@
 This is a testharness.js-based test.
-Harness Error. harness_status.status = 1 , harness_status.message = Uncaught TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
 PASS TransformStreamDefaultController should not be exported on the global object
+PASS TransformStream.prototype.constructor should have standard properties
+PASS TransformStream.prototype.constructor should be a constructor
+PASS TransformStream.prototype.readable should have standard properties
+PASS TransformStream.prototype.readable should be a getter
+PASS TransformStream.prototype.writable should have standard properties
+PASS TransformStream.prototype.writable should be a getter
+PASS TransformStream.prototype should have exactly the expected properties
+PASS TransformStreamDefaultController.prototype.constructor should have standard properties
+PASS TransformStreamDefaultController.prototype.constructor should be a constructor
+PASS TransformStreamDefaultController.prototype.desiredSize should have standard properties
+PASS TransformStreamDefaultController.prototype.desiredSize should be a getter
+PASS TransformStreamDefaultController.prototype.enqueue should have standard properties
+FAIL TransformStreamDefaultController.prototype.enqueue should be a method assert_equals: enqueue should take 1 arguments expected 1 but got 0
+PASS TransformStreamDefaultController.prototype.error should have standard properties
+FAIL TransformStreamDefaultController.prototype.error should be a method assert_equals: error should take 1 arguments expected 1 but got 0
+PASS TransformStreamDefaultController.prototype.terminate should have standard properties
+PASS TransformStreamDefaultController.prototype.terminate should be a method
+PASS TransformStreamDefaultController.prototype should have exactly the expected properties
+PASS transformer method start should be called with the right number of arguments
+PASS transformer method start should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method start
+PASS transformer method transform should be called with the right number of arguments
+PASS transformer method transform should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method transform
+PASS transformer method flush should be called with the right number of arguments
+PASS transformer method flush should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method flush
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.worker-expected.txt
index 5a2a25b..927b2d9b 100644
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.worker-expected.txt
+++ b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/properties.any.worker-expected.txt
@@ -1,5 +1,31 @@
 This is a testharness.js-based test.
-Harness Error. harness_status.status = 1 , harness_status.message = Uncaught TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
 PASS TransformStreamDefaultController should not be exported on the global object
+PASS TransformStream.prototype.constructor should have standard properties
+PASS TransformStream.prototype.constructor should be a constructor
+PASS TransformStream.prototype.readable should have standard properties
+PASS TransformStream.prototype.readable should be a getter
+PASS TransformStream.prototype.writable should have standard properties
+PASS TransformStream.prototype.writable should be a getter
+PASS TransformStream.prototype should have exactly the expected properties
+PASS TransformStreamDefaultController.prototype.constructor should have standard properties
+PASS TransformStreamDefaultController.prototype.constructor should be a constructor
+PASS TransformStreamDefaultController.prototype.desiredSize should have standard properties
+PASS TransformStreamDefaultController.prototype.desiredSize should be a getter
+PASS TransformStreamDefaultController.prototype.enqueue should have standard properties
+FAIL TransformStreamDefaultController.prototype.enqueue should be a method assert_equals: enqueue should take 1 arguments expected 1 but got 0
+PASS TransformStreamDefaultController.prototype.error should have standard properties
+FAIL TransformStreamDefaultController.prototype.error should be a method assert_equals: error should take 1 arguments expected 1 but got 0
+PASS TransformStreamDefaultController.prototype.terminate should have standard properties
+PASS TransformStreamDefaultController.prototype.terminate should be a method
+PASS TransformStreamDefaultController.prototype should have exactly the expected properties
+PASS transformer method start should be called with the right number of arguments
+PASS transformer method start should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method start
+PASS transformer method transform should be called with the right number of arguments
+PASS transformer method transform should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method transform
+PASS transformer method flush should be called with the right number of arguments
+PASS transformer method flush should be called even when it's located on the prototype chain
+PASS unexpected properties should not be accessed when calling transformer method flush
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any-expected.txt
deleted file mode 100644
index a20c3fd..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-This is a testharness.js-based test.
-FAIL enqueue() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL terminate() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL error() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL desiredSize inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readable cancel() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL pipeTo() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL read() inside of size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.write() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL synchronous writer.write() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.close() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.abort() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any.serviceworker-expected.txt
deleted file mode 100644
index a20c3fd..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-This is a testharness.js-based test.
-FAIL enqueue() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL terminate() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL error() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL desiredSize inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readable cancel() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL pipeTo() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL read() inside of size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.write() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL synchronous writer.write() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.close() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.abort() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any.sharedworker-expected.txt
deleted file mode 100644
index a20c3fd..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-This is a testharness.js-based test.
-FAIL enqueue() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL terminate() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL error() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL desiredSize inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readable cancel() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL pipeTo() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL read() inside of size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.write() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL synchronous writer.write() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.close() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.abort() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any.worker-expected.txt
deleted file mode 100644
index a20c3fd..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/reentrant-strategies.any.worker-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-This is a testharness.js-based test.
-FAIL enqueue() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL terminate() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL error() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL desiredSize inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readable cancel() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL pipeTo() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL read() inside of size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.write() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL synchronous writer.write() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.close() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writer.abort() inside size() should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any-expected.txt
deleted file mode 100644
index e1c914b..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any-expected.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-This is a testharness.js-based test.
-FAIL writableStrategy highWaterMark should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readableStrategy highWaterMark should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writable should have the correct size() function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL default writable strategy should be equivalent to { highWaterMark: 1 } Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL default readable strategy should be equivalent to { highWaterMark: 0 } Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a RangeError should be thrown for an invalid highWaterMark assert_throws: should throw RangeError for negative writableHighWaterMark function "() => new TransformStream(undefined, { highWaterMark: -1 })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL writableStrategy highWaterMark should be converted to a number Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readableStrategy highWaterMark should be converted to a number Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a bad readableStrategy size function should cause writer.write() to reject on an identity transform Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a bad readableStrategy size function should error the stream on enqueue even when transformer.transform() catches the exception Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any.serviceworker-expected.txt
deleted file mode 100644
index e1c914b..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-This is a testharness.js-based test.
-FAIL writableStrategy highWaterMark should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readableStrategy highWaterMark should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writable should have the correct size() function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL default writable strategy should be equivalent to { highWaterMark: 1 } Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL default readable strategy should be equivalent to { highWaterMark: 0 } Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a RangeError should be thrown for an invalid highWaterMark assert_throws: should throw RangeError for negative writableHighWaterMark function "() => new TransformStream(undefined, { highWaterMark: -1 })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL writableStrategy highWaterMark should be converted to a number Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readableStrategy highWaterMark should be converted to a number Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a bad readableStrategy size function should cause writer.write() to reject on an identity transform Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a bad readableStrategy size function should error the stream on enqueue even when transformer.transform() catches the exception Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any.sharedworker-expected.txt
deleted file mode 100644
index e1c914b..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-This is a testharness.js-based test.
-FAIL writableStrategy highWaterMark should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readableStrategy highWaterMark should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writable should have the correct size() function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL default writable strategy should be equivalent to { highWaterMark: 1 } Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL default readable strategy should be equivalent to { highWaterMark: 0 } Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a RangeError should be thrown for an invalid highWaterMark assert_throws: should throw RangeError for negative writableHighWaterMark function "() => new TransformStream(undefined, { highWaterMark: -1 })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL writableStrategy highWaterMark should be converted to a number Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readableStrategy highWaterMark should be converted to a number Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a bad readableStrategy size function should cause writer.write() to reject on an identity transform Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a bad readableStrategy size function should error the stream on enqueue even when transformer.transform() catches the exception Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any.worker-expected.txt
deleted file mode 100644
index e1c914b..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/strategies.any.worker-expected.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-This is a testharness.js-based test.
-FAIL writableStrategy highWaterMark should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readableStrategy highWaterMark should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL writable should have the correct size() function Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL default writable strategy should be equivalent to { highWaterMark: 1 } Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL default readable strategy should be equivalent to { highWaterMark: 0 } Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a RangeError should be thrown for an invalid highWaterMark assert_throws: should throw RangeError for negative writableHighWaterMark function "() => new TransformStream(undefined, { highWaterMark: -1 })" threw object "TypeError: Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled" ("TypeError") expected object "RangeError" ("RangeError")
-FAIL writableStrategy highWaterMark should be converted to a number Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL readableStrategy highWaterMark should be converted to a number Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a bad readableStrategy size function should cause writer.write() to reject on an identity transform Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a bad readableStrategy size function should error the stream on enqueue even when transformer.transform() catches the exception Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any-expected.txt
deleted file mode 100644
index 8d9bb29..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-This is a testharness.js-based test.
-FAIL controller.terminate() should error pipeTo() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() should prevent remaining chunks from being processed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.enqueue() should throw after controller.terminate() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() after controller.terminate() with queued chunk should error the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() after controller.terminate() without queued chunk should do nothing Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() inside flush() should not prevent writer.close() from succeeding Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any.serviceworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any.serviceworker-expected.txt
deleted file mode 100644
index 8d9bb29..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any.serviceworker-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-This is a testharness.js-based test.
-FAIL controller.terminate() should error pipeTo() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() should prevent remaining chunks from being processed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.enqueue() should throw after controller.terminate() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() after controller.terminate() with queued chunk should error the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() after controller.terminate() without queued chunk should do nothing Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() inside flush() should not prevent writer.close() from succeeding Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any.sharedworker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any.sharedworker-expected.txt
deleted file mode 100644
index 8d9bb29..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any.sharedworker-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-This is a testharness.js-based test.
-FAIL controller.terminate() should error pipeTo() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() should prevent remaining chunks from being processed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.enqueue() should throw after controller.terminate() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() after controller.terminate() with queued chunk should error the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() after controller.terminate() without queued chunk should do nothing Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() inside flush() should not prevent writer.close() from succeeding Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any.worker-expected.txt b/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any.worker-expected.txt
deleted file mode 100644
index 8d9bb29..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/external/wpt/streams/transform-streams/terminate.any.worker-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-This is a testharness.js-based test.
-FAIL controller.terminate() should error pipeTo() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() should prevent remaining chunks from being processed Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.enqueue() should throw after controller.terminate() Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() after controller.terminate() with queued chunk should error the readable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.error() after controller.terminate() without queued chunk should do nothing Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL controller.terminate() inside flush() should not prevent writer.close() from succeeding Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/chromium/transform-stream-enqueue-expected.txt b/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/chromium/transform-stream-enqueue-expected.txt
deleted file mode 100644
index 067e208..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/chromium/transform-stream-enqueue-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a testharness.js-based test.
-FAIL exception message for enqueue while closing should be correct assert_true: message should contain expected string expected true got false
-FAIL exception message for enqueue when errored should be correct assert_true: message should contain expected string expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/chromium/use-counters-expected.txt b/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/chromium/use-counters-expected.txt
deleted file mode 100644
index 7569821..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/chromium/use-counters-expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-This is a testharness.js-based test.
-PASS use of Response constructor should not be counted as using the ReadableStream constructor
-PASS use of ReadableStream constructor should be counted
-PASS use of WritableStream constructor should be counted
-FAIL use of TransformStream constructor should be counted Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/transferable/enabled/enabled-expected.txt b/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/transferable/enabled/enabled-expected.txt
deleted file mode 100644
index 42defe0..0000000
--- a/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/transferable/enabled/enabled-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a testharness.js-based test.
-PASS postMessage of a ReadableStream should work
-PASS postMessage of a WritableStream should work
-FAIL postMessage of a TransformStream should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/transferable/transform-stream-expected.txt b/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/transferable/transform-stream-expected.txt
index e224f179..fddd996 100644
--- a/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/transferable/transform-stream-expected.txt
+++ b/third_party/blink/web_tests/virtual/streams-native/http/tests/streams/transferable/transform-stream-expected.txt
@@ -1,8 +1,8 @@
 This is a testharness.js-based test.
-FAIL window.postMessage should be able to transfer a TransformStream Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a TransformStream with a locked writable should not be transferable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a TransformStream with a locked readable should not be transferable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL a TransformStream with both sides locked should not be transferable Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
-FAIL piping through transferred transforms should work Failed to construct 'TransformStream': TransformStream disabled because StreamsNative is enabled
+FAIL window.postMessage should be able to transfer a TransformStream assert_true: the readable side should be locked expected true got false
+PASS a TransformStream with a locked writable should not be transferable
+PASS a TransformStream with a locked readable should not be transferable
+PASS a TransformStream with both sides locked should not be transferable
+FAIL piping through transferred transforms should work Cannot read property 'source' of null
 Harness: the test ran to completion.
 
diff --git a/third_party/feed/README.chromium b/third_party/feed/README.chromium
index 3a3544a..d5a2424 100644
--- a/third_party/feed/README.chromium
+++ b/third_party/feed/README.chromium
@@ -2,7 +2,7 @@
 Short name: feed
 URL: https://chromium.googlesource.com/feed
 Version: 0
-Revision: 7b04f569093e15ecc39b818a89101269ef8d76b5
+Revision: fc251ed7fc1b6b1f86570a61f8b0b0e1970418a0
 License: Apache 2.0
 License File: LICENSE
 Security Critical: yes
diff --git a/third_party/feed/java_sources.gni b/third_party/feed/java_sources.gni
index 9a5f091..c7d3ed5 100644
--- a/third_party/feed/java_sources.gni
+++ b/third_party/feed/java_sources.gni
@@ -117,8 +117,9 @@
   "src/src/main/java/com/google/android/libraries/feed/feedprotocoladapter/internal/transformers/DataOperationTransformer.java",
   "src/src/main/java/com/google/android/libraries/feed/feedprotocoladapter/internal/transformers/FeatureDataOperationTransformer.java",
   "src/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedActionUploadRequestManager.java",
-  "src/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManager.java",
+  "src/src/main/java/com/google/android/libraries/feed/feedrequestmanager/FeedRequestManagerImpl.java",
   "src/src/main/java/com/google/android/libraries/feed/feedrequestmanager/RequestHelper.java",
+  "src/src/main/java/com/google/android/libraries/feed/feedrequestmanager/RequestManagerImpl.java",
   "src/src/main/java/com/google/android/libraries/feed/feedrequestmanager/UploadableActionsRequestBuilder.java",
   "src/src/main/java/com/google/android/libraries/feed/feedrequestmanager/internal/Utils.java",
   "src/src/main/java/com/google/android/libraries/feed/feedsessionmanager/FeedSessionManager.java",
@@ -224,6 +225,7 @@
   "src/src/main/java/com/google/android/libraries/feed/internalapi/modelprovider/TokenCompleted.java",
   "src/src/main/java/com/google/android/libraries/feed/internalapi/modelprovider/TokenCompletedObserver.java",
   "src/src/main/java/com/google/android/libraries/feed/internalapi/protocoladapter/ProtocolAdapter.java",
+  "src/src/main/java/com/google/android/libraries/feed/internalapi/requestmanager/FeedRequestManager.java",
   "src/src/main/java/com/google/android/libraries/feed/internalapi/store/ActionPropertiesMutation.java",
   "src/src/main/java/com/google/android/libraries/feed/internalapi/store/ContentMutation.java",
   "src/src/main/java/com/google/android/libraries/feed/internalapi/store/LocalActionMutation.java",
@@ -232,7 +234,6 @@
   "src/src/main/java/com/google/android/libraries/feed/internalapi/store/Store.java",
   "src/src/main/java/com/google/android/libraries/feed/internalapi/store/StoreListener.java",
   "src/src/main/java/com/google/android/libraries/feed/internalapi/store/UploadableActionMutation.java",
-  "src/src/main/java/com/google/android/libraries/feed/mocknetworkclient/MockPushServer.java",
   "src/src/main/java/com/google/android/libraries/feed/mocknetworkclient/MockServerNetworkClient.java",
   "src/src/main/java/com/google/android/libraries/feed/piet/AdapterFactory.java",
   "src/src/main/java/com/google/android/libraries/feed/piet/AdapterParameters.java",
@@ -312,6 +313,8 @@
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/piet/PietStringFormatter.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/publicapi/menumeasurer/MenuMeasurer.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/publicapi/menumeasurer/Size.java",
+  "src/src/main/java/com/google/android/libraries/feed/sharedstream/publicapi/scroll/ScrollObservable.java",
+  "src/src/main/java/com/google/android/libraries/feed/sharedstream/publicapi/scroll/ScrollObserver.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/removetrackingfactory/StreamRemoveTrackingFactory.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollEvents.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollLogger.java",
@@ -343,7 +346,7 @@
   "src/src/main/java/com/google/android/libraries/feed/testing/conformance/storage/JournalStorageConformanceTest.java",
   "src/src/main/java/com/google/android/libraries/feed/testing/conformance/storage/JournalStorageDirectConformanceTest.java",
   "src/src/main/java/com/google/android/libraries/feed/testing/requestmanager/FakeActionUploadRequestManager.java",
-  "src/src/main/java/com/google/android/libraries/feed/testing/requestmanager/FakeRequestManager.java",
+  "src/src/main/java/com/google/android/libraries/feed/testing/requestmanager/FakeFeedRequestManager.java",
   "src/src/main/java/com/google/android/libraries/feed/testing/host/logging/FakeBasicLoggingApi.java",
   "src/src/main/java/com/google/android/libraries/feed/testing/host/offlineindicator/FakeOfflineIndicatorApi.java",
   "src/src/main/java/com/google/android/libraries/feed/testing/host/scheduler/FakeSchedulerApi.java",
diff --git a/tools/linux/dump-static-initializers.py b/tools/linux/dump-static-initializers.py
index 6c8fd87c..de271dd4 100755
--- a/tools/linux/dump-static-initializers.py
+++ b/tools/linux/dump-static-initializers.py
@@ -104,13 +104,21 @@
   return candidate
 
 
-# Regex matching nm output for the symbols we're interested in.
+# Regex matching nm output for the symbols we're interested in. The two formats
+# we are interested in are _GLOBAL__sub_I_<filename> and _cxx_global_var_initN.
 # See test_ParseNmLine for examples.
 nm_re = re.compile(
-  r'(\S+) (\S+) t ((?:_ZN12)?_GLOBAL__(?:sub_)?I_|__cxx_global_var_init\d*)(.*)'
-)
+    r'''(\S+)\s(\S+)\st\s                # Symbol start address and size
+        (
+          (?:_ZN12)?_GLOBAL__(?:sub_)?I_ # Pattern with filename
+        |
+          __cxx_global_var_init\d*       # Pattern without filename
+        )(.*)                            # capture the filename''',
+    re.X)
 def ParseNmLine(line):
-  """Given a line of nm output, parse static initializers as a
+  """Parse static initializers from a line of nm output.
+
+  Given a line of nm output, parse static initializers as a
   (file, start, size, symbol) tuple."""
   match = nm_re.match(line)
   if match:
@@ -146,7 +154,9 @@
 
 
 def ParseNm(toolchain, binary):
-  """Given a binary, yield static initializers as (file, start, size, symbol)
+  """Yield static initializers for the given binary.
+
+  Given a binary, yield static initializers as (file, start, size, symbol)
   tuples."""
   nm = subprocess.Popen([toolchain + 'nm', '-S', binary],
                         stdout=subprocess.PIPE)
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index a409c66..4631828 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -1182,6 +1182,14 @@
   <int value="5" label="RenameExtensionDialogOther"/>
 </enum>
 
+<enum name="Android.Download.Rename.Result">
+  <int value="0" label="Success"/>
+  <int value="1" label="FailureNameConflict"/>
+  <int value="2" label="FailureNameTooLong"/>
+  <int value="3" label="FailureNameInvalid"/>
+  <int value="4" label="FailureUnavailable"/>
+</enum>
+
 <enum name="Android.DownloadManager.List.Section.Menu.Actions">
   <int value="0" label="START_SELECTING"/>
   <int value="1" label="SHARE_ALL"/>
@@ -33665,6 +33673,7 @@
   <int value="92327255" label="DisplayMoveWindowAccels:disabled"/>
   <int value="93832899" label="NtpCustomizationMenuV2:enabled"/>
   <int value="98134240" label="material-design-ink-drop-animation-speed"/>
+  <int value="99177659" label="OmniboxUICuesForSearchHistoryMatches:disabled"/>
   <int value="103932290" label="show-autofill-type-predictions"/>
   <int value="105046382" label="ParallelDownloading:disabled"/>
   <int value="106840653" label="mus"/>
@@ -34809,6 +34818,7 @@
   <int value="1931309368" label="fill-on-account-select:disabled"/>
   <int value="1932204471" label="SyncPseudoUSSThemes:disabled"/>
   <int value="1932732886" label="OpenVR:enabled"/>
+  <int value="1933282728" label="OmniboxUICuesForSearchHistoryMatches:enabled"/>
   <int value="1936810062" label="WebVrVsyncAlign:enabled"/>
   <int value="1938279796" label="PromosOnLocalNtp:disabled"/>
   <int value="1939413645" label="enable-invalid-cert-collection"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 6a611b05..4f73dba 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -1795,7 +1795,7 @@
 </histogram>
 
 <histogram name="Android.Download.Rename.Dialog.Action"
-    enum="Android.Download.Rename.Dialog.Action">
+    enum="Android.Download.Rename.Dialog.Action" expires_after="M79">
   <owner>hesen@chromium.org</owner>
   <owner>clank-downloads@google.com</owner>
   <summary>
@@ -1804,6 +1804,16 @@
   </summary>
 </histogram>
 
+<histogram name="Android.Download.Rename.Result"
+    enum="Android.Download.Rename.Result" expires_after="M79">
+  <owner>hesen@chromium.org</owner>
+  <owner>clank-downloads@google.com</owner>
+  <summary>
+    Records various error codes when users try to rename a download in a
+    download home, recorded when backend rename callback is compeleted.
+  </summary>
+</histogram>
+
 <histogram name="Android.DownloadManager.Chips.Enabled" units="chips"
     expires_after="2020-01-30">
   <owner>shaktisahu@chromium.org</owner>
@@ -71276,6 +71286,9 @@
 
 <histogram name="Net.SSLVersionInterferenceError" enum="NetErrorCodes"
     expires_after="M77">
+  <obsolete>
+    Removed April 2019.
+  </obsolete>
   <owner>davidben@chromium.org</owner>
   <summary>
     For each detected SSL version interference, what network error the original
@@ -71285,6 +71298,9 @@
 
 <histogram name="Net.SSLVersionInterferenceProbeTrigger" enum="NetErrorCodes"
     expires_after="M77">
+  <obsolete>
+    Removed April 2019.
+  </obsolete>
   <owner>davidben@chromium.org</owner>
   <summary>
     For each SSL version interference probe, what network error triggered it.
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ca.xtb b/ui/chromeos/translations/ui_chromeos_strings_ca.xtb
index 9be52319..6f8732a 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ca.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ca.xtb
@@ -630,7 +630,7 @@
 <translation id="8342318071240498787">Ja existeix un fitxer o un directori amb aquest nom.</translation>
 <translation id="8391950649760071442">Transliteració (emandi → ఏమండీ)</translation>
 <translation id="8395901698320285466">Dimensions</translation>
-<translation id="8400874747056634633">Gestiona l'ús compartit de Plugin VM</translation>
+<translation id="8400874747056634633">Gestiona la compartició amb Plugin VM</translation>
 <translation id="8412586565681117057">Mètode d'introducció ràpida</translation>
 <translation id="8418113698656761985">Teclat romanès</translation>
 <translation id="8432745813735585631">Teclat Colemak nord-americà</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_da.xtb b/ui/chromeos/translations/ui_chromeos_strings_da.xtb
index 0980144..19be68053 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_da.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_da.xtb
@@ -630,7 +630,7 @@
 <translation id="8342318071240498787">Der findes allerede en fil eller en mappe med samme navn.</translation>
 <translation id="8391950649760071442">Translitteration (emandi → ఏమండీ)</translation>
 <translation id="8395901698320285466">Mål</translation>
-<translation id="8400874747056634633">Administrer deling af Plugin VM</translation>
+<translation id="8400874747056634633">Administrer deling med Plugin VM</translation>
 <translation id="8412586565681117057">Hurtig indtastningsmetode</translation>
 <translation id="8418113698656761985">Rumænsk tastatur</translation>
 <translation id="8432745813735585631">Amerikansk (Colemak) tastatur</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_mr.xtb b/ui/chromeos/translations/ui_chromeos_strings_mr.xtb
index 278b7fdd..bf448210 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_mr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_mr.xtb
@@ -67,7 +67,7 @@
 <translation id="174173592514158117">सर्व Play फोल्डर दाखवा</translation>
 <translation id="174937106936716857">एकूण फाईल संख्या</translation>
 <translation id="1775381402323441512">व्हिडिओ माहिती</translation>
-<translation id="180035236176489073">या फायलींमध्ये अॅक्सेस करण्‍यासाठी तुम्ही ऑनलाइन असणे आवश्यक आहे.</translation>
+<translation id="180035236176489073">या फायलींमध्ये ॲक्सेस करण्‍यासाठी तुम्ही ऑनलाइन असणे आवश्यक आहे.</translation>
 <translation id="1807938677607439181">सर्व फायली</translation>
 <translation id="1810764548349082891">कोणतेही पूर्वावलोकन उपलब्ध नाही</translation>
 <translation id="1815861158988915678"><ph name="BEGIN_BOLD" />ताकीद:<ph name="END_BOLD" />  या फायली तात्पुरत्या आहेत आणि डिस्क स्थान मुक्त करण्‍यासाठी कदाचित स्वयंचलितपणे हटविल्या जातील.  <ph name="BEGIN_LINK" />अधिक जाणून घ्या<ph name="END_LINK" /></translation>
@@ -189,7 +189,7 @@
 <translation id="3241720467332021590">आयरिश</translation>
 <translation id="3245321423178950146">अज्ञात कलाकार</translation>
 <translation id="3252266817569339921">फ्रेंच</translation>
-<translation id="3254434849914415189"><ph name="FILE_TYPE" /> फायलींसाठी डीफॉल्ट अॅप्लिकेशन निवडा:</translation>
+<translation id="3254434849914415189"><ph name="FILE_TYPE" /> फायलींसाठी डीफॉल्ट ॲप्लिकेशन निवडा:</translation>
 <translation id="3264582393905923483">संदर्भ</translation>
 <translation id="3280431534455935878">तयारी करीत आहे</translation>
 <translation id="3280987981688031357">व्हिनाइल रेकॉर्ड</translation>
@@ -259,7 +259,7 @@
 <translation id="4193154014135846272">Google दस्तऐवज</translation>
 <translation id="4195249722193633765">Linux (बीटा) सह ॲप इंस्टॉल करा</translation>
 <translation id="4197674956721858839">झिप निवड</translation>
-<translation id="421017592316736757">या फाइलमध्ये अॅक्सेस करण्‍यासाठी तुम्ही ऑनलाइन असणे आवश्यक आहे.</translation>
+<translation id="421017592316736757">या फाइलमध्ये ॲक्सेस करण्‍यासाठी तुम्ही ऑनलाइन असणे आवश्यक आहे.</translation>
 <translation id="4212740939091998969">"<ph name="FOLDER_NAME" />" नावाचे फोल्डर आधीच अस्तित्वात आहे. कृपया वेगळे नाव निवडा.</translation>
 <translation id="4215448920900139318"><ph name="FILE_COUNT" /> चा बॅकअप घेत आहे</translation>
 <translation id="426015154560005552">अरेबिक कीबोर्ड</translation>
@@ -519,7 +519,7 @@
 <translation id="719009910964971313">यूएस प्रोग्रामर द्वोराक कीबोर्ड</translation>
 <translation id="7191454237977785534">या फॉरमॅटमध्ये फाइल सेव्ह करा</translation>
 <translation id="7222624196722476520">बल्गेरियन Phonetic कीबोर्ड</translation>
-<translation id="7248671827512403053">अॅप्लिकेशन</translation>
+<translation id="7248671827512403053">ॲप्लिकेशन</translation>
 <translation id="7268659760406822741">उपलब्ध सेवा</translation>
 <translation id="7283041136720745563">तुमचा Google ड्राइव्ह कोटा पुरेसा मोठा नाही.</translation>
 <translation id="7295662345261934369">इतरांशी शेअर करा</translation>
diff --git a/ui/strings/translations/ui_strings_da.xtb b/ui/strings/translations/ui_strings_da.xtb
index b0d426f..3f79c00 100644
--- a/ui/strings/translations/ui_strings_da.xtb
+++ b/ui/strings/translations/ui_strings_da.xtb
@@ -110,7 +110,7 @@
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5266161281976477809">Trekant til at vise eller skjule indhold</translation>
 <translation id="5278860589123563674">Afsendelsen mislykkedes</translation>
-<translation id="528468243742722775">End</translation>
+<translation id="528468243742722775">Afslut</translation>
 <translation id="5329858601952122676">&amp;Slet</translation>
 <translation id="5395308026110844773"><ph name="DRAGGED_APP_NAME" /> oven på <ph name="IN_PLACE_APP" />, slip for at oprette mappe.</translation>
 <translation id="5463830097259460683">Emojis og symboler</translation>
diff --git a/ui/views/bubble/bubble_dialog_delegate_view.cc b/ui/views/bubble/bubble_dialog_delegate_view.cc
index 34969ad..bbcd9e7 100644
--- a/ui/views/bubble/bubble_dialog_delegate_view.cc
+++ b/ui/views/bubble/bubble_dialog_delegate_view.cc
@@ -190,6 +190,17 @@
   return kViewClassName;
 }
 
+bool BubbleDialogDelegateView::AcceleratorPressed(
+    const ui::Accelerator& accelerator) {
+  if (accelerator.key_code() == ui::VKEY_DOWN ||
+      accelerator.key_code() == ui::VKEY_UP) {
+    // Move the focus up or down.
+    GetFocusManager()->AdvanceFocus(accelerator.key_code() != ui::VKEY_DOWN);
+    return true;
+  }
+  return DialogDelegateView::AcceleratorPressed(accelerator);
+}
+
 void BubbleDialogDelegateView::OnWidgetClosing(Widget* widget) {
   // To prevent keyboard focus traversal issues, the anchor view's
   // kAnchoredDialogKey property is cleared immediately upon Close(). This
@@ -454,6 +465,12 @@
                     : nullptr);
 }
 
+void BubbleDialogDelegateView::EnableUpDownKeyboardAccelerators() {
+  // The arrow keys can be used to tab between items.
+  AddAccelerator(ui::Accelerator(ui::VKEY_DOWN, ui::EF_NONE));
+  AddAccelerator(ui::Accelerator(ui::VKEY_UP, ui::EF_NONE));
+}
+
 void BubbleDialogDelegateView::HandleVisibilityChanged(Widget* widget,
                                                        bool visible) {
   if (widget == GetWidget()) {
diff --git a/ui/views/bubble/bubble_dialog_delegate_view.h b/ui/views/bubble/bubble_dialog_delegate_view.h
index 0d4340db..887bc541 100644
--- a/ui/views/bubble/bubble_dialog_delegate_view.h
+++ b/ui/views/bubble/bubble_dialog_delegate_view.h
@@ -11,6 +11,7 @@
 #include "base/macros.h"
 #include "build/build_config.h"
 #include "ui/accessibility/ax_enums.mojom.h"
+#include "ui/base/accelerators/accelerator.h"
 #include "ui/views/bubble/bubble_border.h"
 #include "ui/views/view_tracker.h"
 #include "ui/views/widget/widget.h"
@@ -25,6 +26,10 @@
 class Rect;
 }
 
+namespace ui {
+class Accelerator;
+}  // namespace ui
+
 namespace views {
 
 class BubbleFrameView;
@@ -54,6 +59,7 @@
   ClientView* CreateClientView(Widget* widget) override;
   NonClientFrameView* CreateNonClientFrameView(Widget* widget) override;
   const char* GetClassName() const override;
+  bool AcceleratorPressed(const ui::Accelerator& accelerator) override;
 
   // WidgetObserver:
   void OnWidgetClosing(Widget* widget) override;
@@ -164,6 +170,9 @@
 
   BubbleFrameView* GetBubbleFrameView() const;
 
+  // Allows the up and down arrow keys to tab between items.
+  void EnableUpDownKeyboardAccelerators();
+
  private:
   friend class BubbleBorderDelegate;
   friend class BubbleWindowTargeter;
diff --git a/ui/webui/resources/cr_polymer_resources.grdp b/ui/webui/resources/cr_polymer_resources.grdp
index 8ec07eb4a..f3b5b550 100644
--- a/ui/webui/resources/cr_polymer_resources.grdp
+++ b/ui/webui/resources/cr_polymer_resources.grdp
@@ -47,6 +47,8 @@
   <structure name="IDR_WEBUI_JS_CR_UI_FOCUS_WITHOUT_INK"
              file="js/cr/ui/focus_without_ink.js" type="chrome_html"
              compress="gzip" />
+  <structure name="IDR_WEBUI_JS_CRISPER_LOADER"
+             file="js/crisper_loader.js" type="chrome_html" compress="gzip" />
   <structure name="IDR_WEBUI_JS_FIND_SHORTCUT_BEHAVIOR"
              file="js/find_shortcut_behavior.js" type="chrome_html"
              compress="gzip" />
diff --git a/ui/webui/resources/js/crisper_loader.js b/ui/webui/resources/js/crisper_loader.js
new file mode 100644
index 0000000..81a9c14
--- /dev/null
+++ b/ui/webui/resources/js/crisper_loader.js
@@ -0,0 +1,26 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview
+ * Unlike when using native HTML Imports, the HTML Imports polyfill does not
+ * block execution of a script until all files have been imported, resulting in
+ * errors if the script references functions (e.g. Polymer()) from files that
+ * have not been imported yet. crisper_loader.js is used as a replacement for
+ * the main script in optimized Web UI pages that are set to use the polyfill
+ * instead of native imports, and is responsible for replacing itself with the
+ * main JS file after the polyfill is ready.
+ */
+
+(function() {
+const thisScript = document.currentScript;
+const scriptName = thisScript.dataset.scriptName;
+const parentEl = thisScript.parentElement;
+const script = document.createElement('script');
+script.setAttribute('src', scriptName);
+HTMLImports.whenReady(() => {
+  parentEl.appendChild(script);
+  thisScript.remove();
+});
+})();